Himax WE-I Plus EVB is an Application-Specific Integrated Circuit (ASIC) platform solution with an embedded AI accelerator for application developers. The WE-I Plus helps application developers to create and deploy convolutional neural networks (CNN)-based machine learning (ML) models for AIoT applications such as smart home appliances and surveillance systems. The ASIC is multipurpose, allowing it to do voice, visual, and vibration detection and recognition.
What is Machine Learning and Artificial Intelligence?
Artificial Intelligence is a larger idea that aims to produce intelligent machines that can replicate human thinking capabilities and behavior. Machine learning, on the other hand, is an application or subset of AI that allows machines to learn from data without being explicitly programmed. Machine learning includes computer algorithms that improve themselves over time as a result of data and training. These algorithms create a model on the basis of sample data which is often referred to as “training data”, in order to make predictions or judgments without being explicitly programmed. Machine Learning is further classified into three types, supervised learning, unsupervised learning, and reinforcement learning.
The easiest approach to implement Machine Learning solutions on real embedded hardware is with Edge Impulse CLI. Furthermore, using the Edge Impulse CLI we can operate local devices, function as a proxy for data synchronization for devices without internet access, and upload and convert local files. The prerequisites for the Edge Impulse CLI will include the installation of python3 and v14 or a higher version of node.js on your host computer. Generation of the .img file, by using the command $himax-flash-tool which then flashes onto the Himax board.
It includes tools that allow you to collect data from any microphone or camera. Using Node.js, Python, and, C++ SDKs we can acquire new data from any sensor, and perform impulses with full hardware acceleration – all with easy integration points to help you develop your own applications.
Let’s take a deeper look at Himax’s WE-I Plus Board
With support for the TensorFlow Lite framework for Microcontrollers, the Himax WE-I Plus EVB is a low-power AI development board aimed at machine learning and deep learning applications. It primarily consists of two important components. First, the HX6537-A ASIC is a low-power microcontroller, with the design intent for TinyML applications that run on batteries. Second, the HM0360 VGA mono camera with incredibly low power and CMOS image sensing characteristics. With the design intent for CV (Computer Vision)-based applications, its use-case extends to applications such as object classification and recognition.
For greater Neural Network model implementation, the WE-I Plus EVB has a built-in WE-I Plus ASIC (HX6537-A) with embedded Synopsys ARC EM9D DSP running at 400MHz. Internally, it has 2MB of ultra-low leakage SRAM for system and program use. The WE-I Plus includes two LEDs for displaying classification results. Using the I2C and GPIOs interfaces provided in its extension header we could connect to external sensors/devices.
SparkFun’s Environmental Breakout Board – CCS811/BME280 is an external board that contains sensors for collecting environmental data. Hence to connect the SparkFun board to Himax we make use of the GPIOs and the 12C, acting as an interface between the two. The SPI tool acts as an interface to retrieve data from the board while running an example. It acts as an interface for the device-to-device flow of images. Furthermore, there is an observation of minor heating when the board is in use, which is absolutely normal. So, one need not worry about that!
The EVB’s onboard components include:
- The Himax WE-I Plus ASIC (HX6537-A) was designed in ARC 32-bit EM9D DSP with FPU working with 400MHz clock frequency. It contains 2MB SRAM and 2MB Flash.
- Himax HM0360 AoS TM ultra-low-power VGA CCM with 1/6″ CMOS Sensor. Pixel dimensions of 640 x 480 Pixel with 60 FPS speed.
- FTDI USB to SPI/I2C/UART bridge
- LDO power supply (3.3/2.8/1.8/1.2V)
- 3-axis accelerometer (STM LSM9DS1)
- 1x reset button
- 2x microphones (L/R)
- 2x user LEDs
- MicroUSB connector
- Expansion header consists of 1x I2C port and 3x GPIOs
Additional Peripherals of the WE-I Plus
This board includes a Himax HM0360 ultra-low-power VGA mono camera to facilitate “Vision” applications. Hence, the response time of the camera is quite good.
The “Person detection” example in 250KB TensorFlow Lite for Microcontrollers has a latency of only 40ms. Additionally, this board also has two MEMS microphones to serve “Voice” applications. The 20KB TensorFlow Lite for Microcontrollers “Micro speech” sample has a latency of just 6ms. This board includes an STM LSM9DS1 IMU with a 3-axis accelerometer function to assist “Vibration” applications. Hence, training the model properly, the WE-I Plus’ powerful camera superbly classifies and sends the output to the board.
For waking up the device from a deep slumber, the HX6537-A uses an interrupt-based trigger mechanism. It also “provides a multi-layer power management scheme to wakeup CMOS sensors periodically for ultra-low power applications.”
The HM0360 features a sensor that interacts with a variety of monitoring options that programmers can manage by using conditional interrupts. As a result, the host processor can continue to operate in low-power mode until the sensor activates it.
AIoT devices could be excellently suited to burgeoning IoT applications with intelligence thanks to a flexible and optimized computation architecture. With the following amazing features, the WE-I Plus can enable IoT devices to be smart:
- Real-time motion detection, object detection, and image processing with a low-power image and JPEG hardware accelerator
- Optimization of SRAM size to facilitate ultra low power vision and voice detection at the same time
- A programmable processor with improved DSP capabilities
Himax WE-I Plus EVB’s cross-platform compatibility
A variety of software and examples are available on GitHub for you to get started on with creating your applications on the Himax WE-I Plus Board. As stated above, the Edge Impulse CLI is a one-stop web-based solution for developing, training, and deploying your ML models. The WE-I Plus also supports Arduino IDE as well. But as per our testing and research, the only drawback we found was that we can only flash the existing examples. Himax’s WE-I Plus does not support configuration and customization of examples as per the needs of the user, not giving users the access to edit the file.
In addition, Linux support is also available for the EVB as they have the make command for the generation of .img files. Tensorflow Lite Micro applications require the use of the make command. Written in C/C++ the make command allows users to customize the existing examples as per the needs of the user. Some toolkits required for the functioning of the make command are the Metaware Development Toolkit and the ARCGNU Development Toolkit. You can install any one of the toolkits to flash the .img file to the board.
An alternative to the make command is the use of Docker. An added advantage of using Docker is that it does not require the installation of any toolkits which the make command demands. The trained model from Edge Impulse is fed as the input file for Docker. You’ll just have to write three lines of code in Docker additionally to see the output on the LEDs present on the board.
Priced at $65.00, the Himax WE-I Plus EVB is a compact, simple, low-power SoC that is extremely powerful and effective for AI and machine learning applications at an affordable price. You can avail the board from SparkFun’s store.
Jennifer James is a graduate student in Computer Science Engineering who is passionate about front-end development. She is a content-writer inquisitive about technology. A rising enthusiast in search for optimum knowledge through learning and experiences of the everyday fast-growing Digital Industry through organizational exposure.