Friday, July 18, 2025

A Tiny AI Wireless Streaming Camera

efy tested mark

AI cameras are everywhere—spotting people, detecting objects, and powering advanced driver assistance systems in cars. But most are too bulky and power-hungry for compact applications like drones, wearables, or wildlife tracking.

This device demonstrates how machine learning can be embedded into a tiny package—perfect for places where size, power, and real-time intelligence matter.

POC Video Tutorial:

By using TensorFlow.js with the COCO-SSD model, the camera identifies people, vehicles, and animals directly within a browser, combining intelligent software with minimal hardware. This serves as the foundation for designing one of the smallest AI streaming cameras.

- Advertisement -

Fig. 1 shows the author detecting a person and a potted plant during testing.

Author detecting a person and a potted plant during testing
Fig. 1: Author detecting a person and a potted plant during testing
Bill of Materials
ItemRemarksQuantity
IndusBoard Coin V2Tiny board1
OV2640 camera module2MP camera with JPEG output1
Jumper wiresFor hooking it all up15
Power supply3.3V battery or USB adaptor1
Micro USB cableFor programming and power1

Why go small?

Compact AI cameras offer clear advantages across diverse sectors.

- Advertisement -

In drones, they lower payload while supporting obstacle detection and object tracking. In wearables, they integrate discreetly into glasses or badges to deliver real-time visual feedback. In home security, they enable unobtrusive surveillance. For wildlife monitoring, their size allows placement in tight or concealed spots such as birdhouses. In robotics, they serve as visual inputs for navigating constrained environments.

These use cases require devices that are intelligent, low-power, and exceptionally compact. A development board meeting all three criteria—capable of capturing frames, streaming video, and maintaining a minimal footprint—was essential.

The IndusBoard Coin V2, just 3.3cm across (approximately coin-sized), was chosen for its compact design and built-in sensors. The Bill of Materials table lists the components used; Fig. 2 shows the assembled prototype.

AI based Small Wireless Streaming Camera
Fig. 2: Author’s prototype

Circuit Diagram

Fig. 3 illustrates the wiring between the IndusBoard Coin and the OV2640 camera module. Key GPIO pin connections include:

XCLK (GPIO 44): Supplies a 20MHz clock signal

PCLK (GPIO 39): Synchronises pixel data

VSYNC (GPIO 21): Indicates the start of a new frame

HREF (GPIO 1): Denotes the beginning of each line

Y2 to Y9 (GPIOs 7, 3, 10, 4, 42, 5, 41, 6): Carry 8-bit pixel data

SDA (GPIO 8) and SCL (GPIO 9): I²C communication lines for camera setup

RESET (GPIO 2): Resets the camera module when required

OV2640 Camera Module and Indusboard Circuit connection diagram
Fig. 3: The circuit diagram

After the connections are established, the IndusBoard functions as a Wi-Fi server. It captures frames from the OV2640, compresses them as JPEGs, and streams the video feed to a connected phone or computer.

For real-time object detection, a browser-based TensorFlow.js application using the COCO-SSD model overlays bounding boxes on detected objects such as people, animals, and vehicles.

Techy bits: pins, DVP, and PSRAM

The OV2640 camera communicates via a digital video port (DVP), transmitting image data using eight parallel lines along with synchronisation signals. This interface integrates well with the ESP32 platform. The IndusBoard Coin’s 4MB PSRAM is critical for buffering image data, as the internal 320kB SRAM is insufficient for real-time video processing. The PSRAM ensures continuous frame capture and reliable streaming without performance drops.

Programming AI Wireless Camera

The source code is written in Arduino IDE. With ESP32 board support installed, begin by including the necessary WebServer and Camera libraries. These enable the IndusBoard to operate as a local web server for live streaming. GPIO pin mappings are defined in the initial section of the code, as shown in Fig. 4.

Code for AI Wireless Camera
Fig. 4: Snippet of source code showing pin configuration and library inclusion
AI based Wireless Camera Code
Fig. 5: Wi-Fi SSID and password input section in the code

Subsequently, input the Wi-Fi network credentials—SSID and password—into the code to enable wireless connectivity. This allows the video stream to be accessed over a local network. Fig. 5 shows where to input these credentials within the code.

Testing

Once assembled as per Fig. 3 and flashed using the Arduino IDE, the device is powered and monitored via serial monitor to obtain the IP address. This address is then entered in a web browser to access the live stream.

Real-time detection of a television and a potted plant
Fig. 6: Real-time detection of a television and a potted plant

During testing, the camera successfully detected a toy vehicle, a pet, and a human subject. Bounding boxes appeared over the detected objects. Better lighting improved detection accuracy, and adjusting the confidence threshold helped reduce false positives.

Occasional streaming lag was observed due to Wi-Fi bandwidth limitations, but overall performance confirmed the feasibility of real-time object detection on a device of this scale. Fig. 6 shows the camera identifying a television and a potted plant simultaneously.

Bonus: Below you can check the step-by-step video tutorial to make this wireless camera


Ashwini Sinha
Ashwini Sinha
A tech journalist at EFY, with hands-on expertise in electronics DIY. He has an extraordinary passion for AI, IoT, and electronics. Holder of two design records and two times winner of US-China Makers Award.

SHARE YOUR THOUGHTS & COMMENTS

EFY Prime

Unique DIY Projects

Truly Innovative Electronics

Electronics News

Latest DIY Videos

Electronics Components

Electronics Jobs

Calculators For Electronics

×