Nordic Semi Thingy:53
The Nordic Thingy:53™ is an easy-to-use prototyping platform, it makes it possible to create prototypes and proof-of-concepts without the need to build custom hardware. Thingy:53 is built around the nRF5340 SoC. The capacity of its dual Arm Cortex-M33 processors enables it to do embedded machine learning (ML), both collecting data and running trained ML models on the device. The Bluetooth Low Energy radio allows it to connect to smart phones, tablets, laptops and similar devices, without the need for a wired connection. Other protocols like Thread, Zigbee and proprietary 2.4 GHz protocols are also supported by the radio. It also includes a well of different integrated sensors, an NFC antenna, and has two buttons and one RGB LED that simplifies input and output.
Nordic's Thingy:53 is fully supported by Edge Impulse and every Thingy:53 is shipped with Edge Impulse firmware already flashed. You'll be able to sample raw data, build models, and deploy trained machine learning models directly out-of-the-box via the Edge Impulse Studio or the Nordic nRF Edge Impulse iPhone and Android apps over BLE connection. The Thingy:53 is available for around 120 USD from a variety of distributors.
The Edge Impulse firmware for this development board is open source and hosted on GitHub: edgeimpulse/firmware-nordic-thingy53.
Thingy:53

Installing dependencies

To set this device up in Edge Impulse via USB serial or external debug probe, you will need to install the following software:
  1. 1.
    nRF Connect for Desktop v3.11.1 (only needed to update device firmware through USB or external debug probe).
  2. 3.
    On Linux:
    • GNU Screen: install for example via sudo apt install screen.
Problems installing the CLI?

Updating the firmware

Brand new Thingy:53 devices will work out-of-the-box with the Edge Impulse Studio and the Nordic nRF Edge Impulse iPhone and Android apps. However, if your device has been flashed with some other firmware, then follow the steps below to update your device to the latest Edge Impulse firmware.

1. Connect the development board to your computer

Use a micro-USB cable to connect the development board to your computer. Then, set the power switch to 'on'.

2. Download the firmware

Download the latest Edge Impulse firmware:

3. Update the firmware

Follow Nordic's instructions to update the firmware on the Thingy:53 through your choice of debugging connection:

Connecting to Edge Impulse

Through nRF Edge Impulse mobile app

Through serial connection

With all the software in place it's time to connect the development board to Edge Impulse. From a command prompt or terminal, run:
1
edge-impulse-daemon
Copied!
This starts a wizard which asks you to log in and choose an Edge Impulse project. If you want to switch projects run the command with --clean.
If prompted to select a device, choose ZEPHYR:
1
? Which device do you want to connect to?
2
❯ /dev/tty.usbmodem141301 (ZEPHYR)
Copied!
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.
Thingy:53 in Devices tab

Next steps: building a machine learning model

With everything set up you can now build your first machine learning model with this tutorial:
Looking to connect different sensors? The Data forwarder lets you easily send data from any sensor into Edge Impulse.

Connecting to the nRF Edge Impulse mobile application

Now that you have created an Edge Impulse account and trained your first Edge Impulse machine learning model, using the Nordic nRF Edge Impulse app you can deploy your impulse to your Nordic Thingy:53 and acquire/upload new sensor data into your Edge Impulse projects.

Installation & Login

  1. 1.
    Download and install the Nordic nRF Edge Impulse app for your iPhone or Android phone.
  2. 2.
    Open the app and login with your edgeimpulse.com credentials:
  3. 3.
    Select your Thingy:53 project from the drop-down menu at the top:

Connect or remove a device

Select the Devices tab to connect to your Thingy:53 device to your mobile phone:
Select a device.
Connect a new device.
Connected devices.
To remove your connected Thingy:53 from your project, select the connected device name and scroll to the bottom of the device page to remove it.
Successfully connected Thingy:53.
Delete a connected Thingy:53.

Data Acquisition

To view existing data samples in your Edge Impulse project, select the Data Acquisition tab. To record and upload a new data sample into your project, click on the "+" button at the top right of the app. Select your sensor, type in the sample label, and choose a sample length and frequency, then select Start Sampling.
Data acquisition tab.
Record new data.
Start sampling new data.

Deployment

Build and deploy your Edge Impulse model to your Thingy:53 via the Deployment tab. Select your project from the top drop-down, select your connected Thingy:53 device, and click Build:
The app will start building your project and uploading the firmware to the connected Thingy:53:
Building...
Uploading...
Success!
If you encounter connection errors during deployment, please see Troubleshooting.

Inferencing

Every Thingy:53 is shipped with a default Edge Impulse model. This model is created from the Tutorial: Continuous motion recognition and it's corresponding Edge Impulse project.
Select the Inferencing tab to view the inferencing results of the model flashed to the connected Thingy:53:

Settings

Select the Settings tab to view your logged-in account information, BLE scanner settings, and application version. Click on your account name to view your Edge Impulse projects and logout of your account.
Settings tab.
Projects and logout.

Troubleshooting

Lost BLE connection to device
  • Reconnect your device by selecting your device name on the Devices tab and click "Reconnect".
  • Make sure power cables are plugged in properly.
  • Do not use iPhone/Android app multitasking during data acquisition, firmware deployment, or inferencing tasks, as the BLE streaming connection will be closed.