Getting Started with Edge AI Using the GAP8 Processor

Many people predict that the future of AI lies in edge applications and most of the growth will come from edge applications involving sensors that capture data in real-time and apply machine learning on it. The amount of data available at the edge is also huge. Another major reason for applying AI at the edge is privacy, because for lot of applications specially in the areas of health, security, and the like, processing at the edge is mandatory! This is why several companies are working on devices which accelerate inference at the edge. Keep reading to learn how to the new PoC (proof of concept) board from GreenWaves Technologies can add intelligence to your application.


GreenWaves has introduced a lineup of boards based on the GAP8 processor — GAPPoc. The GAPPoc boards are application-specific compared to the general purpose, Arduino-compatible GAPuino. Every GAPPoC family board will contain the GAPMod core module, which packs a GAP8 processor and memory. The other components on the main board, like the sensors, etc., will depend in the application.

GAPPoc architecture and implementation choices (📷: GreenWaves)

Pictured above is the GAPPoC-A, focused primarily on computer vision applications. As shown, the board features an On Semi MT9V034 image sensor with interchangeable lens, a Bluetooth module, and connectors for other modules.

GAP8 Processor

The GAP8 chip uses a processor based on the open source RISC-V ISA. It also builds on open source components from the ETH Zurich PULP (Parallel Ultra-Low-Power Processing-Platform) project. PULP is an open source multi-core computing platform developed by ETH Zurich and the University of Bologna. The PULP architecture uses the RI5CY core or the zero-riscy one (Ibex) as the main core.

GAP8 architecture (📷: GreenWaves)

The GAP8 is a general purpose 8-core MCU targeted towards IoT and includes some MAC (multiply and accumulate) units for accelerating deep learning inference. The GAP8 processor consumes around 70mW of power when running at about 175 MHz.

GAP8 vs. Arm Cortex-M7 running CNN (📷: GreenWaves)


To get started with the GAPPoC boards, the GAP8 SDK is required — the GitHub page provides the setup instructions for the SDK. The GAP8 SDK includes the tf2gap8 tool to help generating GAP8 source code for computer vision applications from TensorFlow code. Currently, the SDK only supports CNNs (convolutional neural networks) which are extensively used in computer vision applications.

TensorFlow to GAP8 flow (📷: GreenWaves)

The SDK provides examples on how to use the MNIST and the CIFAR dataset to train a CNN to be run on the GAP8 processor.

Some Applications

GreenWaves has shared several examples of applications where GAPPoC boards can be used — face detection and pedestrian detection, to name just a few.

Pipeline for pedestrian detection using GAP8 (📷: GreenWaves)


The SparkFun Edge — designed by SparkFun in collaboration with Google and Ambic Micro to demonstrate TensorFlow Lite running on an Arm Cortex-M4F processor and enable others to develop deep learning applications using this board. Here is one example/codelab to get started that uses a CNN model to recognize certain keywords like ‘yes’ and ‘no.’

The SparkFun Edge is equipped with an Ambic Apollo 3 MCU — a Cortex-M4F core running typically at 48 MHz — measures ~1.6mA at 3V/48MHz and can run on a coin cell CR2302 (225mAh) battery for 10 days

The Sparkfun Edge board (📷: SparkFun)

The GAP8 processor consists of eight cores and is more powerful compared to the SparkFun Edge Apollo MCU, however both still consume milliwatts of power to run neural networks. This is much lower compared to more powerful boards like the Coral Edge TPU or the Nvidia Jetson Nano which consume watts of power. But these boards can be used together in the below scenario where the milliwatts power processor is always on, and monitoring the events from different sensors and only wakes the more powerful processor when further processing is needed. For example, the low power processor detects if there is a person in the picture from the image sensor; yet the more powerful processor will perform face recognition to identify the person.

The area of Edge AI is a very interesting and rapidly growing space, and we can expect many other products to launched soon.

Getting Started with Edge AI Using the GAP8 Processor was originally published in Hackster Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.

Original article: Getting Started with Edge AI Using the GAP8 Processor
Author: Manu Suryavansh