Flash Bruce firmware on the M5Stack StickS3
Install the open-source Bruce firmware on your M5Stack StickS3 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 a StickS3?
Connect the StickS3 with a USB-C cable, click Connect, choose the serial port, then click Flash. The board resets into flash mode automatically.
Using PINGEQUA RF PACK S3
RF PACK S3 is handled as a native Bruce/StickS3 flow in this project. It does not need a custom brucePins.conf, so the setup flow does not enable clean install by default and does not run the post-flash brucePins writer.
Use the guided flow at Set up your device when you want the product-specific RF PACK S3 instructions after flashing.
Which browsers can flash the StickS3?
| 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 StickS3 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. |
| StickS3 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 StickS3?
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 M5Stack StickS3 enter flash mode automatically?
Yes. The StickS3 uses an ESP32-S3 with USB-Serial-JTAG, so the flasher resets it into the bootloader over USB automatically — just click Connect, no buttons.
Do I need an RF module for Bruce?
Bruce's Sub-GHz and 2.4 GHz tools need a CC1101 + nRF24 add-on such as the RF Pack S3 for the StickS3. Without a module the RF menus have no radio to drive.
Which browsers can flash the StickS3?
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.