ESP32 Edge Capture is a tool designed to simplify image data collection from an ESP32 camera module for training and testing AI/ML models on Edge Impulse. The tool facilitates seamless communication between an ESP32 and a PC via USB, enabling users to capture and upload labeled image data efficiently.
- USB communication between ESP32 and PC.
- Web-based interface for ease of use.
- Supports both training and testing data collection.
- Real-time image capture and upload to Edge Impulse.
- Hardware:
- DFRobot FireBeetle-2 ESP32-S3
- USB Cable
- Software:
- Python 3.x
- Required Python Libraries (see
requirements.txt
) - Edge Impulse Account
-
Clone the Repository:
git clone https://github.com/MukeshSankhla/ESP32-Edge-Capture.git cd ESP32-Edge-Capture
-
Install Dependencies:
pip3 install -r requirements.txt
-
Upload ESP32 Code:
- Open the Arduino IDE.
- Go to
File > Open
and select the code from theESP32_Code
folder. - Select the correct board (e.g., DFRobot FireBeetle-2 ESP32-S3) and COM port.
- Click Upload to flash the code onto your ESP32.
- Run the Web Interface:
python app.py
- Open the web interface in your browser (default:
http://localhost:5000
). - Select the COM port, input your Edge Impulse API key, and choose between
Train
orTest
mode. - Enter the label for your dataset.
- Click
Capture and Upload
to start data collection.
- The PC sends a command to the ESP32 to capture an image.
- The ESP32 captures the image and sends it back to the PC.
- The PC uploads the image with the specified label to Edge Impulse.
This project is licensed under the MIT License.
Author: Mukesh Sankhla
Website: https://www.makerbrains.com