This short tutorial describes a way to make a virtual machine configured for creating and running machine learning models created using Edge Impulse plaform, for a Silicon Labs Thunderbird Sense 2 Iot Kit.
The virtualization environment is VirtualBox, and the guest machine runs Linux Mint 20.1.
- Hardware: a 64-bit computer with enough memory so that the VM can be granted 16 GB, with a few tens of GB available on the disk, and one free USB A port
- Hardware (bis): a Silicon Labs Thunderboard Sense 2 board with an USB A / micro USB B cable
- Developer:
- basic knowledge of Linux (knowing the most common commands...)
- basic knowledge of VirtualBox (knowing how to create a virtual machine...)
Check this guide. Don't forget to add the user to dialout group, as stated.
Install g++ (required by Edge Impulse CLI installation):
$ sudo apt install g++
Install nvm as described here.
Then install npm:
$ nvm install v14.16.0 # The current LTS version.
Install screen:
$ sudo apt install screen
Install Edge Impulse CLI:
$ npm install -g edge-impulse-cli
Several warnings and notes are displayed. Let's suppose we can ignore them...
Signup on Edge Impulse website.
Connect the Thunderboard Sense 2 board to a USB port of the host machine. Ask VirtualBox to capture it for the virtual machine: in VirtualBox menu for the VM, select Devices > USB and tick Silicon Labs J-Link OB [0100]. To make the capture permanent, select Devices > USB > USB Settings... and add a USB device filter for the board.
Then follow Edge Impulse instructions.
If you face the Error while connecting to CPU problem when flashing the board with the Edge Impulse binary file, push the board RESET button, keep it pushed until you start copying the binary file to the TB004 drive, and release it (installing Simplicity Studio 5 as proposed in the instructions above did not correct the problem for me while using the RESET button did it).
Follow the continuous motion recognition tutorial, for instance.