AIfES for Arduino high-efficiency AI framework for microcontrollers becomes open source

AIfES (AI for Embedded Systems) is a standalone, high-efficiency, AI framework, which allows the Fraunhofer Institute for Microelectronic Circuits and Systems, or Fraunhofer IMS for short, to train and run machine learning algorithms on resource-constrained microcontrollers.

So far the framework was closed-source and only used internally by Fraunhofer IMS, but following a collaboration with Arduino, AIfES for Arduino is now open-source and free to use for non-commercial projects.

The framework has been optimized to allow 8-bit microcontrollers such as the one found in Arduino Uno to implement an Artificial Neural Network (ANN) that can be trained in moderate time. That means offline inference and training on small self-learning battery-powered devices is possible with AIfES without relying on the cloud or other devices.

The library implements Feedforward Neural Networks (FNN) that can be freely parameterized, trained, modified, or reloaded at runtime. Programmed in C language, AIfES uses only standard libraries based on the GNU Compiler Collection (GCC). Fraunhofer IMS also says it is compatible with other AI software frameworks such as Keras or TensorFlow.

AIfES is offered within a dual license model: free of charge for open-source software under the GNU General Public License (GPL) version 3, but for commercial products, a license agreement must be signed with Fraunhofer IMS.

Since the institute has been using the library for a number of years, several demonstrators have been showcased, including a handwriting recognition system realized on an Arduino Uno (see video below), a wireless current sensor for condition monitoring, and a gesture recognition system.

If you’d like to give it a try and learn more about AIfES for Arduino, head over to the Github repository to download and install the library, access code samples, and read the documentation. Note you may also need to install the Arduino_CMSIS-DSP library for some of the samples, and edit the code following the instructions in the source code to build an AIfES sketch successfully.

AIfES for Arduino – AI training example for Arduino Nano 33 BLE Sense board

More details about the solution may be found on Fraunhofer IMS website.

Share this:

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

3 Replies to “AIfES for Arduino high-efficiency AI framework for microcontrollers becomes open source”

    1. It does not necessarily require lots of resources, it’s just that common modern use cases like to show face recognition and such features that require multiple layers and large patterns, but I’ve done character recognition 25 years ago that used to work pretty fine with 8×8 pixels, that could be implemented as a single 8-bit float if desired.

Leave a Reply

Your email address will not be published. Required fields are marked *