The FP-SNS-DATALOG2 function pack for B-U585I-IOT02A, STEVAL-STWINBX1, STEVAL-STWINKT1B, STEVAL-MKBOXPRO, B-U585I-IOT02A, and X-NUCLEO-IKS02A1 with NUCLEO-U575ZI-Q or with NUCLEO-H7A3ZI-Q represents an evolution of FP-SNS-DATALOG1. It provides a comprehensive solution to save data from any combination of sensors and microphones configured up to the maximum sampling rate.
It also natively supports STEVAL-C34KAT1, STEVAL-C34KAT2, STEVAL-C34DIL24 and STEVAL-MKI230KA add-ons for the STEVAL-STWINBX1.
FP-SNS-DATALOG2 is based on application-level modules (SensorManager, TagManager, DPU Digital Processing Units) that a final user can reuse and easily extend to build its custom application. These application modules adopt state-of-the-art design patterns and support natively low-power modes.
To enable this solution, the function pack has been built on top of eLooM, an embedded light object oriented framework for STM32 applications specifically designed for embedded low power applications powered by STM32.
The DATALOG2 application allows storing sensor data onto a microSD™ card (secure digital high capacity - SDHC) formatted with the FAT32 file system, or stream to a PC via USB (WinUSB class) using the companion host software (cli_example) provided for Windows and Linux. It can also configure the ISM330DHCX and the LSM6DSV16X machine learning core unit (MLC) and the ISM330IS intelligent sensor processing unit (ISPU) to read the output of the selected algorithm.
This application allows downloading the selected configuration from a JSON file to the board as well as starting and controlling data acquisition. The same set of commands can be operated from a host via Command Line Interface or via Bluetooth using the STBLESensor app (available for Android and iOS from v4.17 and above), which lets you manage the board and sensor configurations, start/stop data acquisition on SD card, and control data labeling.
To read and process sensor data acquired using FP-SNS-DATALOG2, a few easy-to-use scripts in Python are provided within the software package.
The scripts have been developed and tested with Python 3.10.
The package also includes an example of ultrasound condition monitoring (UltrasoundFFT) for STEVAL-STWINBX1 that calculates the FFT of the IMP23ABSU analog microphone signal and streams the result to a PC GUI via USB. The microphone sampling rate is set by default to 192 kHz whereas the microphone bandwidth is up to 80 kHz.
The software is available also on GitHub, where the users can signal bugs and propose new ideas through [Issues] and [Pull Requests] tabs.