How To Add SOS Button To Your Meshtastic Device

Transform your ESP32 Lora Meshtastic Node with an SOS Button using this comprehensive DIY guide. Easily integrate the SOS button into your device with step-by-step instructions. Suitable for ESP32-based devices with minor adjustments.

How To Add SOS Button To Your Meshtastic Device
Photo by Marcel Eberle / Unsplash

In this guide, we'll walk you through adding an SOS button to your existing ESP32 Lora Meshtastic Node. This guide will work also for any ESP32-based device with some modifications.

Meshtastic DIY - How To Build Your Own Meshtastic Node ESP32 & Lora Radio
“Create your own Meshtastic LoRa Node with our easy DIY guide. A complete step-by-step for building your customized mesh communication system.

Hardware

Now let's get started with the hardware you need:

📢
When ordering from AliExpress, consider consolidating your purchases from a single seller to maximize savings. For instance, if you're purchasing an antenna from seller X, check if they also offer an IPEX to SMA-K cable. By sourcing all your items from one seller, you can significantly reduce shipping costs.

Assembly

The hardware is all ready and set now to the wiring. For this, we will follow the following Schematics.

Tactile Push Button Switch - DIY ESP32 Meshtastic Node

Tactile Push Button Switch - DIY ESP32
  • Button Leg 1-> GPIO 15
  • Button Leg 2-> GND
💡
If you're using a different ESP32-based board like Heltec V3 Lora, TTGo, or T-Beam, simply select an available GPIO pin that accepts digital signals, supports pull-up or pull-down resistors, and isn't already in use. Then, follow the guide using the chosen pin, disregarding the specific pin number mentioned in the instructions
Leg 1 and Leg 2 refer to the two legs of the button, regardless of their orientation on either side of the button. These legs should be parallel to each other; otherwise, you risk damaging your board due to incorrect wiring.
💡
Capacitors are good practice for decoupling one part of a circuit from another

Once all the wiring is completed. Double-check your connections and ensure they match the suggested layout before proceeding to the next steps.

Meshtastic Settings

On the Sensor Device

  1. Open Meshtastic App (IOS for this guide)
  2. Go to the Settings page
  3. In the module configuration section go to Detection Sensor
  4. Toggle the switch to enable Enable
  5. Give the sensor/button a name, We named it SOS.
  6. Set GPIO PIN to monitor to PIN 15
  7. Lastly, press Save
💡
Detection Trigger High is off for this button since it pulls low when it is pressed and high on idle

On the Client Device

  1. Open Meshtastic App (IOS for this guide)
  2. Go to the Settings page
  3. In the module configuration section go to Detection Sensor
  4. Toggle the switch to enable Enable
  5. Right under the toggle select Client this time.
  6. Lastly, press Save

Once this is set up, you'll receive messages on the public channel whenever the button is pressed. Consider customizing the limit in the settings if you wish to have the button transmitting more frequently. Saturating the network could potentially lead to issues with sending and receiving data. Check out our Channel Utilization post for more information

Understanding and Optimizing Channel Utilization in Meshtastic Devices
Channel utilization is the key to efficient communication. Whether you’re engaged in long-range communication, participating in a Helium network, or using other compatible devices like LoRaWAN, monitoring and optimizing channel utilization is crucial for a healthy network.

In conclusion, this comprehensive guide ensures seamless integration of an SOS Button into your ESP32 Lora or any other ESP32-based Meshtastic Node, extending its capabilities. The instructions provided are for ESP32, yet you can also apply to any other ESP32-based board like Heltec V3 Lora, TTGo, or T-Beam device with minor adjustments. Remember to be mindful of network usage to optimize data transmission. This guide not only enhances your device with a SOS button but also opens up possibilities for incorporating other functionalities. Happy tinkering!