NIVO Hub

A performance monitoring device for horses

Solution

SOFTWARE

^

C++17

^

Bluetooth™ LE 5.2 radio stack

^

boost sml

^

CMake

^

python

TEAM

2 x Software Engineers

Problem

We were contacted by Danish startup company Nivo. They were developing a performance monitoring device for horses. Nivo handled hardware development internally, but they needed someone for firmware with experience using a specific BLE SoC.
As we had experience working on the same SoC platform on a BLE product, we were a perfect match for the task.

Solution

Firmware features event-driven design utilizing modern C++. MCU is in low power mode when idle. Low power mode functionality for every external IC is implemented as well. The device is charged wirelessly. Firmware sets up proper settings for battery charging IC. A fuel gauge is used for monitoring battery levels and energy consumption. A sensor fusion algorithm is applied to raw IMU data to get the device orientation in space. IMU data can be streamed over BLE to smartphones or stored locally and transferred to smartphones on demand. Firmware performs calibration for the IMU sensors.

The device implements Firmware over the air update (FUOTA) procedures using a custom bootloader.

We developed a special GUI tool in python for interfacing with devices for development and testing purposes.

Result

Robust and power-optimized firmware. Using FUOTA the device is upgradable by the end-user over her smartphone. The flexible design allows for adding new features easily without breaking the existing functionality.

Semblie is a hardware and software development company based in Europe. We believe that great products emerge from ideas that solve real-world problems.