Long time I am away from the forum, and I guess I missed a LOT! Said that I am having very hard time to get micropython and esp-32 camera working. Therefore I will have a look to your git repo, @remi_bertholet.
Besides, I would like to recap what I achieved and especially what I DID NOT achieve (yet), and ask the community for help.
0) Most of the examples on arduino-esp32-cam in C work out of the box, but I really want to use all the weapons I know in micropython. So step 0 was just to testing my hardware (I have now at least 6+ ESP32 CAM devices from ali*xpress all of them work just fine). Upload firmware from Arduino works with both the USB-to-TTL and with the add-on chip with microusb). This is exatly the model I have.
1a) Starting from LEMARIVA camera driver (
https://github.com/lemariva/micropython-camera-driver) I struggled to integrate with all micropython/esp-idf versions without success. Also the firmware included in the repo (
https://github.com/lemariva/micropython ... r/firmware) doesn't not work with my development boards.
1b) However, my attempts with micropython v1.7 and esp-idf v4.2 + esp-camera following several blogs arrived at the linking status where for just 112 bytes link fails because IRAM overflow. And there were NO WAYS to reduce it (I check here too
https://docs.espressif.com/projects/esp ... iram-usage). I am stuck here.
Code: Select all
../../../../xtensa-esp32-elf/bin/ld: micropython.elf section `.iram0.text' will not fit in region `iram0_0_seg'
../../../../xtensa-esp32-elf/bin/ld: IRAM0 segment data does not fit.
../../../../xtensa-esp32-elf/bin/[b]ld: region `iram0_0_seg' overflowed by 112 bytes[/b]
collect2: error: ld returned 1 exit status
1c) I did the same with pycopy and result was a little better (92bytes exceeds the IRAM) but not much. Besides pycopy lacks of uasyncio in frozen code so I cannot use it.
2) I had some success with a very old project of this guy (
https://github.com/shariltumin/esp32-cam-micropython). The firmware in his repo works and also his code with camera management and 3 web servers in multi thread env (which is not very smart but effective (IMHO!!!)).
3) In all the cases when I flash firmware with esptool with the add-on chip it fails. On the other hand, the dongle USB-TO-TTL works.
Besides, I also struggled with picocom and recently I have a stable situation with thonny v.4.0.0-dev installed from development github.
Now I really would like to succeed with 1b) and looking for a simple solution to reduce IRAM occupation.
Thanks
ps: happy to got back to the community, hope you are all well and sound!
pps: I am going to give a try to your project @remi_bertholet and report status.