Skip to main content

Input Broker

warning

GPIO access is fundamentally dangerous because invalid options can physically damage or destroy your hardware. Ensure that you fully understand the schematic for your particular device before trying this as we do not offer a warranty. Use at your own risk.

important
The name of ths option changed between Meshtastic 1.2 and 1.3. This documentaton already reflects the 1.3 syntax. Please substitute 'inputbroker_' prefix with 'rotary1_' to get the 1.2 compatible command name.
note

This module requires attaching a peripheral accessory to your device. It will not work without one.

Overview

Meshtastic supports hardwired rotary encoders as input devices. Currently, one rotary encoder (rotary1) is defined, but later more rotary encoders can be added (if needed) the same way.

tip

Once module settings are changed, a reset is required for them to take effect.

Settings

SettingAcceptable ValuesDefault
inputbroker_enabledtrue, falsefalse
inputbroker_event_cwInputEventChar(not defined)
inputbroker_event_ccwInputEventChar(not defined)
inputbroker_event_pressInputEventChar(not defined)
inputbroker_pin_ainteger(not defined)
inputbroker_pin_binteger(not defined)
inputbroker_pin_pressinteger(not defined)

inputbroker_enabled

Enable the rotary encoder #1

Enable/Disable rotary1

Enable rotary1
meshtastic --set inputbroker_enabled true
Disable rotary1
meshtastic --set inputbroker_enabled true

inputbroker_event_cw

Generate input event on CW of this kind.

tip

For using with CannedMessageModule you must choose value KEY_UP here.

Specify rotary1 event cw

Set rotary1 event cw to 'KEY_UP'
meshtastic --set inputbroker_event_press KEY_UP
Unset rotary1 event cw
meshtastic --set inputbroker_event_press ""

inputbroker_event_ccw

Generate input event on CCW of this kind.

tip

For using with CannedMessageModule you must choose value KEY_DOWN here.

Specify rotary1 event ccw

Set rotary1 event ccw to 'KEY_DOWN'
meshtastic --set inputbroker_event_ccw KEY_DOWN
Unset rotary1 event ccw
meshtastic --set inputbroker_event_ccw ""

inputbroker_event_press

Generate input event on Press of this kind.

tip

For using with CannedMessageModule you must choose value KEY_SELECT here.

Specify rotary1 event press

Set rotary1 event press to 'KEY_SELECT'
meshtastic --set inputbroker_event_press KEY_SELECT
Unset rotary1 event press
meshtastic --set inputbroker_event_press ""

inputbroker_pin_a

GPIO pin for rotary encoder A port.

caution

To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.

Specify rotary1 pin a

note

Replace GPIO below with the GPIO number from hardware setup.

Specify rotary1 pin a
meshtastic --set inputbroker_pin_a GPIO

inputbroker_pin_b

GPIO pin for rotary encoder B port.

caution

To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.

Specify rotary1 pin b

note

Replace GPIO below with the GPIO number from hardware setup.

Specify rotary1 pin b
meshtastic --set inputbroker_pin_b GPIO

inputbroker_pin_press

GPIO pin for rotary encoder Press port.

caution

To prevent damaging your device, double check your device's schematics before attaching to the GPIO pins and setting this value.

Specify rotary1 pin press

note

Replace GPIO below with the GPIO number from hardware setup.

Specify rotary1 pin press
meshtastic --set inputbroker_pin_press GPIO

Details

Configuring the rotary encoder module require attaching the compatible hardware.

Examples

Configure rotary encoder for Canned Message Module

note

Replace each GPIO (x3) below with the GPIO numbers from hardware setup.

Canned Message Module - Required Rotary Encoder Module Settings
meshtastic --set inputbroker_pin_a GPIO
meshtastic --set inputbroker_pin_b GPIO
meshtastic --set inputbroker_pin_press GPIO
meshtastic --set inputbroker_event_cw KEY_UP
meshtastic --set inputbroker_event_ccw KEY_DOWN
meshtastic --set inputbroker_event_press KEY_SELECT
meshtastic --set inputbroker_enabled True