The Nordic Semiconductor Thingy:91 is an easy-to-use battery-operated prototyping platform for cellular IoT using LTE-M, NB-IoT and GPS. It is ideal for creating Proof-of-Concept (PoC), demos and initial prototypes in your cIoT development phase. Thingy:91 is built around the nRF9160 SiP and is certified for a broad range of LTE bands globally, meaning the Nordic Thingy:91 can be used just about anywhere in the world. There is an nRF52840 multiprotocol SoC on the Thingy:91. This offers the option of adding Bluetooth Low Energy connectivity to your project.
Nordic's Thingy:91 is 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. Thingy:91 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-thingy91.
To set this device up in Edge Impulse, you will need to install the following software:
- nRF Connect for Desktop v3.7.1
- Edge Impulse CLI.
- On Linux:
- GNU Screen: install for example via
sudo apt install screen.
- GNU Screen: install for example via
Problems installing the CLI
See the Installation and troubleshooting guide.
Before you start a new project, you need to update the Thingy:91 firmware to our latest build.
Use a micro-USB cable to connect the development board to your computer. Then, set the power switch to 'on'.
Download the latest Edge Impulse firmware. The extracted archive contains the following files:
firmware.hex: the Edge Impulse firmware image for the nRF9160 SoC, and
connectivity-bridge.hex: a connectivity application for the nRF52840 that you only need on older boards (hardware version < 1.4)
- Open nRF Connect for Desktop and launch the Programmer application.
- Scroll down in the menu on the right and make sure Enable MCUboot is selected.
- Switch off the Nordic Thingy:91.
- Press the multi-function button (SW3) while switching SW1 to the ON position.
- In the Programmer navigation bar, click Select device.
- In the menu on the right, click Add HEX file > Browse, and select the firmware.hex file from the firmware previously downloaded.
- Scroll down in the menu on the right to Device and click Write:
- In the MCUboot DFU window, click Write.
When the update is complete, a Completed successfully message appears.
- You can now disconnect the board.
Thingy:91 hardware version < 1.4.0
Updating the firmware with older hardware versions may fail. Moreover, even if the update works, the device may later fail to connect to Edge Impulse Studio:
[SER] Serial is connected, trying to read config... [SER] Failed to get info off device Timeout when waiting for > (timeout: 5000) onConnected
In these cases, you will also need to flash the
connectivity-bridge.hexonto the nRF52840 in the Thingy:91. Follow the steps here to update the nRF52840 SOC application with the
connectivity-bridge.hexfile through USB.
If this method doesn't work, you will need to flash both hex files using an external probe.
With all the software in place it's time to connect the development board to Edge Impulse. From a command prompt or terminal, run:
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
The Thingy:91 exposes multiple UARTs. If prompted, choose the first one:
? Which device do you want to connect to? (Use arrow keys) ❯ /dev/tty.usbmodem14401 (Nordic Semiconductor) /dev/tty.usbmodem14403 (Nordic Semiconductor)
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.
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.
Updated 17 days ago