Hacking a USB blood pressure meter
A blood pressure meter with a USB port happened to land into my hands, only Windows was supported for downloading data to a PC, and I wanted to see how the device interacted with the software and try to “free” it so that it could be used elsewhere.
The device is a Visomat Double Comfort, IMHO it is overpriced already (note, with no backup battery to keep the clock when you change the main batteries), and the limitation on what software you could use to access your data was upsetting.
The result of my efforts to make it more accessible can be found in the visomat-utils repository, in the README there are some details about the communication protocol and the data format used by the device.
The user manual of the device says that when connected to the PC the unit cannot perform pressure measurements, well this is not completely true, there is a command to start a new measurement via USB, however I didn't find how to restore USB communication after the measurement. BTW, if anyone find a creative use of a USB triggered air pump, let me know :).
I didn't feel like tearing the device apart and dump the firmware, as I am not the owner of the device, but maybe some more commands can be found by looking there.
Design decisions
The original developers decided to expose the device as a USB CDC (in the ACM variant) and then use a custom protocol over USB bulk messages, that makes it necessary to install some CDC drivers on Windows even if the serial interface is not actually used.
IIRC an alternative way to use custom USB protocols on Windows is to use fake HID devices, which do not require the user to install any drivers, anyone more into Windows can confirm that?
Final words
I've seen that there are more open and cheap blood pressure meters, like the ewh-bp-project. Does anyone know if device like that are already in production or if there are similar alternatives to recommend?
Comments
Post new comment