Skip to main content

03.02 LilyGO T-Beam 1W Firmware Pull, Build, Flash

This is the process I used to build the firmware for the LilyGO T-Beam 1W which isnt officially supported yet, but has a PR available to allow you to pull, build and flash the device yourself. Now, since I am new to all this, I have no clue if this is the correct procedure or not, but it seems to have worked for me as my device is on the mesh and sending/receiving traffic.

  • Firmware Source: PR#8967
  • Target: t-beam-1w
  • OS: Windows 11
  • Build System: PlatformIO (CLI)
  • Editor: Optional, not required

Prerequisites

Required Software

  • Git (Windows installer from git-scm.com)
  • Python 3.x (Microsoft Store Python works, but CLI invocation is required)
  • PlatformIO (CLI) installed via pip

Verify Installs

git --version
python --version
python -m platformio --version

Directory Layout

Or pick your own, I used the downloads directory...

C:\Users\<user>\Downloads\1w-firmware\

Start the Build

Step 1: Clone Meshtastic Firmware

git clone https://github.com/meshtastic/firmware.git
cd firmware

Step 2: Check out the PR branch

git fetch origin pull/8967/head:tbeam1w-pr8967
git checkout tbeam1w-pr8967
Verify Board Definition Exists
dir boards | findstr /i "t-beam-1w"

Expected result: t-beam-1w.json

Step 3: Confirm the Build Environment

variants\esp32s3\t-beam-1w\platformio.ini

Expected result: t-beam-1w

Step 4: Build the Firmware

python -m platformio run -e t-beam-1w

Expected Result:

Environment    Status
t-beam-1w      SUCCESS

Step 5: Identify the Correct COM port

Plugin the T-Beam 1W via USB and run this:

python -m platformio device list

Look for:

  • VID:PID = 303A:1001 (Espressif)
  • Description: USB Serial Device
  • Examples: COM35, COM37 or whatever

Ignore these:

  • Intel (8087:0ADA)
  • Bluetooth (BTHENUM)

Step 6: Put the Device in Bootloader Mode

ESP32-S3 LilyGo Procedure

  1. Hold BOOT
  2. Tap RESET
  3. Release BOOT

Some boards work without this, but do whatever your board requires for boot if upload fails

Step 7: Flash Firmware

Replace COMxx with your correct port!

python -m platformio run -e t-beam-1w -t upload --upload-port COMxx

Success output includes things like this, and will drop you back to the prompt:

Wrote 2093792 bytes (1336031 compressed) at 0x00010000 in 11.5 seconds (effective 1458.1 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
===== [SUCCESS] Took 268.19 seconds =====

Environment    Status    Duration
-------------  --------  ------------
t-beam-1w      SUCCESS   00:04:28.195
===== 1 succeeded in 00:04:28.195 =====

Step8 (if needed): Full Erase & Reflash

Use if:

  • Boot loops
  • No display
  • Strange behavior
python -m platformio run -e t-beam-1w -t erase --upload-port COMxx
python -m platformio run -e t-beam-1w -t upload --upload-port COMxx

Step 9: Verify Boot via Serial Monitor

python -m platformio device monitor --port COMxx --baud 115200

Exit monitor:

Ctrl + ]

Expected:

  • Meshtastic boot logs
  • Correct board identification

Flashing Additional Devices

No rebuild is required!

Simply plugin the next device, and follow along again after identifying the COM port. Once you find it, run the upload commands again

Notes

& Best Practices

  • This firmware is PR-Based, not an official release
  • Start with conservative TX power
  • Label your nodes clearly!
  • Archive ./pio/build/t-beam-1w/ after a successful build

Troubleshooting Quick Hits

  • Stuck on "scanning dependencies" -> Windows Defender exclusion for .pio\
  • Upload can't or won't connect: reboot the device!
  • Wrong COM port -> look for 303A:1001