Nordic Thingy:53 - Machine Learning Meets Embedded IoT In A Versatile Package!

Table of contents

RoadTest: Nordic Thingy:53 with Edge Impulse TinyML Solution

Author: abhayrjoshi

Creation date:

Evaluation Type: Evaluation Boards

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: ESP32 (with TinyML), Arduino Nano 33 BLE Sense, TI CC2650STK Sensor Tag (Partially), Raspberry Pi Zero W (with XAPIZ3500 HAT), SensorTile Box

What were the biggest problems encountered?: The device's on/off button is suboptimal in terms of functionality and user experience. An onboard SEGGER J-Link OB chip can be integrated to eliminate the requirement for an external debugger. The flap's durability under repeated fatigue tests may not be adequate. A reset button, in addition to the programmable button, and a power LED in proximity to the USB-C port could enhance the device's usability. Additionally, the upload process bar runs multiple times, which may require further attention.

Detailed Review:

The world of IoT is a fascinating and rapidly evolving field with endless possibilities for innovation and creativity. Nordic Semiconductor has been providing a versatile and easy-to-use platform that allows developers to quickly build prototypes and proofs-of-concept without the need for custom hardware. The Thingy series (e.g. the cellular IoT prototyping platform Thingy: 91) has been a popular choice among developers for rapid prototyping of portable devices.

This road test is focused on the Nordic Thingy: 53, which offers a range of sensors and embedded wireless connectivity, along with the processing power to run embedded machine learning models. With its advanced capabilities, the Nordic Thingy: 53 is the perfect tool for exploring the exciting intersection of machine learning and embedded IoT.

Physical Features

Unlike other models that feature a rubber-based enclosure, the Thingy: 53 has a plastic casing, and it comes with a standard 1350 mAh LiPo battery. Additionally, for those who are curious, there is ample space available inside to include additional electronics should the need arise for any. Although, the flap covering the ports doesn’t seem like it will withstand a lot of fatigue :)

image image

Design

The Thingy:53 packs a high-performance 128 MHz Arm Cortex-M33 application core with 1 MB Flash + 512 KB RAM, and an ultra-low power 64 MHz Arm Cortex-M33 network core with 256 KB Flash + 64 KB RAM, providing a significant improvement in performance (around 20% more) compared to the Cortex-M4, with 1.5 DMIPS/MHz and 4.09 CoreMark/MHz.

Equipped with a multi-protocol radio, it supports Bluetooth LE, Bluetooth mesh, Thread, and Zigbee, making it a versatile option for developing products for different IoT ecosystems. The Thread protocol compatibility can also help one develop for the Matter ecosystem. The Bluetooth Low Energy radio enables firmware updates and communication. It is also equipped with a broad range of integrated sensors, including environmental, color and light sensors, accelerometers, and a magnetometer, providing a rich source of data without the need for additional hardware. It also has an NFC-A tag (including antenna) with wake-on field and touch-to-pair features.

image

It is equipped with an onboard external connector that is compatible with Stemma, Qwiic, and Groove sensors. This allows for seamless integration with a wide range of sensors. Additionally, the bundled form factor current measurement and debug PCB is an incredibly useful tool for measuring consumption, particularly when executing machine learning on the edge. It also supports charging for the onboard battery through the USB-C.

image

Also, it has an RF front-end with two 2.4 GHz antennas (which might come in handy when trying to test the range - please note that output power above +10 dBM is not permitted in some regions):

  • ANT1 is connected to the nRF5340 through the nRF21540 RF FEM and supports TX gain of up to +20 dBm (default option).
  • ANT2 is connected to the nRF5340 through the RF switch and supports TX output power of up to +3 dBm.

image

Key Software

By default, the device does not come equipped with a built-in J-Link debug IC. However, it compensates for this by enabling the MCUboot bootloader with serial recovery support and a predefined static Partition Manager memory map.

  • Over-the-Air (OTA) update with the nRF Programmer mobile application
  • USB (MCUboot) update with the nRF Connect for Desktop Programmer application
  • External debug probe update with the nRF Connect for Desktop Programmer application

Test Scenario

The device’s prominent feature is its ability to efficiently capture and process data, specifically running machine learning inferencing. For this road test, I aimed to evaluate the device's data capturing capabilities by using it to address a problem statement from the Summer of Sensors Design Challenge (https://community.element14.com/challenges-projects/design-challenges/summer-of-sensors-design-challenge/b/blog/posts/summer-of-sensors-design-challenge---in-the-air-tonight-blog-1).

By utilizing the onboard environmental sensor and microphone, I should be able to seamlessly capture data to determine individual exposure levels, providing an opportunity to evaluate the system's ease of use. The onboard sensors of interest would be the BME688 (which boasts of onboard AI capabilities) and the VM3011, both of which are of high quality. The gas sensor can detect Volatile Organic Compounds (VOCs), volatile sulfur compounds (VSCs) and other gases such as carbon monoxide and hydrogen in the part per billion (ppb) range. The microphone with Adaptive ZEROPOWER ListeningTm technology automatically adjusts the acoustic threshold based on the background level of the environment. Maybe the piezo buzzer can be also used to generate an audio alert in case we reach our exposure limit for the day :)

image

image

image

As the device comes pre-installed with firmware to use with the edge impulse studio, no further setup action would be required. This evaluation is focused purely on assessing the device's workflow and ease-of-use, and is not intended to evaluate the feasibility of any solution. In the coming weeks, I will share a blog post that includes proper data collection and inferencing.

Initially, the device successfully established a connection, and the data from the sensors was visible. Unfortunately, it kept disconnecting after some time. However, after reflashing using the nRF Programmer for Thingy:53 and keeping the phone close to the device, the issue was resolved :)

image image image image

Capturing data is a breeze thanks to the intuitive data tab of the nRF Edge Impulse Application application. To demonstrate the device's capability, I recorded some sample microphone and environmental sensor data measurements using the app's data tab.

image image image image

image

image

image

The captured data can be easily visualised on Edge Impulse platform. For now, I will use the precollected datasets to run inferencing on the device.

For Audio

image

The mobile application provides easy access to the dataset, which can be deployed by accessing the deploy tab. Although the build process is generally quick for small datasets, it may take a few minutes. It is worth noting that the uploading bar runs multiple times, which may indicate a bug that requires fixing. After the deployment process is complete, we can move on to the inference tab and start the classification process. The results will display the classification categories (flow: inside - outside - playing video - inside).

image image image image

The inferencing process can run in the background, although Edge Impulse warns against it:

image

For the Environmental Sensors:

The online sampling and inference were tested using the Inside/Outside crowdsourced project.

image

image

And, as you can see, with a few clicks, you can acquire the data and run infer your results seamlessly!

image

Conclusion

The device's onboard sensors offer high-quality measurements and AI capabilities, making them ideal for collecting and analyzing quality data. Despite occasional disconnections during testing, the device's workflow and ease-of-use proved satisfactory. The mobile application allows for straightforward recording and deployment of datasets, while the inference tab provides accurate classification results. Also, by utilizing the wake-on-event sensors capability, it can operate in a low-power mode and wake up only when a relevant event occurs, thus optimizing battery life and reducing power consumption.

Should you choose the other Thingy (Thingy:91)?

  • If you need the cellular IoT connectivity for your projects
  • If you need the 4 x N-MOS transistor for external DC motors or LEDs

Additional Reading:

Anonymous