Integrating a Physical Interface: Connecting an EC11 Rotary Encoder to a Heltec V3 (this works similar with other meshtastic devices)
While Meshtastic devices are primarily managed via smartphone apps or web interfaces, adding a physical input method directly to the node transforms it into a standalone communication tool. A rotary encoder allows you to navigate menus, change channels, and manage settings without needing an external device.
This guide focuses on the Heltec V3 paired with a standard EC11 rotary encoder (the version without a pre-soldered PCB baseboard).
Required Hardware
* Heltec Automation WiFi LoRa 32 (V3)
* EC11 Rotary Encoder (5-pin variety: 3 for the encoder, 2 for the push-button)
* Hook-up Wire (26-28 AWG recommended)
* Soldering Iron and Solder
Wiring Diagram and Pinout
The EC11 encoder typically has two pins on one side (for the momentary push-switch) and three pins on the other (for the rotary quadrature signals). Because we are using an encoder without a baseboard, you must ensure your wiring accounts for the Heltec V3’s specific GPIO availability.


Pin Mapping Table
| Encoder Pin | Function | Heltec V3 GPIO |
|---|---|---|
| A (Left) | Rotary Signal | GPIO 41 |
| C (Center) | Ground (GND) | GND |
| B (Right) | Rotary Signal | GPIO 42 |
| SW1 | Switch Terminal 1 | GPIO 46 |
| SW2 | Switch Terminal 2 | GND |
Note: The Heltec V3 uses internal pull-up resistors for these pins, so external resistors are generally not required when using standard Meshtastic firmware configurations.
Firmware Configuration
Once the hardware is wired, you must define the pins within the Meshtastic software. This is most easily accomplished via the Meshtastic Web Client or the Android/iOS App.
1. Accessing Module Settings
Navigate to the Radio Configuration section and locate the Canned Message or External Notification modules if applicable, but specifically, we are looking for the Module Config -> Canned Message or Input settings depending on your firmware version.
2. Enabling the Input
* Go to Module Config.
* Select Canned Message (or External Hardware in newer builds).
* Set Rotary Encoder enabled to On.
* Input the following GPIO values:
* GPIO Encoder A: 41
* GPIO Encoder B: 42
* GPIO Press: 46
3. Screen Settings
Ensure your display is active under Display Config. The rotary encoder interacts directly with the screen timeout and menu cycling.
Navigation and Menu Names
After saving the settings and rebooting the node, the encoder will be active. Use the following interactions to navigate the Heltec V3 interface:
* Rotate Left/Right: Cycles through the primary info screens (Node List, Mesh Status, GPS Data).
* Short Press: Enters the Main Menu.
* Rotate (Inside Menu): Moves the selection highlight up or down.
* Short Press (Inside Menu): Confirms the selection (e.g., Selecting a node to send a canned message).
* Long Press: Usually functions as a Back command or exits the current sub-menu.
Troubleshooting
Reversed Direction
If turning the knob clockwise moves the menu selection upward instead of downward, you do not need to resolder. Simply swap the GPIO numbers for Encoder A and Encoder B in the software configuration.
Ghosting or Skips
Ensure the GND connection is shared between the rotary pins and the switch pins. If the encoder feels "bouncy" (skipping menu items), check for cold solder joints on the small EC11 terminals, as these are prone to heat-wicking.
You can buy a case for SCOUT V1 here to use a rotary encoder with your Heltec v3 or v4 to have a fully standalone device or buy the fully assembled SCOUT with a tuned antenna.