There are a couple reasons you may want to dictate your device's firmware:
Your local network performs better on a specific release
You've modified the native firmware or prefer to use your own
If you simply need to update your device's firmware to the latest stable version, skip the entire guide below and use our Flash Assistant to flash via web browser in < 2 minutes.
Step 1 - Disable OTA Updates
Inside TRMNL, navigate to your device in the top-right dropdown. On the settings page, scroll down to Developer Perks and disable OTA Updates.
Without this turned off, each time your device pings the TRMNL web server it will be instructed to download the latest firmware release.
Step 2 - Install the TRMNL Firmware
Option A (web flasher)
As stated previously, we highly recommend using the Flash Assistant to switch between firmware versions. It's available here: https://trmnl.com/flash
Option B (flash via CLI)
Binaries for most models and versions are available at this open endpoint:
Download the *.bin file you want, then run a CLI command to flash it to your device.
Install commands require dependencies and are different per device "chip set." Here's an example command for the TRMNL OG, assuming port COM3 and the presence of file firmware.bin, renamed from whatever version you downloaded above:
esptool.py --chip esp32 --port COM3 --baud 115200 write_flash 0x0000 firmware.bin
Search something like "flash esp32 CLI commands" for more details. Thi
Option C (build/flash from source)
To modify TRMNL's firmware, download it here:
We recommend using the GitHub CLI (gh repo clone usetrmnl/firmware) but you may also download it as a zip folder from the Code dropdown in the top-right corner.
After downloading the source code, follow the steps in the README to compile and upload ("flash") it to your device. No coding knowledge is required.
Step 3 - Finish Setup
You may have already set up your TRMNL device on the web application, which you don't need to do again. Instead, you'll just need to re-pair your local WiFi credentials.
Turn off the device, wait 5 seconds, then turn the device back on. It should go into the default setup mode, prompting you to connect to TRMNL WiFi as described here. If you flashed a Model X you may need to also soft reset after flashing.
After pairing your local WiFi network, TRMNL will run your customized firmware for as long as you allow it. To reverse all of the above at any time, re-enable "OTA Updates" from your device settings inside the TRMNL web application.


