Artificial intelligence used to happen almost exclusively in the cloud, but this introduces delays (latency) for the users and higher costs for the provider, so it's now very common to have on-device AI on mobile phones or other systems powered by application processors. But recently there's been a push to bring machine learning capabilities to even lower-end embedded systems powered by microcontrollers, as we've seen with GAP8 RISC-V IoT processor or Arm Cortex-M55 core and the Ethos-U55 micro NPU for Cortex-M microcontrollers, as well as Tensorflow Lite. Edge Impulse is another solution that aims to ease deployment of machine learning applications on Cortex-M embedded devices (aka Embedded ML or TinyML) by collecting real-world sensor data, training ML models on this data in the cloud, and then deploying the model back to the embedded device. The company collaborated with Arduino and announced support for the Arduino Nano 33 BLE Sense and other 32-bit Arduino boards last May. The solution supports motion sensing, computer vision, and audio recognition to detect glass breaking, hydraulic shocks, manufacturing defects, and so on.
Each successive generation of Raspberry Pi has brought something new to the table. The latest release, the Raspberry Pi 4, is no exception, upgrading the low-cost single-board computer to include true gigabit Ethernet connectivity, a high-performance 64-bit central processor, more powerful graphics processor, and up to 4GB of RAM. It's a low-cost way to play with RISC-V and Kendryte's KPU, but more expensive than an Arduino for microcontroller use and too limited for general-purpose AI work. Even with these impressive-for-the-price specifications, though, there's something the Raspberry Pi can't easily do unaided: deep learning and other artificial intelligence workloads. With an explosion of interest in AI-at-the-edge, though, there's a market for Raspberry Pi add-ons which offer to fill in the gap - and the Grove AI HAT is just such a device, billed by creator Seeed Studio as ideal for AI projects in fields from hobbyist robotics to the medical industry.
Last year we wrote about Kendryte K210 dual core RISC-V processor specifically designed for for machine vision and machine hearing as well as the corresponding Kendryte KD233 which enables inference at the edge, e.g. Latter on we found the processor in Sipeed M1 module which went for as low as $5 in a crowdfunding campaign, and was fitted to some low cost boards now selling for $12.90 on Seeed Studio. The latter company has now designed Grove AI HAT that aims to assist Raspberry Pi in running the edge computing workloads previously described, as exposes 6 Grove interfaces to extend functionality with some of the Grove add-on modules. The board can either be used in conjunction with a Raspberry Pi board, or in standalone via a USB-C cable. It supports the baremetal Kendryte Standalone SDK, as well as ArduinoCore K210 for the Arduino IDE working in Linux, Windows, and Mac OS meaning it's possible to leverage the Grove Arduino libraries and other Arduino libraries on this board.
Last year RISC-V cores made it into low-cost hardware with neural network and audio accelerator to speed up artificial intelligence workloads at the edge such as object recognition, and speech processing. More precisely, Kendryte K210 dual-core RISC-V processor was found in Sipeed MAIX modules and boards going for $5 and up. Since then a few other variants and kits have been made available including Seeed Studio Grove AI HAT that works connected to a Raspberry Pi or in standalone mode. Seeed Studio has now released another board with Kendryte K210 RISC-V AI processor, but based on Arduino UNO form factor and equipped with an ESP32 module for WiFi and Bluetooth connectivity. Typical applications would include smart home (robot cleaners or smart speakers), medical devices, factory 4.0 (intelligent sorting or monitoring of electrical equipment), as well as agriculture, and education.
Machine learning is getting lots of attention in the maker community, expanding outward from the realms of academia and industry and making its way into DIY projects. With traditional programming you explicitly tell a computer what it needs to do using code; with machine learning the computer finds its own solution to a problem, based on examples you've shown it. You can use machine learning to work with complex datasets that would be very difficult to hard-code, and the computer can find connections you might miss! How does machine learning (ML) actually work? Let's use the classic example: training a machine to recognize the difference between pictures of cats and dogs.