The Nordic Semiconductor nRF9160 DK is a development board with an nRF9160 SIP incorporating a Cortex M-33 for your application, a full LTE-M/NB-IoT modem with GPS along with 1 MB of flash and 256 KB RAM. It also includes an nRF52840 board controller with Bluetooth Low Energy connectivity. The Development Kit 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. As the nRF9160 DK does not have any built-in sensors we recommend you to pair this development board with the X-NUCLEO-IKS02A1 shield (with a MEMS accelerometer and a MEMS microphone). The nRF9160 DK is available for around 150 USD from a variety of distributors including Digikey.
With all the software in place it's time to connect the development board to Edge Impulse.
1. Plugging in the X-NUCLEO-IKS02A1 MEMS expansion shield
Remove the pin header protectors on the nRF9160 DK and plug the X-NUCLEO-IKS02A1 shield into the development board.
X-NUCLEO-IKS02A1 shield plugged in to the nRF9160 DK
Note: Make sure that the shield does not touch any of the pins in the middle of the development board. This might cause issues when flashing the board or running applications. You can also remove the shield before flashing the board.
Make sure the shield does not touch any of the pins in the middle of the development board.
2. Connect the development board to your computer
Use a micro-USB cable to connect the development board to your computer. There are two USB ports on the development board, use the one on the short side of the board. Then, set the power switch to 'on'.
Connect a micro USB cable to the short USB port on the short side of the board (red). Make sure the power switch is toggled on.
3. Update the firmware
The development board does not come with the right firmware yet. To update the firmware:
The development board is mounted as a USB mass-storage device (like a USB flash drive), with the name JLINK. Make sure you can see this drive.
Flash the board controller, you only need to do this once. Go to step 4 if you've performed this step before.
Ensure that the PROG/DEBUG switch is in nRF52 position.
Copy board-controller.bin to the JLINK mass storage device.
Ensure that the PROG/DEBUG switch is in nRF52 position to flash the board controller.
Flash the application:
Ensure that the PROG/DEBUG switch is in nRF91 position.
Run the flash script for your Operating System.
Wait 20 seconds and press the BOOT/RESET button.
4. Setting keys
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 --clean.
The nRF9160 DK exposes multiple UARTs. If prompted, choose the top one:
? Which device do you want to connect to? (Use arrow keys)
❯ /dev/tty.usbmodem0009601707951 (SEGGER)
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.
5. 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.
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 with these tutorials: