ESP32-S3-DevKitC-1 tutorial with esp-idf #264
-
Hello! I've been trying to make the ESP32-S3-DevKitC-1-N8R2 work with TinyUf2, but without too much luck. I'm able to load the tinyuf2 image, with the 2 ota partitions, and I can mount the boot partitions in Ubuntu. After flashing, the LED is red for a short time, and after attaching the drive to ubuntu the led becomes green. The app is written in esp-idf, and the app partitions match the ones defined in tinyuf2. I modified the app bin with "uf2conv.py firmware.bin -c -b 0x00 -f 0xc47e5767", and after that I copied it in the mounted boot drive as firmware.uf2. But after resetting the board, nothing happens. The app is not updated. Should I use a different name for the update file? I also tried copying firmware.bin and firmware.uf2 at the ota1 start address with the adafruit browser tool, but nothing works, just as described above. And finally, regarding the double press rc pin, is there a tutorial that shows how to connect the RC? Is it possible to use the CHIP_PU pin for double press to uf2? Thank you for your help! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
I tried today again the same steps and it looks like it is working now. It is strange, because I did the same as described in the original post (build bin, convert bin to uf2 with uf2conv.py and copy resulting uf2 to the boot partition) ... I also managed to implement the double press button for uf2, using GPIO 4 (with a small capacitor between the pin and ground for hardware debouncing) and the system reset reason procedure. It was a bit tricky (at least for me) because I'm using the light sleep and the interrupts can only be defined for high/low levels, but not edges. If anyone needs that code (esp-idf !!!), give me a sign. Later I modified the esp-idf project's partition table such that the uf2 partition is defined as a data/fat partition, to force esp-idf to check the app size against the ota partitions, not uf2 partition, and prevent the errors related to factory partition size. Not sure if this is the right thing to do, but for now it is working like that. Thank you for such a nice project! |
Beta Was this translation helpful? Give feedback.
I tried today again the same steps and it looks like it is working now. It is strange, because I did the same as described in the original post (build bin, convert bin to uf2 with uf2conv.py and copy resulting uf2 to the boot partition) ...
I also managed to implement the double press button for uf2, using GPIO 4 (with a small capacitor between the pin and ground for hardware debouncing) and the system reset reason procedure. It was a bit tricky (at least for me) because I'm using the light sleep and the interrupts can only be defined for high/low levels, but not edges. If anyone needs that code (esp-idf !!!), give me a sign.
Anyway, for me this feature is not really needed, since it is r…