Flashing firmware .bin to ESP32

Flashing firmware .bin to ESP32

Sep 16, 2023

Installing the firmware .bin files to the various ESP32 boards is now pretty simple. The easiest is using Adafruit's online browser-based flasher here:

https://adafruit.github.io/Adafruit_WebSerial_ESPTool/

This uses 'WebSerial' which you may need to explicitly allow, via the browser's settings, and/or allow 'experimental' features. This is explained here:

https://learn.adafruit.com/adafruit-magtag/web-serial-esptool

When you connect your ESP32 board via USB, and press 'Connect' in the top-right, you can then specify which partitions to overwrite. The factory default partitions are usually fine. In extreme cases you may need to restore the bootloader and other system partitions before uploading the main 'application' partition. (Shout out if you find yourself in this situation, because it's too complicate to describe here).

The main 'application' partition is at offset 0x10000. So, you enter that in the top item, then click Choose File, and select the .bin file you have on your local file system. You then click the on Program button and the upload will commence. You should see a screen like this:

Just wait for the progress bar to complete. When all finished, unplug then re-plug in the board to reset it (or press the 'reset' button).

Enjoy this post?

Buy Ripple Radios a coffee

9 comments
Artem Goncharov
Supporter
Feb 23, 2025
Hi, I have a t-deck plus (433 mhz), tried to install version 6 and 4.3, and it didn't boot. I've used an offset 10000, but no success. Does the firmware support 433mhz version?
Dave Brownscombe
Supporter
Jul 29, 2024
Hi, I've got a T-Deck (915) and tried loading the 1262 bin file via the Adafruit ESPTool and was able to connect to serial port fine, erase existing Firmware, then found the correct bin file on my computer (Linux - Fedora), hit the Program button and everything appeared to go fine according to the ESPTool. I unplugged the serial cable but the T-Deck would not boot. Tried reset button, turned off/ on but it won't boot.Am I missing something?I also will be send for the unlock code when I get it to boot again.I'm open to any/ all suggestions, Thank You ... Dave B
Ripple Radios
Jul 29, 2024
The most common mistake seems to be not putting 0x10000 into the 'offset' field. Second, is that you need to press the tiny 'reset' button on the T-Deck after flashing.
1
Ripple Radios
Jul 29, 2024
If you have overwritten offset zero you will need to do a full factory restore, as you will have overwritten the boot app and partition table. See here: https://github.com/Xinyuan-LilyGO/T-Deck/tree/master/firmware

Some of the firmware .bin files are FULL system images, ie. including partition table, etc, and for these you select offset 0.
I think the 'firmware_T-Deck-factory.bin' is a full system image, which you should be able to use to restore.

Then flash the Ripple app firmware .bin to offset 0x10000.
1
Dave Brownscombe
Jul 29, 2024
Thanks for the speedy reply Scott!
I'll let this all sink in and will try again in a day or two, I'll keep you posted, thanks again, your work on this project is wonderful and greatly appreciated.
Dave B
1
Show more replies
Elad
Jun 10, 2024
After updating t-deck not visible on Meshtastic app
Ripple Radios
Jun 11, 2024
Ripple is a different system to Meshtastic, they're not interoperable.
Someone
Member
Mar 25, 2024
am i missing something i erased and loaded file and it just keeps reconnnecting usb or something. after reboot reset.ESP Web Flasher loaded.Connecting...Connected successfully.Try hard reset.Chip type ESP32-S3Connected to ESP32-S3MAC Address: 34:85:18:8F:83:F4Uploading stub...Running stub...Stub is now running...Detecting Flash SizeFlashId: 0x1840C8Flash Manufacturer: c8Flash Device: 4018Auto-detected Flash size: 16MBImage header, Magic=0xE9, FlashMode=0x00, FlashSizeFreq=0x4FWriting data with filesize: 507632Erase size 507632, blocks 31, block size 0x4000, offset 0x0000, encrypted noTook 3809ms to write 507632 bytesErase size 0, blocks 0, block size 0x4000, offset 0x0000, encrypted noTo run the new firmware, please reset your device.[Object.debug:191] Finished read loop

More from Ripple Radios