Remote Hardware Config Parameters
Remote Hardware Module Availability in Clients
Android
Apple
CLI
Web
Remote Hardware Module Operation
Supported Operations
Setup
-
Connect the local device via USB
-
Enable the Remote Hardware module
| meshtastic --set remote_hardware.enabled true |
-
Create a GPIO channel:
| meshtastic --ch-add gpio |
-
Verify the channel has been created, then copy the long “Complete URL” that includes all channels on the device.
| meshtastic --info |
-
Connect the remote device via USB, or access it through the mesh using the remote admin feature.
-
Enable the Remote Hardware module on the remote device.
| meshtastic --set remote_hardware.enabled true |
-
Configure the remote device to join the GPIO channel you previously created.
| meshtastic --seturl theurlyoucopiedinstep3 |
Masks
| >>> for i in range(1,45): ... print(f'GPIO:{i} mask:{hex(2**i)}') ... GPIO:1 mask:0x2 GPIO:2 mask:0x4 GPIO:3 mask:0x8 GPIO:4 mask:0x10 GPIO:5 mask:0x20 GPIO:6 mask:0x40 GPIO:7 mask:0x80 GPIO:8 mask:0x100 GPIO:9 mask:0x200 GPIO:10 mask:0x400 GPIO:11 mask:0x800 GPIO:12 mask:0x1000 GPIO:13 mask:0x2000 GPIO:14 mask:0x4000 GPIO:15 mask:0x8000 GPIO:16 mask:0x10000 GPIO:17 mask:0x20000 GPIO:18 mask:0x40000 GPIO:19 mask:0x80000 GPIO:20 mask:0x100000 GPIO:21 mask:0x200000 GPIO:22 mask:0x400000 GPIO:23 mask:0x800000 GPIO:24 mask:0x1000000 GPIO:25 mask:0x2000000 GPIO:26 mask:0x4000000 GPIO:27 mask:0x8000000 GPIO:28 mask:0x10000000 GPIO:29 mask:0x20000000 GPIO:30 mask:0x40000000 GPIO:31 mask:0x80000000 GPIO:32 mask:0x100000000 GPIO:33 mask:0x200000000 GPIO:34 mask:0x400000000 GPIO:35 mask:0x800000000 GPIO:36 mask:0x1000000000 GPIO:37 mask:0x2000000000 GPIO:38 mask:0x4000000000 GPIO:39 mask:0x8000000000 GPIO:40 mask:0x10000000000 GPIO:41 mask:0x20000000000 GPIO:42 mask:0x40000000000 GPIO:43 mask:0x80000000000 GPIO:44 mask:0x100000000000 |
Managing GPIOs through the Python CLI
Writing a GPIO
|
meshtastic --port /dev/ttyUSB0 --gpio-wrb 4 1 --dest 28979058 |
Reading a GPIO
| meshtastic --port /dev/ttyUSB0 --gpio-rd 0x10 --dest 28979058 # Connected to radio # Reading GPIO mask 0x10 from !28979058 # GPIO read response gpio_value=16 |
Watching for GPIO Changes
| meshtastic --port /dev/ttyUSB0 --gpio-watch 0x10 --dest 28979058 # Connected to radio # Watching GPIO mask 0x10 from !28979058 # Received RemoteHardware typ=GPIOS_CHANGED, gpio_value=16 # Received RemoteHardware typ=GPIOS_CHANGED, gpio_value=0 # Received RemoteHardware typ=GPIOS_CHANGED, gpio_value=16 # < press ctrl-c to exit > |
GPIO Operation Testing
Requirements
-
2× Meshtastic devices (one connected to a local computer, the other simply powered and used for the LED connection)
-
2× wires (commonly black for ground and yellow for signal, though any colors may be used)
-
1× LED
-
1× 220 Ω resistor (optional but recommended)
-
1× breadboard (optional)
Preparation
-
Disconnect the remote device from its power source (battery or USB).
-
Attach the resistor to the longer (positive) lead of the LED, then connect the yellow wire to the other end of the resistor.
-
Connect the opposite end of the yellow wire to a safe GPIO pin (for example, on TLoraV1 you can use GPIO21).
-
Connect the black ground wire from the device’s ground pin (on TLoraV1, this is the end pin next to the RST button) to the shorter (negative) lead of the LED.
-
Restore power to the device.
Validation

