Keyboards, Buttons, and Input Devices
Adding physical input to a LoRa node enables sending messages and navigating menus without a phone. Input options range from simple push buttons to full QWERTY keyboards.
Canned Messages with a Rotary Encoder
The Meshtastic Canned Messages module supports a rotary encoder for scrolling through preset messages and a push button for sending. This is the most practical hardware UI upgrade for a fixed node.
Rotary Encoder Wiring (typical)
Encoder CLK (A) → GPIO 39
Encoder DT (B) → GPIO 40
Encoder SW (button) → GPIO 41
Encoder VCC → 3.3V
Encoder GND → GND
GPIO pin numbers are board-specific. The KY-040 rotary encoder module (~$1-2) is the most common choice.
Configuration
meshtastic --set canned_message.enabled true
meshtastic --set canned_message.inputbroker_pin_a 39
meshtastic --set canned_message.inputbroker_pin_b 40
meshtastic --set canned_message.inputbroker_event_press MSG_INPUT_EVENT_SELECT
meshtastic --set canned_message.messages "OK|On my way|At destination|Need help|ETA 5 min"
T-Deck: Integrated QWERTY Device
The LilyGO T-Deck is a complete Meshtastic/LoRa device with an integrated small QWERTY keyboard, color TFT touchscreen, trackball, LoRa radio, and optional GPS. It's the closest thing to a dedicated LoRa messenger device:
- Native keyboard input for typing full messages without a phone
- Color display shows message history, node list, and map
- Runs Meshtastic firmware with full touchscreen UI
- Built-in 2000 mAh battery; approximately 8-12 hours active use
- Price: approximately $50-70
- Limitation: higher power consumption than OLED nodes; not ideal for solar/battery long-term deployment
WisBlock Input Module (RAK14001/RAK14004)
For WisBlock-based nodes, RAKwireless offers input modules that provide RGB LEDs and push buttons in a standardized form factor. The RAK14004 includes a 4x4 keypad interface. These mount directly to the WisBlock base board without wiring.
Simple Button for Alert Sending
A momentary push button connected to a user-accessible GPIO pin can trigger the Meshtastic alert feature — pressing the button sends a preset alert message to the channel. Useful for panic buttons, check-in buttons, or man-down alerts in safety applications.
meshtastic --set canned_message.send_bell true
With this setting and the button wired to the configured GPIO, one button press sends the first canned message immediately, without needing to scroll through the list.