A Unified Platform for Physiological Sensors

Last Updated on January 1, 2023 by pg@petergamma.org

Since several years, we are working on a long-term project to visualize and analyse data from physiological sensors.

We started in the Garmin forum

Until moderator Trux locked our account and deleted our posts about a training tracker and Max Candocia .csv tools. Trux argument: spamming. Both tools are GITHUB projects which are non-commercial products We are convinced that we will the Garmin users against moderator Turx, but the fight was not worth for us to this date.

We continued in the Matlab forum

We found out there, that Matlab could be a platform for our project, since BLE sensors where supported by Matlab. But then Matlab supporter Adam Danz deleted all our questions and locked our forum. Reason: “clearly a spammer”. We are convinced that we would win the Matlab users against Adam Danz. Here is is our statement concerning what Adam Danz says:

“Conflict of Interest Statement

The authors declares that this site was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.”

But it was not worth for us to this date to fight against him. Also Matlab is not worth for us as a platform. We arrived at a setup with three devices, which are described here:

The example WordPress

WordPress is a commercial product which offers different subscriptions. There are also WordPress plugins available which can be downloaded. Some of those are free, some of those can be bought. Plugins can be downloaded, activated, inactivated and uninstalled.

The example Home Assistant

Home Assistant has integrations which can be downloaded and installed in Home Assistant. Home Assistant offers a huge number of integrations. Home Assistant offers even more YouTube videos, how to connect devices to Home Assistant. And the community is huge, it is the second most active Python platform.

Sensors which are integrated can be streamed into InfluxDB, what the example of the Apple watch shows:

There are sensors in Home Assistant which are connected over MQTT to Home Assistant. But sensors with MQTT support are rare and expensive.

The example ANT+ Sensors

Reto Roelli has published an example with ANT+ and MQTT on his Infinity Flow site. But we do not know of a commercial ANT+ product, which supports MQTT, which would be helpful for our project. Furthermore, Retos code is not freely available.

The example BLE sports sensors with the example balenaHealth

balena has the balenaHealth. The balenaHealth device is connected to the balena cloud. It can be connected from there to the balena Home Assistant which is experimental. But do we want to have our physiological sensor data in a cloud? How To Electronics from India has an example for an IoT Based Patient Health Monitoring System using ESP32 Web Server. But we do not know of any applications for this devices. James Clutterbuck from Mind Monitor is against cloud solutions for EEG data as far as we know, for privacy reasons, we also.

The example OpenBCI sensors

OpenBCI offers LSL support. LSL is recommended by OpenBCI for software which supports LSL. We don t use software which support LSL. There is also the Python OpenBCI example available from Harrison Kynsley, an excellent Python coder.

The example Neurosity

AJ Keller and his colleague developed as far as we know the OpenBCI WFI shield, and then Neurosity. Neurosity uses a WIFI EEG stream in their EEG devices. The construction principle of Neurosity is that, that they place a mini PC as close as possible to the EEG device.There are EEG applications which need a fast EEG stream. Neurosity can be used for that. But the other physiological sensors we discussed here in our journal do not need a fast stream over LSL or MQTT, as for instance Garmin watches do not need it either.

The example Garmin watches

Garmin watches integrate several sensors like heart rate, step rate, breath rate into one device. Following the example of Garmin watches, we do not need expensive MQTT or LSL sensors for our setup.

The multi sensor setup we discussed here could solve our problem to integrate all sensor data in a single InluxDB:

It includes three separate devices, InfluxDB, LSL, MQTT, balena Cloud streams and other interesting features. But our setup as discussed here does not need LSL, MQTT, InfluxDB and Grafana. It is a multi sensor setup with only a view sensors, which is not very complicated. The easiest solution for us is to use Android apps which support the different sensor and load the sensor data over .csv into an SQLite database and write Python scripts to visualize and analyse our data.

This is far behind what is currently possible with contemporary software and hardware platforms, but it is the easiest solution for us. Development for physiological sensors is very slow, much slower than for house sensors. We don t need these contemporary platforms for our project, but they would be helpful, to have for instance all sensors in a single InfluxDB. As the example of WordPress and Home Assistant shows, it is possible, that different manufacturers of different companies work together on a single platform which is user friendly and easy to use.

We are looking forward to these solutions, and we are convinced that they will come, since they are straight forward and obviously, and we are convinced that many developers will adopt them sooner or later.