Thought others might be interested that I’ve had a go with Outboard DFU on ESP32-S2.
(This also serves as notes for me to return to later)
I know this isn’t officially supported yet.
I’ve got it working on a Unexpected Maker FeatherS2 board on a Notecarrier-F.
The pins don’t match up exactly to what is expected, but can be sorted with jumper wires. See image below. Unfortunately I don’t believe this can work with Adafruit ESP32-S2 Feather boards because they don’t break out the UART0 RX Pin.
Also, as developer feedback:
I’ve noticed that the notecard puts the host into bootloader mode but then takes several minutes to actually update the firmware. Not a big deal or high priority, but I wonder if this delay could be avoided?
e.g. only put the host into bootloader mode when ready to flash the firmware.
Excellent diagram, it clearly illustrates what needs to be done. Nice call out on the memory locations with binpack as well.
Thank you for letting us know about the doc bug, we will definitely update the typo ASAP.
I’m going to buy one of those boards, because would love to reproduce this myself. Also, we will see if we can reproduce the early bootloader jump, and fix it as well.
Can you share the link you used to buy the “Unexpected Maker FeatherS2”, so I can be certain I have the same board as you?
Great! if you find these are boards you want to support, the number of jumper wires required could be reduced to 1, but it would require the “B0” signal to be available on some other pin e.g. AUX1 or AUX2. That way the DFU DIP switch could be left on. Just an idea.
I agree that the Notecarrier-F is the most convenient form-factor for using a Feather compatible MCU. However, Outboard DFU support is not limited to the Notecarrier-F.
In fact, all of our Notecarriers are capable of supporting Outboard DFU by using jumper wires. Outboard DFU is really only limited by the availability of the strapping pins on the MCU.
Personally, I’m very excited to validate the Outboard DFU compatibility of the Unexpected Maker MCUs, identify the hiccup you observed, eliminate it, and ensure the DFU process is stable and smooth.
Hey @zfields and all the Blues team,
Thanks heaps for the Outboard OTA functionality - very much appreciated. Also @calcut for making it work on the ESP32-S2 Feather and posting your bin file/memory offset syntax -awesome!
I can report it works on the ESP-wroom-32 modules too with slight modification. AUX3 is connected to the IO0 pin for putting the ESP into boot mode. Also, the OTA wouldn’t work with merging the 3 bin files as per calcut’s post. However when I tried the app binary by itself - bingo! So,
notecard -binpack esp32 0x10000:Blink.ino.bin
The rest as per the example. Also tried the same with an ESP8266 on the off-chance (memory location is the same) … but no go. Might it get support in the near future?
I was able to get Outboard DFU to work on the Unexpected Maker ESP32-S3 Feather (referenced above) and the Notecarrier-F using the instructions in this thread. I used an Arduino app not Circuit Python, so that changes the binpack as also mentioned in the thread.