Skip to main content

Serial communication module


This is a simple interface to send messages over the mesh network by sending strings over a serial port.

Default is to use RX GPIO 16 and TX GPIO 17.

Basic Usage:

  1. Enable the module by setting serial_module_enabled to 1.
  2. Set the pins (serial_module_rxd / serial_module_rxd) for your preferred RX and TX GPIO pins. On tbeam boards it is recommended to use:
    • RXD 35
    • TXD 15
  3. Set serial_module_timeout to the amount of time to wait before we consider your packet as "done".
  4. (Optional) In serial_module.h set the port to PortNum_TEXT_MESSAGE_APPif you want to send messages to/from the general text message channel.
  5. Connect to your device over the serial interface at 38400 8N1.
  6. Send a packet up to 240 bytes in length. This will get relayed over the mesh network.
  7. (Optional) Set serial_module_echo to 1 and any message you send out will be echoed back to your device.

The device must be restarted after the settings have been changed for the module to take effect.

TODO (in this order):

  • Define a verbose RX mode to report on mesh and packet information.

This won't happen any time soon.


Configuration details are available on the Device Settings pages. Configuring the Serial Module requires configuring the following modules:

Known Problems

  • Until the module is initialized by the startup sequence, the TX pin is in a floating state. Device connected to that pin may see this as "noise".
  • Will not work on NRF and the Linux device targets.