
Syntiant TinyML Board
IMU data acquisition - SD CardAn SD Card is required to use IMU data acquisition as the internal RAM of the MCU is too small. You don’t need the SD Card for inferencing only or for audio projects.
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
Select one of the 2 firmwares below for audio or IMU projects: Insert SD Card if you need IMU data acquisition and connect the USB cable to your computer. Double-click on the script for your OS. The script will flash the Arduino firmware and a default model on the NDP101 chip.Flashing issues0x000000: read 0x04 != expected 0x01Some 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. Setup the Syntiant TinyML Board to collect data
Audio - USB microphone (macOS/Linux only) Check that the Syntiant TinyML enumerates as “TinyML” or “Arduino MKRZero”. For example, in Mac OS you’ll find it under System Preferences/Sound:
Syntiant TinyML Board Enumerated as Arduino MKRZero
Audio acquisition - Windows OSUsing the Syntiant TinyML board as an external microphone for data collection doesn’t currently work on Windows OS.
--clean
.
Alternatively, recent versions of Google Chrome and Microsoft Edge can collect data directly from your development board, without the need for the Edge Impulse CLI. See this blog post for more information.
That’s all! Your device is now connected to Edge Impulse. To verify this, go to your Edge Impulse project, and click Devices. The device will be listed here.

Device connected to Edge Impulse
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:FAQ
- Using the Arduino-CLI with a macOS M1 chip? You will need to install Rosetta2 to run the Arduino-CLI. See details on Apple website.
- 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 asz_openset
(we prefix it with ‘z’ in order to get this class last in the list).