π¦ obj_dec β Microcontroller & Sensor Detection using Object Detection (YOLO-style) on Edge Devices
This project detects and classifies different integrated circuits (ICs), microcontrollers, and sensors using bounding boxes and a camera-based object detection model. Built using Edge Impulse, this system is perfect for lab inventory automation, educational demonstrations, or embedded vision systems.
π Live Project on Edge Impulse
The object detection model can recognize the following components from an image:
| π§© Component | Description |
|---|---|
| ESP32 | Generic microcontroller board |
| ESP32-CAM | Camera-enabled ESP32 module |
| Arduino Uno | Popular dev board by Arduino |
| DS18B20 | Digital waterproof temperature sensor |
| LoRa SX1278 | LoRa transceiver module |
| Others (Optional) | Add more via training data |
- π· Real-time object detection with bounding boxes
- π» Runs on edge devices: ESP32-CAM, Raspberry Pi, or Linux with webcam
- π¦ Trained using Edge Impulse Object Detection pipeline
- π§ͺ Useful for:
- Smart inventory systems
- Educational electronics demos
- Component detection in robotics kits
| Component | Role |
|---|---|
| ESP32-CAM | Captures images and runs detection |
| Raspberry Pi | Alternative platform for model inference |
| Webcam | For PC testing using Edge Impulse runner |
| Feature | Value |
|---|---|
| Input size | 320x320 RGB image |
| Model Type | Object Detection (FOMO / YOLO-lite) |
| Classes | esp32, esp32_cam, arduino_uno, ds18b20, lora_sx1278 |
| Training Tool | Edge Impulse Studio |
| Deployment Format | .eim (Linux), Arduino lib (ESP32-CAM) |
π Accuracy: Replace with your actual validation accuracy
π Loss: Replace with your loss value from training
edge-impulse-linux-runner --clean --camera
This opens your webcam and classifies live video frames with bounding boxes.
- Export the project as an Arduino library from Edge Impulse
- Open Arduino IDE β Install the library β Use example sketch
- Upload it to ESP32-CAM
- Open the Serial Monitor or connect to the streaming IP to see results
Add a few screenshots or sample image files in the /images/ folder showing bounding boxes around each component like ESP32, Arduino Uno, etc.
Example:
πΈ Detected: ESP32-CAM [Box: x=34, y=48, w=90, h=100, Score: 0.92]
obj_dec/
βββ model/ # Exported .eim model files
βββ esp32-cam/ # Arduino code for ESP32-CAM inference
βββ images/ # Screenshots of detections
βββ data/ # Sample training images (optional)
βββ README.md # Project documentation (this file)
- Add support for more components (e.g., NodeMCU, Raspberry Pi Pico, sensors)
- Improve detection in poor lighting/angles
- Add real-time alert system via Blynk/Firebase
- Optimize model size for faster performance on ESP32
Want to improve or contribute?
git clone https://github.com/kartikd/obj_dec.git
- Submit PRs to add new images or boards
- Improve model performance
- Enhance Arduino streaming features
Licensed under the Apache 2.0 License
Created with π‘ by Kartik D using Edge Impulse + embedded vision π