

The Button 12x12 is a tactile push-button switch with a square footprint of 12mm x 12mm. It is designed for momentary user input in electronic circuits and devices. When pressed, the button completes an electrical circuit, allowing current to flow. This component is widely used in applications such as control panels, DIY electronics projects, and embedded systems.








The Button 12x12 is a simple yet versatile component. Below are its key technical details:
| Parameter | Value |
|---|---|
| Dimensions | 12mm x 12mm |
| Actuation Type | Momentary (push-to-make) |
| Operating Voltage | 3.3V to 12V (typical) |
| Maximum Current | 50mA |
| Contact Resistance | ≤ 100mΩ |
| Insulation Resistance | ≥ 100MΩ |
| Operating Force | 160gf ± 50gf |
| Travel Distance | 0.25mm ± 0.1mm |
| Operating Temperature | -25°C to +85°C |
| Lifespan | 100,000 cycles (typical) |
The Button 12x12 has four pins arranged in a square configuration. The pins are internally connected in pairs, as shown below:
| Pin Number | Description |
|---|---|
| Pin 1 | Connected to Pin 2 (internally) |
| Pin 2 | Connected to Pin 1 (internally) |
| Pin 3 | Connected to Pin 4 (internally) |
| Pin 4 | Connected to Pin 3 (internally) |
Note: Pins 1 and 2 form one terminal, while Pins 3 and 4 form the other terminal. When the button is pressed, the two terminals are electrically connected.
Below is an example of how to connect the Button 12x12 to an Arduino UNO to toggle an LED:
// Define pin numbers
const int buttonPin = 2; // Button connected to digital pin 2
const int ledPin = 13; // LED connected to digital pin 13
// Variable to store button state
int buttonState = 0;
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // Set button pin as input with internal pull-up
pinMode(ledPin, OUTPUT); // Set LED pin as output
}
void loop() {
// Read the state of the button
buttonState = digitalRead(buttonPin);
// If button is pressed (LOW state due to pull-up resistor)
if (buttonState == LOW) {
digitalWrite(ledPin, HIGH); // Turn on the LED
} else {
digitalWrite(ledPin, LOW); // Turn off the LED
}
}
Button Not Responding:
Button Bouncing:
LED Stays ON/OFF in Arduino Circuit:
Button Feels Stiff or Unresponsive:
Q1: Can I use the Button 12x12 with a 5V power supply?
A1: Yes, the Button 12x12 is compatible with 5V systems, which are common in microcontroller projects.
Q2: Do I need to use all four pins?
A2: No, you only need to use one pin from each terminal (e.g., Pin 1 and Pin 3). The other pins are internally connected.
Q3: How do I debounce the button in software?
A3: You can use a delay or a state-change detection algorithm in your code to debounce the button.
Q4: Can this button handle AC signals?
A4: The Button 12x12 is primarily designed for low-voltage DC applications. Using it with AC signals is not recommended.
By following this documentation, you can effectively integrate the Button 12x12 into your electronic projects!