Flash Bruce firmware on the Lilygo T-Display-S3
Install the open-source Bruce firmware on your Lilygo T-Display-S3 (ESP32-S3) directly from this page. You need Chrome, Edge or Firefox 151+ on a desktop computer and a USB-C data cable.
How do I flash Bruce on the T-Display-S3?
Connect the T-Display-S3 with a USB-C cable, click Connect, choose the serial port, then click Flash. The board resets into flash mode automatically — no buttons to hold.
Which browsers can flash the T-Display-S3?
| Browser | Supported |
|---|---|
| Chrome / Edge (desktop) | Yes |
| Chrome (Android) | Yes |
| Firefox 151+ (desktop) | Yes — first use adds a permission add-on |
| Safari (macOS / iOS) | No |
| Firefox (Android) | No |
Browser flashing relies on the Web Serial API: Chrome and Edge on desktop, Chrome on Android, and — since Firefox 151 for desktop (May 2026) — Firefox. Safari and every browser on iOS are out; see Web Serial is not supported.
Troubleshooting
| Symptom | Fix |
|---|---|
| No port shows in the picker | Follow No serial port detected, then use the verified T-Display-S3 download-mode sequence. |
| Failed to connect | Use Timed out waiting for packet header. |
| Download / CORS error | The firmware host or proxy is briefly unreachable. Refresh and retry. |
| Board unresponsive after flash | Hold BOOT, tap RST, release BOOT, then retry; see Enter download mode. |
| T-Display-S3 reboots unexpectedly (e.g. on RF Scan) | Re-flash the default version — it is always the current upstream release, and Bruce rewrote its RF stack in 1.16 (2026-07-24) to fix a class of RF reboots. If it still happens on the newest release, report it with your board and the exact menu at the Bruce issue tracker. |
What is Bruce?
Bruce is an open-source firmware tool for ESP32 devices used in wireless and hardware research and education. Source code and releases are published at github.com/BruceDevices/firmware under the AGPL-3.0 license.
Frequently asked questions
Which Bruce version should I flash on the T-Display-S3?
Flash the default. This page always offers the current upstream stable release — Bruce 1.16.1 today — and it is preselected for you; the list is refreshed from the Bruce project on every build, so you never have to look up a version number. Older releases are published at github.com/BruceDevices/firmware if you specifically need one. Every build we flash is a complete image, so you can move between releases at any time with a single flash.
What is Bruce firmware?
Bruce is an open-source ESP32 multi-tool firmware (Sub-GHz, RF, IR, RFID/NFC, WiFi, BadUSB). It is community firmware (AGPL-3.0); this page flashes the upstream binary.
Does the Lilygo T-Display-S3 enter flash mode automatically?
Yes. The T-Display-S3 uses an ESP32-S3 with USB-Serial-JTAG, so the flasher resets it into the bootloader over USB automatically — just click Connect, no buttons needed.
Do I need an RF module for Bruce on the T-Display-S3?
Bruce's Sub-GHz tools need an external CC1101 module and the 2.4 GHz tools need an nRF24 module. The T-Display-S3 does not have these radios built in, so you'll need add-on hardware to use those menus.
Which browsers can flash the T-Display-S3?
Chrome or Edge on desktop, Chrome on Android, or Firefox 151+ on desktop. Flashing uses the Web Serial API; in Firefox the first connection also adds a permission add-on. Safari and every browser on iOS cannot flash.
WARNING
For educational and lawful testing purposes only. Comply with all applicable laws in your jurisdiction.