I’d like to build an activity tracker using Arduino Nano 33 BLE Sense or Arduino Nano 33 IoT similar to Sheep Activity Tracker. I need to collect data samples of different activity types. But these activities require some freedom of movements. Arduino Nano 33 BLE Sense doesn’t have WiFi, but has BLE. Arduino Nano 33 IoT has WiFi, but is not supported by Edge Impulse. I’m wondering if there is an option to perform sampling of data from MCU over Bluetooth?
I’m thinking about the following options:
MCU->RPi (BlueZ)->Data Forwarder
MCU->Android app->Ingestion API
Could you please let me know if I can reuse existing solutions or if there are any projects I can use as starting point?
Yeah the best way would be 1) send signal to device to collect data, 2) sample all data on device, and put together in a file, 3) offload file back over BLE to ingestion (this is what we’ll do with Nordic). But that requires a lot more engineering.
Thank you for the details of the design! Yes, it seems much more complicated. But it provides a better control on the sampling process and eliminates limits on transfer rate.
I’m not sure if it will be possible to get more than 115200 bps using UART service over BLE. I need to calculate if it will provide enough throughput for sampling for the activity tracker use case. It will take approximately 18 bytes (without bit-packing) to capture x, y, z. 115200/80=14400bytes, 14400/18=800 samples. So transfer rate of 800 samples per second should be OK.