Syntiant TinyML Board

The Syntiant TinyML Board is a tiny development board with a microphone and accelerometer, USB host microcontroller and an always-on Neural Decision Processor™, featuring ultra low-power consumption, a fully connected neural network architecture, and fully supported by Edge Impulse. You'll be able to sample raw data, build models, and deploy trained embedded machine learning models directly from the Edge Impulse studio to create the next generation of low-power, high-performance audio interfaces.

Syntiant TinyML BoardSyntiant TinyML Board

Syntiant TinyML Board

The Edge Impulse firmware for this development board is open source and hosted on GitHub.

Installing dependencies

To set this device up in Edge Impulse, you will need to install the following software:

Connecting to Edge Impulse

1. Download the firmware

Download the firmware and double-click on the script for your OS. The script will flash the Arduino firmware and a default model on the NDP101 chip to recognize Go and Stop commands.


Flashing issues

0x000000: read 0x04 != expected 0x01
Some flashing issues can occur on the Serial Flash. In this case, open a Serial Terminal on the TinyML board and send the command: :F. This will erase the Serial Flash and should fix the flashing issue.

2. Connect the development board to your computer

Connect the Syntiant TinyML Board directly to your computer's USB port. Linux, Mac OS, and Windows 10 platforms are supported.

3. Checking the Syntiant TinyML Board enumerates as a USB microphone

Check that the Syntiant TinyML enumerated as "TinyML" or "Arduino MKRZero". For example, in Mac OS you'll find it under System Preferences/Sound:

Syntiant TinyML Board Enumerated as Arduino MKRZeroSyntiant TinyML Board Enumerated as Arduino MKRZero

Syntiant TinyML Board Enumerated as Arduino MKRZero

and in Windows under Device Manager you'll find it under Audio inputs and outputs:

Next steps: building a machine learning model

With everything set up you can now build your first machine learning model and evaluate it using the Syntiant TinyML Board with this tutorial:


  • How to use Arduino-CLI with macOS M1 chip? You will need to install Rosetta2 to run the Arduino-CLI. See details on Apple website.
  • Board is detected as MKRZero and not TinyML: when compiling using the Arduino IDE, the board name will change from TinyML to MKRZero as it automatically retrieves the name from the board type. This doesn't affect the execution of the firmware.
  • How to label my classes? The NDP101 chip expects one and only negative class and it should be the last in the list. For instance, if your original dataset looks like: yes, no, unknown, noise and you only want to detect the keyword 'yes' and 'no', merge the 'unknown' and 'noise' labels in a single class such as z_openset (we prefix it with 'z' in order to get this class last in the list).

Did this page help you?