Seemingly Simple Question About Programming a T-BEAM

Hi gang, I’m new to Meshtastic and the TTGO boards and I’ve been looking everywhere for this one little detail that I can’t seem to find. How do you put a TTGO T-BEAM into programming mode to program it from the Arduino IDE? (I know this isn’t standard to the installation of Meshtastic, but I need to use the board for other things too. Hoping they don’t conflict in any way.)

I say T-BEAM, which was what I ordered, but given the sketchiness of documentation around these I’ll specify that the board I’ve got is labeled as the “TTGO 868/915Mhz Modle: LORA32”. Its version is TT22_V1.1. (New user, so can’t upload images yet.) It’s got an 18650 battery on the back.

It clearly works because it starts up and flashes and responds to button presses with some different LED patterns, but I haven’t found any that allow me to successfully program it via USB from the Arduino IDE. There are three buttons: RST, IO38, and PWR. I’ve guessed at long presses, pressing when starting it, etc. but nothing seems to work, and bizarrely, none of the YouTube videos or documentation seem to say anything about this. Is there even something you have to do to get it in programming mode?

Very confused and really hoping y’all can help me figure it out. It’s basically bricked for me until I crack this question.

Thanks in advance!


Hi sandsfish, welcome to the community!

From what you describe it sounds like you do in fact have a V1.1 TBeam, if it has the 18650 holder, three buttons, LoRa and the GPS.

If I remember correctly there isn’t a special programming sequence or button. Do you have the ESP32 loaded in the Arduino IDE board manager? From there you will need to ensure you have the board TBeam selected. This post may help. "No Sats" status on Oled


If your on windows, did you install the drivers? They can be found here.

1 Like

I would like to add that you program this board like any other ESP32 dev board out there. Add the boards, select the right model and hit upload button. So you can follow all standard tutorials out there.

Btw, it is very recommended to use VScode with the arduino, platformIO or mbed extension, because of the nice and handy editor. If you want to reuse the meshtastic code, then you’ll probably go for platformIO.


Hey gang! Thanks for the ideas and feedback. I’m happy to say that I figured this out!

The difference between this and any other board I’ve programmed in the Arduino IDE (and I imagine this would be just as relevant in the platformIO world) is that it announces itself as two different simultaneous (and not similarly named, we’re not talking usbserial vs. tty here) connected serial ports.

In addition to the /dev/cu.usbserial… port, it also shows up as


I don’t know if this is particular to the macOS environment (I should have mentioned in my original post that that’s what I’m running) but as soon as I selected that port, everything worked as I expected.

Hope this is helpful to someone out there! Thanks for the help and excited to play around with Meshtastic and this board!



It’s a symptom of the CP2102 drivers. Years ago, it wasn’t like this but then they made it difficult for some odd reason.

1 Like