How to Use ESP32-CAM With MicroPython
by mahmoodmustafashilleh in Circuits > Cameras
6555 Views, 2 Favorites, 0 Comments
How to Use ESP32-CAM With MicroPython
Learn how to use the ESP32-CAM in MicroPython to use the onboard camera and connect to the network. Also, learn some simple dos and don'ts of using the device in MicroPython to help you get started. By the end of it, we can rerun scripts with the camera and WiFi all in Thonny which will give us a lot of power to code in MicroPython with this device!
-----
Before we delve into the topic, we invite you to support our ongoing efforts and explore our various platforms dedicated to enhancing your IoT projects:
- Subscribe to our YouTube Channel: Stay updated with our latest tutorials and project insights by subscribing to our channel at YouTube - Shilleh.
- Support Us: Your support is invaluable. Consider buying me a coffee at Buy Me A Coffee to help us continue creating quality content.
- Hire Expert IoT Services: For personalized assistance with your IoT projects, hire me on UpWork.
Explore our Stores for Premium Products:
- ShillehTek Store: Access exclusive discounts on Arduino, Raspberry Pi sensors, and pre-soldered components at our ShillehTek Website.
Shop on Amazon:
Supplies
ESP32-CAM
Installing MicroPython on the ESP32-CAM
Download MicroPython Firmware and esptool:
- Download the MicroPython firmware from the following repository: micropython-camera-driver
- Install the esptool by running: pip install esptool (Run this in a terminal or cmd)
Flash MicroPython Firmware:
- Open a terminal or command prompt.
- Navigate to the location of the downloaded repository.
- Execute the following commands, replacing /dev/ttyUSB0 with the appropriate port and adjusting the path to the firmware file:
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 micropython_camera_feeeb5ea3_esp32_idf4_4.bin
Hard Reset:
- Perform a hard reset on the ESP32-CAM. (Unplug and Plug back into computer)
Access MicroPython REPL:
- Connect the ESP32-CAM to the computer.
- Open Thonny or your preferred MicroPython IDE to interact with the MicroPython REPL.
- With these steps, you'll have successfully installed MicroPython on the ESP32-CAM. You can now code with the camera library available in Thonny, REPL, or any other IDE you like.
Code Sample
You can download the code in the video with this project on Razzl. Some tips in the code:
Deinitialization and Disconnection:
It's important to deinitialize the camera (camera.deinit()) and disconnect from Wi-Fi (sta_if.disconnect()) after use. This ensures proper cleanup and resource release. Else you will have to do a hard reset every time you use the camera or network.
MicroPython Packages:
You can use upip to install additional MicroPython packages. For example:
import upip
upip.install("urequests")
Configuration File (config.py):
The config.py file is a separate Python file containing Wi-Fi credentials as constants. An example of how the config.py file may look:
# config.py
ssid = "YourWiFiSSID"
password = "YourWiFiPassword"
This concise code performs Wi-Fi connection, captures an image, and saves it to a file. Remember to customize the config.py file with your actual Wi-Fi credentials.