Skip to main content
CAT - Cats dancing outside of my window. What a racket they made. I have to put up with these for another few months. They need to dig deeper. An eight storeys apartments block will be ready in 2022. Oh well!


These are the type of ESP32-CAM boards I was working with. The one on the right marked with DM was not working. I was not able to flash micropython to it and was not able to connect with it using esptool. I can see some output from it using picocom. I am interested to know if someone has had success working with DIY MORE board.

I have managed to build micropython with camera support from the latest revision of micropython from GitHub. People at micropython.org are doing a great job in providing firmware for different types of  ESP8266 and ESP32 boards. But, I can not see firmware for ESP32-CAM though.

I did my compiling works on a Linux Mint machine. You have to install all the necessary tools to be able to compile.

I uploaded the newly compiled firmware to my GitHub repository. In that repository, one can also find explanations and all necessary files needed for compiling camera modules into micropython. So go get it at https://github.com/shariltumin/esp32-cam-micropython/tree/master/esp32-cam.

I will compile and upload a new version of micropython firmware from time to time. I am waiting for micropython 1-12 to be available.

I highly recommend using rshell for files administration when experimenting with any esp boards. You do not need picocom, rshell has REPL mode. You can get your copy at https://github.com/dhylands/rshell.



This is the live video of 'cats dancing', outside of my apartment window, taken using the newly compiled micropython with the latest esp-idf. Take note that this firmware does not contain webrepl and upip modules.

I hope they will finish digging soon 😠.

Comments

Popular posts from this blog

Custom made - Sometimes, it is nice to be able to build custom made things. Thanks to Damien George and all the clever people at micropython.org for making it easy. So that, to custom build a micropython is not that difficult. Why do you want to build customize firmware anyway? Well, you might want to include some functionalities of your own and removed some functionalities from the standard distribution. The choices are there for you to make. I have a few changes that I want to make in micropython. version header -kaki5 (pronounce kaki-lima) an additional thread cleanup function for esp32 add frozen modules CryptoXo and uasyncio remove help, upip, and webrepl camera C module for esp32 camera board These are accomplished by modifying and adding files. py/makeversionhdr.py py/modthread.c extra/CryptoXo.py, extra/uasyncio.py, and manifest.py mpconfigport.h main.c and modcamera.c I also want to remove some modules specifically, help, upip, and webrepl from esp32
Multi-threading : I previously used an uasyncio webcam server. This time around, I am testing a multi-thread webcam server. The result is promising. A multi-thread server seems to give a better throughput. The program logic is simpler when compared to the server based on uasyncio. The server is a four threaded application, two for port 80, one for port 81, and port 82 runs on the main thread, which blocks the REPL.  You can start a dedicated thread for port 82 if you do not want to block the REPL. I found pix/7 gives the best performance. A spe/2 will reduce the image size but give you a grayscale image. Please see my previous blog if all these seem mysterious to you. I have compiled a new firmware, MicroPython v1.11-571-g7e374d231.  You can download the new firmware from my repository at GitHub. The soft reset is not functioning properly. You need to do a hard reset. I also include four new functions in modcamera.c: pixformat agcgain aelevels aecvalue The pixformat chan
Micropython - v1.11-498 introduced a few changes in the source-code directory structure. Changes to specific files, as previously described in esp32-cam , will no longer work. A simple working summary on how to build esp32-cam firmware is described below: Make a recursive copy of ports/esp32 to ports/esp32-cam, and you will need to modify the following files: 1) ports/esp32-cam/main.c 2) ports/esp32-cam/Makefile 3) ports/esp32-cam/modcamera.c 4) ports/esp32-cam/mpconfigport.h 5) ports/esp32-cam/boards/manifest.py 6) ports/esp32-cam/boards/sdkconfig.base Or, you can just download a precompiled Micropython v1.11-498 from firmware.bin at GitHub if you want to save some work. However, I encourage you to compile the firmware yourself. You will learn a lot and you can choose to modify anything to your liking. The modcamera.c includes something new. The still photo was taken using these settings; pix =8, con =2, qua =10, and spe =2. You will understand those parameters, later