Help with serial module transmit/receive text message on TBeam

I’m trying to get basic text message transmit/receive working with the serial module on TBeam. I am trying to enable a microcontroller to send short text messages via a serial interface.

Basically I’m just trying to reproduce this functionality (from the python CLI):

--sendtext "Hello Mesh!"

I can make the python CLI work (sends the message to the other tbeam), but I cannot get anything working via a direct serial connection.

The best I can find out is that everything broke with firmware 1.3x and this might be a feature that is not working currently.

My config is:

Module preferences: { "mqtt": {}, "serial": { "enabled": true, "echo": true, "rxd": 35, "txd": 15, "baud": "BAUD_38400", "timeout": 250, "mode": "TEXTMSG" }, "externalNotification": {}, "rangeTest": {}, "telemetry": { "deviceUpdateInterval": 900, "environmentUpdateInterval": 900 }, "cannedMessage": {} }

I have tried various settings for baud. I can see the characters I type show up in the terminal. I can observe serial data at the TX/RX pins on the module (15/35 respectively), but I can’t get anything out of the module, and I can’t successfully send any messages no matter what mode I set serial.mode to (I have tried protobuf format from here but that reference appears to be incomplete).

I’ve also tried recompiling the firmware with the (rather excellent) vscode / platformio source package, and changing the defaults defined in SerialModule.cpp around line 50 directly, but I don’t yet understand the codebase enough to do anything meaningful with it.

Does anybody have any suggestions for how to make the serial module work? Are there any other modules (preferably with GPS) that it is known to work on with the latest firmware (1.3.41 I think is the latest?)

perhaps this helps:

Thanks MeinOfenBrennt, I will give that a go. Although I have not had much success so far compiling my own firmware (seems all devices need to be running the exact same firmware to communicate). But I might try going back to an older firmware version that was known to be working with the serial module… if I can identify one.

There is an open issue, the txtmsg mode is a week old and has not been implemented yet [Bug]: 1.3 Serial Module Does not work · Issue #1707 · meshtastic/Meshtastic-device · GitHub

1 Like

Thanks, I’ll try it out!

Edit:

Alas, I have managed to upload the firmware and even set the region (using meshtastic version 1.2.73), and I can connect to the serial port at 38400 baud, but everything I send is just echoed back in the terminal and does not seem to be making it to the radio.

Is there a special command to type, or more to put it in?

Another update… I have observed it sending messages when I type in the serial terminal, but there are a couple of issues preventing me actually using this system:

  1. it only works when there is a USB cable connected to the transmitting node
  2. there doesn’t seem to be any end-of-line detection; characters are sent as they are typed, with a significant delay between messages (at least there is a delay when observing the display, I haven’t hooked up a debug console to see how fast they actually come in)

Still, better than what I had working (which was nothing), so thanks MeinOfenBrennt

I am having a similar problem. I am not using a USB…I am using a ESP32 device (HELTEC) to send message serially to a TBEAM. Can I use a simply send the message serially (using the Arduino IDE Serial.write command) or do I have to do more than that?

do you have 2 radios ?
pls send a foto from your connection.

I’m also connected an adruino an a T-Beam but i use “Serial.println”

to 1) i think you powerded your board over a USB-Supply - thats ok., or use a 18650-batterie on T-Beam or connect Gnd and 5V on the board to power supply.
to 2) when you use “putty” this doesn’t work good. Use Arduino IDE “Serial Monitor” or a other programm which sends a line, not single characters.

Good idea re. Arduino serial monitor or similar. I expected this to be a little better when actually hooked up to a serial device though so not too bad.

I have the T-Beam powered by an 18650 cell, but it will not transmit unless it is also connected via USB(!).

What changes did you make?

Just an update, I discovered my issue here was a missing ground, that was provided by the USB cable.

Ah yes, that’s by design.

Please put in a feature request that there should be a new “mode” defined to allow the serial module to use the text message port. Having multiple “modes” of operation is now built into the next version of firmware for just this kind of flexibility.

Thanks for this research!

The serial module is working in 13.44

38400 Baud

For a tbeam the module config is
serial.enabled true
serial.rxd 35
serial.txd 15
serial.timeout 1000
serial.echo true
serial.mode TEXTMSG

For rak use

serial.enabled true
serial.rxd 15
serial.txd 16
serial.timeout 1000
serial.echo true
serial.mode TEXTMSG