The search for the ultimate hacker’s smart watch probably won’t end any time soon. [emeryth] has nominated another possible candidate in the form of the SMA-Q2, and has made a lot of progress in making it accessible.
Also known as the SMA-TIME, the watch is based around the popular NRF52832 Bluetooth SoC, with a colour memory LCD, accelerometer, and a heart rate sensor on the back. The main feature that makes it so easy to hack is the stock bootloader on the NRF52832 that works with generic Nordic upload tool, making firmware upgrades a breeze via a smart phone. Unfortunately the bootloader itself is locked, so it must be completely wiped to gain debugging access. The hardware configuration has also been well reverse engineered with all the details available.
[emeryth] has most of the basic features working with his custom firmware, although it’s still in the early stages. He designed a new watch face that includes weather updates and basic audio controls. The 3-bit display’s power consumption has also been reduced by only refreshing the necessary parts. The heart rate sensor outputs the raw waveforms, and it’s pretty accurate after a bit of FFT and filtering magic. Built-in tap and tilt detection is available on the accelerometer, which works well, but strangely doesn’t appear to have been used in the stock firmware.
Unfortunately the original enclosure design that used screws was dropped for glued version. It’s still possible to open without breaking anything, just a bit more difficult. [emeryth] Another hardware hacker named [BigCorvus] has even designed a completely new open-source main board with a NRF52840 module and heart rate sensor on a small flex PCB, with everything up on GitHub.
We really hope the community takes a liking to this watch, and look forward to seeing some awesome hacking. This is an excellent addition to the list of candidates for the perfect hacker’s smart watch that [Lewin Day] has already investigated . We also see a lot of DIY smart watches including one with a beautiful wood-filled 3D printed housing and another with LED matrix display.
Correction: the alternative PCB is a parallel effort by BigCorvus.
https://github.com/BigCorvus/SMA-Q2_replacement_board
Thanks for the correction, I’ve updated the article.
Wow, thanks for mentioning. A new version of the board has been built and tested. I switched concepts, discarded the RTC and made it more similar to the original design. What’s really nice is the software that I#m currently writing for this v2 of the hardware. It has dual mode BLE to connect to other sensors and the phone at the same time, USB bootloader and USB flash drive functionality as well as gesture recognition via support vector machine.
Gonna publish the code and the new hardware design soon.
OK, new hardware and software is published:
https://hackaday.io/project/85463-color-open-source-smartwatch/log/173605-custom-board-v2-and-arduino-firmware-for-it
~$60 according to a quick search. For the poeple that wondered about that.
Actually the best price right now is around $35 on aliexpress and banggood.
how many gourmet hamburgers is that?
One,
I’ll make it as soon I get your payment on PayPal!
Seems like a great watch to port RebbleOS to. There is already a whole infrastructure, and RebbleOS (Pebble OS port) is quit capable. The Pebble watch uses an STM32 with 128Kb ram, ARM Cortex-M3 32-bit. An NRF52840 has an ARM Cortex-M4 64-bit, with 256Kb ram an 1Mb flash. Seems like RebbleOS would fit easily and have space left as well.
I hope someone will give it a try.
I think it would run on an NRF52832 as well, by the way. Just that it has only 64Kb ram. I think RebbleOS will run with such low amount of memory, but more ram is always better ;).
Last time I checked (although I wasn’t very active for at least half a year now), RebbleOS needs to keep a complete frame buffer in memory for Pebble app compatibility, which is why it wouldn’t fit into a NRF52832. The problem was discussed when the PineTime was announced.
I’m not sure what hardware the Pebble has but I’m assuming based on needing to store frame buffers in memory the display was very basic. The article states this has a memory LCD display so maybe that will free up the RAM needed for frame buffers?
The Pebble has a memory LCD too. The Pebble Time series even has an FPGA for driving the display to free up resources on the STM32
“ARM Cortex-M3 32-bit. An NRF52840 has an ARM Cortex-M4 64-bit”
None of the Cortex M micros are 64 bit.
Indeed. It’s 32-bit. Running at 64MHz, though. Maybe that’s where the confusion arose? :)
I’m really hoping that the Amazfit Bip will end up getting opened up in a straightforward manner for hacking the OS. One effort that seems to be showing some real promise is out of Russia called BipOS:
https://myamazfit.ru/threads/bip-mnvolkov-bipos-en.1087/
Not sure if there is something like a GitHub repo for it currently. The Android scene approach of scattering everything across forums drives me nuts.
Here is the developer’s GitHub project https://github.com/MNVolkov/libbip, work has begun on translating the comments and details of the library from Russian. Still wishing for even more access to the OS, but looks like it could be the beginning of something interesting.
Seconded. I love my BIP but some things could be better.
For instance, why isn’t there a way to manually indicate a lap when running?
It seems strange to me that this seems to be the state of the art in open smartwatches at a time when the big names are putting out beasts running Android or Tizen that nearly match our cellphones in specs. It’s almost like if today’s hot activity in Linux were desktops running on 80486s.
Don’t get me wrong. I can imagine doing a lot of neat things with one of these watches. My current watch, a Samsung Galaxy S2 (which I was given) seems like mostly wasted potential. It’s like whoever was in charge of the software had a few very narrowly defined usages in mind and development on anything else was stunted at best. I can definitely imagine someone who has the time to hack on it all day doing a lot more even with less powerful hardware. If I didn’t already have a dozen other projects to work on I might grab one of these myself.
It seems like a lot of what a smartwatch is good for though (IMHOP) is to be a remote for things that run on a phone. Unfortunately that puts OSS at a pretty big disadvantage as we need the authors of popular closed source apps to cooperate. (I want a watch app that controls Pandora and includes the “repeat song” button and channel changing)
nobody is going to waste their time on developing deep complex applications for hardware that will clearly be considered obsolete and primitive in a very short time. Face it all of these expensive “smart” watches we have today will quickly go on the junk heap next to the Zip drives and the MP3 players. The hardware is evolving very rapidly at this point, if you choose something and start writing around it, it could all go down the drain very quickly.
You are certainly correct. If anyone is looking for a fine timepiece I suggest a MINUTE REPEATER, a little more expensive than 25$ but you can pass it on for generations.
In addition to what “N” says about quick obsolescence, the Samsung Galaxy smart watches EAT battery. My guess is that they avoided doing anything cool with them simply because they were trying to make sure the watch only needed to be charged once per waking day (that is, try to make it last at least 16-18h on a charge… long enough to last until the user goes to bed again). My Galaxy S2 Classic only just barely managed that with the weak feature set it had. Adding any apps that could leverage sensors, WiFi, and bluetooth capabilities in any interesting ways is just going to drink battery, and they barely put a battery in that watch.
I’ve got one of those cheapy deallies, forgetting the generic model/type right now, they call them “android compatiable” but they’re running something else. Anyway, highly discouraged from hacking on that, because it’s more or less just a novelty or toy. Got a 200mAh battery I think, and just using it to look at the time a couple of times in the day the batt lasts maybe 12 hours, if you turn the bluetooth on and pair it to your phone that goes down to 6-8, if you actually try to leverage it’s entire feature set, play with the things on it, take a photo etc, that drops to as little as 2ish. So at that rate, if you really wanted to do interesting stuff with it, you could tape a small charger pack to your wrist alongside it and still not be guaranteed of making it a full 24 hours.
This is why I was so surprised that Pebble threw the towel in the ring. They had a good thing going. Smartwatch with all that you want, but running for some 7 days on a charge. The only thing missing was the look. Although I think the Pebble Time looks great, I think it was a good start, but could be improved a lot.
The screen size, for instance, is not edge-to-edge. It’s really funny. I don’t care at all about the low resolution. And I don’t think anyone really does. But for a watch, the look is the most important thing.
I think that Pebble should have learned a lesson from Swatch. The specs were perfect already, only thing they needed was a screen that goes from edge to edge, because it just makes the watch look better. And then differentiate, differentiate, differentiate. A watch for everybody, whatever their taste.
The “replacement” board has a nRF52840 with more RAM and flash so maybe RebbleOS will fit in it.
I’d love to see this watch used to get data directly from a continuous glucose monitor. All the smart watches need a phone and (usually) an internet connection to display your blood glucose data.
I bought this one for $5 (on sale) at Menards a few months ago.
Lousy at keeping time, 1 day battery life, and shuts down whenever it feels like it.
I have no idea if it is (reasonably) hackable.
https://www.amazon.com/Hype-Smart-Watch-Kids-Black/dp/B01MXEWQVS
https://www.menards.com/main/search.html?sf_categoryHierarchy=&search=Hype+smart+watch
“The 3-bit display’s power consumption has also been reduced by only refreshing the necessary parts”
Is there any more information on this? Typically the display refreshes continuously at the specified refresh rate (usually 50-60Hz) using its own memory (since this is a memory display). How is it possible to refresh only part of it? Redrawing part of the screen (“dirty area”) is different and can certainly improve performance but I’m not sure if it contributes to reducing power consumption.
This looks awesome. I’ve been wanting essentially an “nRF dev board in a watch form factor” for ~2 years now – actually mostly to force me to learn its low power techniques. The nRF’s programmable crossbar (“PPI”) and task/event system should allow for all kinds of power-saving tricks. Ordered, and yes they are $35 on Ali. If only they broke out SWD to an external pin… but ya can’t have everything.