thorrak/brewflasher

Add support for esp32s3 boards

Closed this issue · 16 comments

mp-se commented

Can you add support for esp32s3 boards this is the command used in platformio for flashing

esptool.py --chip esp32s3 --port "COM15" --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x0000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin

Sure thing.

I just stubbed out the device family in the admin. If you already have firmware you know works, I would appreciate it if you could add it (selecting this stubbed out device family). Flashing won’t work as I don’t yet have the boatloaders, but it will help me test here later today.

mp-se commented

Sure, I have ported gravitymon to that board but I have more testing to do. I have created a firmware in brewflasher for the S3. The binaries are from the dev branch here; https://github.com/mp-se/gravitymon/tree/dev/bin.

mp-se commented

Let me know if you want me to do a test locally

Interestingly enough, I actually had picked up an ESP32-S3 a few months back in anticipation of one day seeing if I could use it for something. Apparently that "something" is getting BrewFlasher support working!

Thanks for posting that firmware - everything seems to work on my end. I'll get a release crafted here shortly!

mp-se commented

Great, will do a test later on then.

Quick update -- I'm still working on getting a release out. It seems like every time I try to release BrewFlasher, something breaks. This time it's MacOS universal binary support. :)

I'm hoping to have everything back working here later today.

v1.7.0 is now available.

mp-se commented

Just tested it but it does not work for me. The flashing works but the firmware does not start...

rst:0x7 (TG0WDT_SYS_RST),boot:0x2b (SPI_FAST_FLASH_BOOT)
Saved PC:0x40043ac8
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbe4
load:0x65737341,len:0x66207472
Invalid image block, can't boot.
ets_main.c 329

mp-se commented

The address of the bootloader is differnt compared to what platformio is using.

1 sec.

I just updated the release. Try downloading it now and let me know if it works.

mp-se commented

I will give it a try later and let you know

mp-se commented

it looks like its the booloader.bin is the culprit. When replacing the downloaded file with this from the platformio build it worked.

bootloader.zip

Weird -- I built that manually from the headers in the Arduino project. Regardless, I added your bootloader to the repo, and got it set as the bootloader for the ESP32-S3. If you restart BrewFlasher (no need to redownload) it should start using that.

mp-se commented

Can confirm that it now works, great work!

Perfect! Thank you for the help in getting this rolled out. :)