TshWatch is a project by [Ivan / @pikot] that he’s been working on for the past two years. [Ivan] explains that he aims to create a tool meant to help you understand your body’s state. Noticing when you’re stressed, when you haven’t moved for too long, when your body’s temperature is elevated compared to average values – and later, processing patterns in yourself that you might not be consciously aware of. These are far-reaching goals that commercial products only strive towards.
At a glance it might look like a fitness tracker-like watch, but it’s a sensor-packed logging and measurement wearable – with a beautiful E-Ink screen and a nice orange wristband, equipped with the specific features he needs, capturing the data he’d like to have captured and sending it to a server he owns, and teaching him a whole new world of hardware – the lessons that he shares with us. He takes us through the design process over these two years – now on the fifth revision, with first three revisions breadboarded, the fourth getting its own PCBs and E-Ink along with a, and the fifth now in the works, having received some CAD assistance for battery placement planning. At our request, he has shared some pictures of the recent PCBs, too!
And sensor-packed, it is! There’s a MAX30100 for heart rate measurement, DS3231 RTC for timekeeping and interrupts, MLX90615 IR temperature sensor for contact-less skin temperature measurements, an LSM6DS3C IMU with, so to say, hardware-accelerated pedometer capabilities, and a BME680 air quality, humidity, pressure and temperature sensor. To keep the watch low-power despite the ESP32’s appetite, [Ivan] has conquered the ESP32’s ULP – a low-power co-processor capable of talking to all the project’s I2C devices. Having never written ULP Assembly before, he eventually wrote ULP drivers for all of the devices involved. As a result, it can already survive for over 36 hours at a single charge, and he is aiming to make it last a week.
[Ivan] invites you to join his effort – it takes time to build a device for a far-reaching and almost sci-fi realm goal like this, and he could use help in under-explored areas. He’s been mostly working with hardware and firmware so far, and if you’d like to help with software, datalogging, design/CAD, or improve any other areas, do join the Hackaday.io chatroom and see how far we can get from here! Hardware feature progress is being tracked on GitHub, and there’s also a video in Russian explaining the hardware architecture of the fourth revision and the challenges, caringly subtitled in English for us, embedded below.
What are we hackers looking for in a wrist-worn device aimed to help us day-to-day? We’ve discussed that with you all before.
I’m right now looking for a personal training monitor that doesn’t require a cloud presence or send my info to some remote company for processing.
They don’t exist.
I might recommend buttons on the device that can be used to log events. For example, wake up each morning and press a button 1-4 to indicate sleep quality, or press button when you get a headache (always 4 hours after eating chocolate? Maybe you’re allergic), or similar events.
I think there’s a lot of good medical questions that can be answered by doing personal experiments, such as tuning your diet or personal schedule. A personal data logger would make this sort of thing easy.
You can easily do that on your phone though. Easier to input data on a large touchscreen.
totally agree, phone best matches collecting that kind of information, main idea of my project is collecting body and environment data without additional actions.
“I’m right now looking for a personal training monitor that doesn’t require a cloud presence or send my info to some remote company for processing.
They don’t exist.”
Correct, but phones broadcast info back to the mothership either Google or Apple. This keeps your biometric info private.
*roll eyes*
With Apple health, data is stored on the phone, and it’s not required to backup to iCloud (and I think if you do it’s end-to-end encrypted so Apple can’t read it).
that is correct, the health data is only stored locally encrypted on your device, you are in control wether you want to backup the encrypted data tot the iCloud or give other apps access tot specific health measurents. See: https://www.apple.com/legal/privacy/data/en/health-app/
What? Why wouldn’t you want to share all your most intimate details or your daily life with a corporate entity that promises they won’t share your information without first making a profit? ;)
“I’m right now looking for a personal training monitor that doesn’t require a cloud presence or send my info to some remote company for processing.”
i had the idea to track my heart rate and i was surprised to find the same thing! i don’t actually care about my privacy, i just wanted to have control over the data-logging, so that i could use it. i don’t consider some web or android app interface to a cloud to be a viable way to get data — i’ve been burned too many times by bugs, abandonware, poor UI, poor data curation tools, and so on.
what i did find…a regular bubbling churn of different hacks to extract data from the cloud services…maybe some of them work but they all looked like the sort of thing that would mysteriously stop working at some point in the future. and there’s of course a bunch of people hacking fitness trackers (nRF52 etc), but just verifying that i was getting the easy-to-hack variant instead of the looks-identical-but-is-entirely-closed-off version was daunting. and then there’s pine watch, if you really want to start from scratch.
i mean, it’s a solvable problem, but jeesh i just want a consumer product that will let me extract a data file from it with my heart rate history, and it just doesn’t seem to exist???
I get the feeling that the ESP32 ULP exploration might be equally valuable (if documented well) as the rest of the project.
It was fascinating deepdive into ulp coding, I’ve collected decent experience, and have created 6 different sensors ulp drivers, the best is max30100 (not perfect and mind blowing, but it works), also I have plane to extend this library and add 2 another sensors drivers BMA400 and BME680.
I haven’t documented ulp code, but it open and any can use it as example and test it and off course I can share my knowledge.
yeah, I wrote an entire separate paragraph on ULP stuff alone, but when was looking over the article before submission, decided I had to cut it for brevity T__T but it’s mentioned+linked in the article and in the tags, so should be discoverable! (and now you’ve left a comment on it which also helps hehe)
Awesome watch! Not quite ready to replace my Pebble, but I’ll be keeping an eye on this one…