

The Button 12x12 is a tactile push-button switch with a 12mm x 12mm footprint. It is widely used in electronic devices for user input, such as triggering actions, navigating menus, or resetting systems. This compact and durable switch is designed for through-hole mounting and provides a reliable tactile response when pressed.








The Button 12x12 is a simple yet versatile component. Below are its key technical details:
| Parameter | Value |
|---|---|
| Dimensions | 12mm x 12mm |
| Actuation Force | ~160-260 gf |
| Operating Voltage | 12V DC (maximum) |
| Operating Current | 50mA (maximum) |
| Contact Resistance | ≤ 100 mΩ |
| Insulation Resistance | ≥ 100 MΩ at 100V DC |
| Operating Temperature | -25°C to +70°C |
| Lifespan | ~100,000 cycles |
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: When the button is not pressed, the two pairs of pins are electrically isolated. When pressed, the internal connections close, creating a short circuit between Pin 1 and Pin 3 (and their respective pairs).
The Button 12x12 can be easily interfaced with an Arduino UNO for user input. Below is an example circuit and code:
// Define the pin connected to the button
const int buttonPin = 2;
// Define the pin for the onboard LED
const int ledPin = 13;
void setup() {
pinMode(buttonPin, INPUT); // Set the button pin as input
pinMode(ledPin, OUTPUT); // Set the LED pin as output
}
void loop() {
// Read the button state
int buttonState = digitalRead(buttonPin);
// If the button is pressed, turn on the LED
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH); // Turn on the LED
} else {
digitalWrite(ledPin, LOW); // Turn off the LED
}
}
Note: This code assumes the use of a pull-down resistor. If using a pull-up resistor, adjust the logic accordingly.
Button Not Responding:
Erratic Behavior:
Short Circuit:
Q: Can I use the Button 12x12 with a 3.3V system?
A: Yes, the button can be used with 3.3V systems as long as the current does not exceed 50mA.
Q: How do I debounce the button in software?
A: You can use a delay or a state-checking algorithm in your code to filter out noise caused by bouncing. For example, wait 10-50ms after detecting a button press before registering the input.
Q: Can I use the Button 12x12 for high-power applications?
A: No, the button is designed for low-power applications. For high-power circuits, use a relay or transistor to handle the load.
By following this documentation, you can effectively integrate the Button 12x12 into your projects and troubleshoot any issues that arise.