ESP32 UART Camera
This UART Camera allows users to click the button to take a photo then transfer and save it serially to another computer via UART.
This project utilizes a 10kΩ pull-up button w/ debounce and interrupt, and installed ISR (Interrupt Service Routine), instead of usual blocking polling.
FreeRTOS task, awaken by ISR, was also used for capturing the photos and sending UART header and image files.
A baudrate of 921600 was used for more throughput. The camera sensor was configured to be in auto mode.
This project features reliability by comparing received file sizes (from header) w/ the actual received image bytes, ACKs and NACKs, retransmissions (3 attempts), and timeouts.
Further implementation will use CRC (Cyclic Redundancy Check) and packetization of data to transmit. Further instructions are in the Github Repository.
- Hardware
- ESP32-CAM CH340 HW818 w/ OV2640 camera sensor
- 10kΩ pull-up resistor
- Software
- VSCode w/ ESP-IDF v6.0.2 extension
- esp32-camera library by Espressif Systems
- UART (Universal Asynchronous Receiver-Transmitter) Protocol Implementation