SiLabs Thunderboard Sense 2
The Silicon Labs Thunderboard Sense 2 is a complete development board with a Cortex-M4 microcontroller, a wide variety of sensors, a microphone, Bluetooth Low Energy and a battery holder - and it's fully supported by Edge Impulse. You'll be able to sample raw data, build models, and deploy trained machine learning models directly from the studio - and even stream your machine learning results over BLE to a phone.
This board is Not recommended for new designs. For a replacement, see the EFR32xG24 Dev Kit which is also fully supported by Edge Impulse
The Edge Impulse firmware for this development board is open source and hosted on on GitHub: edgeimpulse/firmware-silabs-thunderboard-sense-2.
Installing dependencies
To set this device up in Edge Impulse, you will need to install the following software:
On Linux:
GNU Screen: install for example via
sudo apt install screen
.
Problems installing the CLI?
See the Installation and troubleshooting guide.
Connecting to Edge Impulse
With all the software in place it's time to connect the development board to Edge Impulse.
1. Connect the development board to your computer
Use a micro-USB cable to connect the development board to your computer. The development board should mount as a USB mass-storage device (like a USB flash drive), with the name TB004
. Make sure you can see this drive.
2. Update the firmware
The development board does not come with the right firmware yet. To update the firmware:
Drag the
silabs-thunderboard-sense2.bin
file to theTB004
drive.Wait 30 seconds.
3. Setting keys
From a command prompt or terminal, run:
This will start a wizard which will ask you to log in and choose an Edge Impulse project. If you want to switch projects run the command with --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.
4. Verifying that the device is connected
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.
Bluetooth Demo
Our firmware is equipped with a simple BLE demo showing how to start/stop the inference over the BLE and acquire the results.
To use the demo, first install the EFR Connect BLE Mobile App on your mobile phone:
Make sure your board is flashed with a pre-built binary. Power on the board and run the EFR Connect BLE Mobile App
Scan your neighborhood for BLE devices
Look for the device named Edge Impulse and tap Connect
Scroll down to Unknown service with UUID
DDA4D145-FC52-4705-BB93-DD1F295AA522
and select More InfoSelect Write for characteristics with UUID
02AA6D7D-23B4-4C84-AF76-98A7699F7FE2
In the Hex field enter
01
and press Send. This will start inferencing, the device should start blinking with LEDs.For another characteristic with UUID
61A885A4-41C3-60D0-9A53-6D652A70D29C
enable Notify and observe the reported inference results.To stop the inference, send
00
to the characteristics02AA6D7D-23B4-4C84-AF76-98A7699F7FE2
Next steps: building a machine learning model
With everything set up you can now build your first machine learning model with these tutorials:
Looking to connect different sensors? The Data forwarder lets you easily send data from any sensor into Edge Impulse.
Did you know? You can also stream the results of your impulse over BLE to a nearby phone or gateway: see Streaming results over BLE to your phone.
Troubleshooting
Dragging and dropping Edge Impulse .bin file results in FAIL.TXT
When dragging and dropping an Edge Impulse pre-built .bin firmware file, the binary seems to flash, but when the device reconnects a FAIL.TXT file appears with the contents "Error while connecting to CPU" and the following errors appear from the Edge Impulse CLI impulse runner:
To fix this error, install the Simplicity Studio 5 IDE and flash the binary through the IDE's built in "Upload application..." menu under "Debug Adapters", and select your Edge Impulse firmware to flash:
Your Edge Impulse inferencing application should then run successfully with edge-impulse-run-impulse
.
Last updated