Nordic's Thingy:91 is a cellular-enabled IoT sensor prototyping platform based on the nRF9160 SiP and nRF52840 SoC. It "is packed with a multitude of sensors for motion, impact, air quality and much more, " and automatically streams data to Nordic’s nRF Connect for Cloud web interface, where you can monitor it from anywhere in the world.
We'll be following the official Getting Started guide, with a few additional notes from my own experience setting up the device. (Thanks to Bjørn Kvaale at Nordic for the help!)
Are you a visual learner? Here is Nordic's video tutorial for the setup process!
Also, here is the official user guide documentation.
Info centralizationThis process uses a few different numbers and PINs, so my first step was to copy all of those into a text file. Take off the Nordic Thingy:91 cover and grab the IMEI and PIN from the sticker on the device itself, and then also look at your iBasis SIM card and note down those numbers, including the ICCID, PIN, and scratch-off PUK. These are all useful to have on hand, ready to copy during the online setup.
Refer to the diagram in the official tutorial:
First, we'll be updating the modem firmware and application firmware to make sure you have the latest available functionality. We need to download a couple of tools:
Unarchive the firmware.zip file you just downloaded (thingy91_fw_...). (The firmware updating instructions say not to unzip it, but that is actually referring to another file inside this one, which starts with "mfw").
Launch nRF Connect for Desktop, find the "Programmer" tool, and hit the Install button next to it. Once it's installed, launch it and select Enable MCUBoot in the right-hand menu.
Plug the Thingy:91 into your computer via Micro USB while it is off, and turn it on in MCUBoot mode. To do this, hold down the center button and flip the switch to On. Release the button after one or two seconds. (In this mode, the LEDs will stay off.)
Select the device from the dropdown in the top left corner – its name should include "PCA20035":
Once that's active, click the Update modem button, then select the "mfwnrf9160...".zip file within the folder you just unzipped. The "mfw" stands for "modem firmware". (Do not unzip this one!) Click Open, and then, in the pop-up dialog, hit Write to start writing the new firmware to the device.
Once Step 2 finishes, it's time to update the application firmware. You may first need to re-enable MCUBoot mode, by switching the Thingy:91 off, and then on again while holding the center button.
Click Add HEX file in the top right corner, and click "Browse..." to find the file. (You can also drag and drop the file into the window.) Once again, go into the unarchived file you downloaded, and into the folder images_full, then choose the.hex file that starts with "thingy91_ltem_...". With that done, hit the Write button in the Programmer interface. This part may take a few minutes, but then you're done and ready to get connected!
Note: If you have trouble updating the firmware over USB, you can also try updating the device with a Segger J-Link debugger that is compatible with Arm Cortex-M33 chips, using a 10-pin SWD cable. It's a bit more challenging, but there are instructions here for app FW, and here for modem FW, in case you'd like to try that approach.
Online integrationFirst, if you haven't already done so, create an account at nrfcloud.com. Your device will be attached to this account. You'll be taken to the dashboard.
Once you've got the SIM card inserted and activated, and the device switched on and added to your account, you'll start to see data flowing in:
The "Terminal" box shows data coming in from the device.
As stated in the getting-started guide, you can manually enable the GPS as well; however, if your device isn't able to connect to GPS (which may occur if you're inside), it will drastically limit the speed of updates. This is because the Thingy:91 will try to get a GPS fix during the sleep interval while the Thingy:91 is not communicating with the base station. So, disabling GPS ensures more frequent updating of the other metrics.
Experiment!Time to get out there with your Thingy:91! Try placing it in different areas and mapping temperature, humidity, movement, and more.
Comments