Streaming Classification Results Using the Nordic UART Service

In this blog, we’ll discuss how users of Edge Impulse and Nordic can actuate and stream classification results over BLE using Nordic’s UART Service (NUS). This makes it easy to integrate embedded machine learning into your next generation IoT applications. Seamless integration with nRF Cloud is also possible since nRF Cloud has native support for a BLE terminal. 

This is a companion discussion topic for the original entry at

I would like to do much of what is described in this blog, but I’m a bit curious and unsure about how to extract data from the EI (Edge Impulse) ML algorithm and pass it on to the rest of a bigger system with other sensors not using the EI resources. More specifically I’m wondering how to extract the results from an EI audio classification, and pass these on to be a part of a bigger solution.

Any tips or guidance on how to do this? Would be very much appreciated!

Hi @mathias think of an Edge Impulse model as a driver, but rather than getting raw sensor data you get predictions about what is happening out of it. You integrate it as any piece of code. For an example see and then specifically ei_run_impulse.cpp. Here you get predictions out, and you can write some code to detect events and toggle actions from there just like you would for any other type of sensor.

Thank you for your quick reply, @janjongboom!

Sounds like a good place to start.

1 Like