AI

The **M5TS-31-R/BL** is a high-performance, illuminated **Tactile Switch** (Tact Switch) commonly used in control panels, automotive interfaces, and consumer electronics. It is part of a series known for its compact surface-mount design and integrated LED feedback.
---
### ## 1. Technical Specifications
Below are the primary electrical and physical characteristics of the M5TS-31-R/BL:
| Parameter | Specification |
| :--- | :--- |
| **Switch Type** | Momentary Tactile Switch |
| **Mounting Type** | Surface Mount (SMT/SMD) |
| **Circuit** | SPST-NO (Single Pole Single Throw, Normally Open) |
| **Illumination Color** | Red (R) / Blue (BL) Dual-Color or Bi-color option |
| **Operating Force** | Typically 160gf to 250gf (Standard tactile feel) |
| **Contact Rating** | 50mA @ 12V DC |
| **Travel Distance** | ~0.25mm |
| **Operating Life** | 100,000 to 500,000 cycles |
---
### ## 2. Pin Configuration and Internal Logic
The device typically features a 4-pin or 6-pin layout to accommodate both the mechanical switch and the LED anode/cathode connections.
* **Switch Pins:** Two pins provide the contact closure when the button is pressed.
* **LED Pins:** Dedicated pins for the Red and Blue LEDs. Depending on the specific wiring, these may share a common cathode or anode.
### ## 3. Key Electronic Features
* **Dual-Color LED Integration:** The "R/BL" suffix indicates Red and Blue illumination. This allows for status signaling (e.g., Red for "Off/Error" and Blue for "On/Active").
* **Tactile Feedback:** Engineered with a metal dome contact that provides a "clicky" physical sensation to the user, ensuring the press was registered.
* **Low Contact Resistance:** Usually below 100mΩ, ensuring reliable signal transmission to microcontrollers (MCUs).
* **SMD Design:** Designed for automated "pick and place" assembly and reflow soldering.
### ## 4. Application Example (Code Snippet)
If connecting this switch to an Arduino or ESP32, you would typically treat the switch as a digital input with a pull-up resistor and the LEDs as PWM outputs.
```cpp
// Example: Basic logic for M5TS-31-R/BL
const int SWITCH_PIN = 2;
const int RED_LED = 3;
const int BLUE_LED = 4;
void setup() {
pinMode(SWITCH_PIN, INPUT_PULLUP);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
}
void loop() {
bool isPressed = digitalRead(SWITCH_PIN) == LOW;
if (isPressed) {
digitalWrite(BLUE_LED, HIGH); // Light Blue when pressed
digitalWrite(RED_LED, LOW);
} else {
digitalWrite(BLUE_LED, LOW);
digitalWrite(RED_LED, HIGH); // Light Red when idle
}
}
```
---
- ⤷What is the footprint size (dimensions) of the M5TS series?
- ⤷ How do I calculate the current-limiting resistor for the Red/Blue LEDs?
- ⤷ Is the M5TS-31-R/BL waterproof or dust-rated?