ArduCAM is popular for camera-based applications with various boards ranging from Arduino to Raspberry Pi. We also saw the company’s tiny coin-sized Raspberry Pi compatible module 5 years ago. Now, it also supports the newly launched Raspberry Pi Pico for real-time video applications.
Raspberry Pi Pico is compatible with the ArduCAM Mini 2MP Plus camera featuring an OV2640 2MP CMOS image sensor that supports automatic image control functions including Automatic Exposure Control (AEC) and Automatic Gain Control(AGC). The camera also comes with an onboard JPEG encoder for image compression.
The company has provided a Github repository with two demo applications: a video streaming application and an example for basic person detection with the probability percentage of detection. There is also an option of directly using the UF2 files for flashing with Raspberry Pi Pico, if you don’t want to build the demo from the source code yourself.
The application runs on the Windows 10 environment for a real-time video streaming demo that runs at 320 x 240. The interface of the application is using a USB serial port through a USB to TTL adaptor. The demo also supports Mac and Linux environments including the Raspberry Pi.
The Arducam Mini 2MP Plus camera allows machine vision applications with support for frameworks and libraries such as tinyML, MicroPython, and TensorFlow Lite. The person detection demo uses the TensorFlow Lite framework running ML models, and ArduCAM performs most of the processing and computation to decrease the load on the Raspberry Pi Pico board, but the frame rate is still really slow.
The ArduCAM Mini 2MP Plus connects to the Raspberry Pi Pico using the SPI & I2C interfaces. There is a separate folder named tflmicro in the GitHub repository, compilation will create additional files for implementing the application. You can also use U2F files if you want to skip the compiling process. You can watch the below video for the hands-on example.
At this point in time, the demos provided by the ArduCAM are developed in C, but the team is currently working to provide support in MicroPython as well.