Running computer vision applications based on machine learning used to be troublesome. It would generally require a lot of computational power to get a useful result. However, with the introduction of Tensorflow Lite for microcontrollers, the world of tiny machine learning (tinyML) devices is growing rapidly. Now, even a small microcontroller with limited resources can run a machine learning model all while consuming power in the order of a few mW. In this article, we’ll have a look at Himax’s WE-I Plus EVB board, its competitors, and finally have an onboard camera boards comparison.
Himax WE-I Plus EVB Development Board
WE-I Plus EVB is a powerful board that supports ultra-low power AI vision. The EVB board is built around the HX6537-A ASIC with an ARC 32-bit EM9D DSP running at 400 MHz. It comes with 2MB flash and 2MB SRAM which is plentiful for running tinyML applications. The onboard low-power monochrome camera can run up to 60FPS while consuming 7.8mA of current. Altogether, the board consumes a power of less than 2.5mW. The WE-I Plus EVB board is also equipped with a 3-axis accelerometer and two PDM microphones, making it an all-in-one solution for multiple applications.
On the software side, the WE-I Plus EVB is capable of running all TensorFlow Lite Micro examples with inference speeds of less than 35ms. One thing to mention is that this is the only board here that made it to the official repository of the Tensorflow Lite for microcontrollers. In addition to that, you can program and flash image binaries with the Arduino IDE.
OpenMV Cam H7 R2
Following the success of its predecessor, the OpenCV Cam H7 R2 is the second version in its machine vision lineup. This MicroPython compatible board aims at becoming the “Arduino of Machine Vision“. The board originally came up as a Kickstarter and successfully surpassed its pledged goal due to its popularity among hobbyists. The OpenMV Cam H7 is built around the STM32H743VI ARM Cortex M7 processor running at 480 MHz, along with 1MB SRAM and 2MB of flash. The main highlight of this board is the integrated MT9M114 image sensor capable of running up to 80FPS on QVGA (320×240) resolutions.
Talking about the software, the OpenMV Cam H7 comes with OpenMV IDE which makes the software integration a lot simpler. Users can program their Cam H7 board in MicroPython with this open-source IDE.
The launch of the RP2040 SoC by Raspberry Pi paved the way for a number of new tinyML boards, with Pico4ML being one of the more popular ones. This RP2040 based board not only features a QVGA Camera Module but also a 0.96 inch LCD display at the back. The camera module is a Himax HM01B0 and can provide up to QVGA (320 x 240 pixels). The 160 x 80 LCD display is quite useful for previewing the outputs of ML models. In addition to it, there’s also a 9-axis IMU and a mono channel microphone.
The PicoML board supports integration with the Tensorflow Lite framework. It can run examples like human detection, speech recognition, or magic wand examples. The board can be programmed with C, C++, or MicroPython.
|Parameters||Himax WE-I Plus EVB||OpenMV Cam H7 R2||ArduCam Pico4ML|
|Processor||WE-I Plus ASIC (HX6537-A), ARC 32-bit EM9D DSP with FPU @400MHz||ARM® 32-bit Cortex®-M7 CPU w/ Double Precision FPU @480MHz||RP2040 Dual-core Arm Cortex-M0+ processor @133MHz|
|Memory||2MB flash and 2MB SRAM||2MB flash and 1MB SRAM||2MB flash and 264KB SRAM|
|Camera module||Himax HM0360 AoS TM ultra-low power VGA CCM, 1/6″, 640×480 pixels @60FPS||MT9M114: CMOS Image Sensor, 1/6″, 640×480 pixels @40FPS||Himax HM01B0 CCM, 1/11”, 320 x 240 pixels @60FPS|
|Integrated sensors||3-axis accelerometer, 2x PDM MEMS microphones||–||9-axis IMU, 1x mono-channel microphone, temperature sensor|
|I/O||micro-USB, FTDI USB to SPI / I2C / UART, 3x GPIO, 1x I2C master||USB, SPI, CAN, I2C, 3x PWM, Serial, ADC, DAC||USB, 26x GPIO including 2× UART, 2× SPI, 2× I2C, 16× PWM|
|Programming compatibility||C, C++, MicroPython, Arduino IDE, Edge Impulse, Tensorflow Lite||C/C++, MicroPython, Edge Impulse, Tensorflow Lite||C/C++, MicroPython, CircuitPython, Arduino IDE, Edge Impulse, Tensorflow Lite|
|Size||40mm x 27mm||45mm x 36mm||51mm x 21mm|
Final thoughts after the comparison of boards
There are plenty of machine vision-enabled boards out there in the market. All of these boards offer really impressive tinyML processing capabilities. So, after doing the onboard camera boards comparison, choosing the right one ultimately depends on your application.
If your application requires a really low power consumption, then the Himax WE-I Plus EVB is perfect in that case. The board consumes just under 1mW of its embedded ultra-low leakage LDO and optimized SRAM architecture for power minimization. Also, the integration of dual microphones makes it much more suitable for voice recognition applications.
The OpenMV Cam H7 R2 with its support for add-on boards like servo, Wi-Fi, and motor controller is suitable for hobbyists looking for quick and easy prototyping. Although you won’t get any additional integrated sensors, the removal camera module allows the board to interface with different sensors.
The ArduCam Pico4ML on the other hand is backed up by Raspberry Pi’s development tools due to the integration of RP2040 SoC. This board’s applications are quite similar to the Himax WE-I Plus EVB, but Pico4ML might run a little slower. Also, this board provides 26 GPIO pins which are well suited for applications requiring many I/O pins.
Harsh Chaudhary is an engineering student currently pursuing Electrical Engineering. He’s a robotics and tech enthusiast and likes to write about stuff related to IoT and embedded systems. His vision is to use Robotics to make the life of humans easier.