Porting Python to a $3 smartwatch [video]

(youtube.com)

223 points | by zdw 364 days ago

12 comments

  • david-given 363 days ago
    Hello --- I made this! Thank you for the kind words.

    I have, BTW, just received a $6.50 watch with touchscreen, microphone and speaker, much better build quality, BT 3, 4.2 and 5, plus the traditional fake heart rate sensor and a bigger battery with an actual label on it. It's powered by a YC1133 which contains an ARM Cortex M0 with 56kB RAM and 4MB flash. This would be an awesome device for hacking if there was any information about it whatsoever.

    Weirdly, it runs a more complex version of what's clearly the same software stack as the LT716!

    • parhamn 363 days ago
      Is anyone working on an OpenWhoop? The algorithms/scoring/etc seem ripe for a collaborative open project. A $100+ version of this thats broadly hackable would be cool

      I've been looking for one as the Whoop's data sync with Apple Health is bad.

    • abdellah123 362 days ago
      Why not a lillygo T-Watch? It's a bit more expensive, but it's a solid one with good specs and an esp32 https://github.com/Xinyuan-LilyGO/TTGO_TWatch_Library
      • neumann 362 days ago
        oh neat. It's a different sort of fun - but I just got one of these to play with it with the kidlet.
    • mech4bg 362 days ago
      My friend wrote Micropython so I’ve passed this along to him! Very cool.
  • raminf 363 days ago
    The amount of effort put into all the porting and reverse-engineering is impressive. Especially, getting the toolchain working. That's usually where most of the hair-pulling comes in.

    For those wanting to hack their own tracker, for slightly more money ($5), you can get one with a Nordic nrf52832 which has lots more documentation and support, including Micropython:

    - https://forum.micropython.org/viewtopic.php?t=6498

    - https://github.com/fanoush/ds-d6

  • Cieric 362 days ago
    After watching this video on my own I got the urge to watch more similar videos. Does anyone know of any that are like this one, not really a tutorial, but also not just a dev log either. It feels closer to something like wood working videos where you just watch someone do something cool.

    I know of a few channels already like Ben Eater[1], Bisqwit[2], Pezzza's Work[3], Sebastian Lague[4] and sphaerophoria[5]. At least those are the ones I'm seeing when scrolling through my subscriptions really quick.

    [1] https://www.youtube.com/@BenEater

    [2] https://www.youtube.com/@Bisqwit

    [3] https://www.youtube.com/@PezzzasWork

    [4] https://www.youtube.com/@SebastianLague

    [5] https://www.youtube.com/@sphaerophoria

  • xrd 363 days ago
    I really love programming my banglejs. Chrome plus webusb plus JavaScript is really fun. But the GPS is really hard to use. I wrote a toy application that posted data to a webapp for tracking my runs. But the GPS is so unreliable it isn't worth it. I know GPS synchronization isn't an easy problem. But I would love to find another smart watch with GPS that is a much fun to hack as banglejs.
  • saaspirant 363 days ago
    I would love to buy a square shaped cheap Chinese smart watch and develop custom apps on it. Has anyone tried something similar before? Where can I start?

    Thanks!

  • rurban 362 days ago
    https://rbaron.net/blog/2021/07/06/Reverse-engineering-the-M... is the reverse engineering desc. he followed
  • timonoko 361 days ago
    Chinamen should amp their game. You can charge 30€ more on a shitty watch if it was "open-source". I have LilyGo T-Watch for 40€, and if it was waterproof, it would certainly to be only watch I ever need. https://github.com/timonoko/t-watch-2020-micropython-hacks
  • MisterDizzy 363 days ago
    This reminds me of an XKCD[1] where the character marveled about an obscure piece of single-purpose hardware running Java.

    [1] https://xkcd.com/801/

  • bottom999mottob 362 days ago
    Shame the smartwatch ecosystem doesn't have more stuff like this. Was hoping Bangle.js would take off, but it seems like most people would rather settle for Apple watches.
  • dvh 362 days ago
    Wouldn't it be simpler to use just the chassis and display and made pcb with the mcu of your choice?
  • fnord77 363 days ago
    can't find the LT716 smartwatch on aliexpress. Is it discontinued?
    • david-given 363 days ago
      Search for 'm4 wristband' and you should find them (there's also an affiliate link in the Youtube description). Bear in mind that there are several very nearly identical ones, based on different architectures, so it's possible you won't get the same one as mine.
  • dmitrygr 363 days ago
    Let me save you an hour:

    Micropython, not real python, on an aliexpress LT716 smartwatch with an el-cheap-o 24MHz TC32 SoC (512KB flash + 16KB of RAM, BLE hardware).

    • antirez 363 days ago
      MicroPython is mostly compatible with Python 3, not much missing. There are even a few things MP has and Python has not, like the Viper code emitter. So the fact it's MicroPython does not make it less interesting.
    • dbcurtis 363 days ago
      I am a huge fan of Micropython. Sure, there are things that it can’t do because of the limits of highly constrained systems. But it is a great toolkit for limited systems, and greatly lowers the barrier to embedded experimentation.
      • nmtrand 363 days ago
        I think the comment you replied to was just unfortunately worded. I also think that the title should contain "Micropython" to honor the efforts of the project to provide a lean and non-bloated implementation.

        Porting the bloat of CPython to this watch would be astonishing indeed.

    • endofreach 363 days ago
      Honestly, your comment is very misleading & unfair. The video seems very in-depth and educational.

      Sure, it is micro-python not python. But your copying the typical implicit "just clickbait waste of time" rhetoric, which is really not applicable here.

      Haven't watched the dhole video yet, but it seems very genuine & interesting. What a downer your type of comment is. I wouldn't even have commented on it, but i didn't want your comment to be the only one here.

      • throwaway81523 363 days ago
        Python is a language, MicroPython and CPython are both implementations of the language. MicroPython is more limited but in a few ways, it is better.
      • dmitrygr 363 days ago
        Which part of my factual and emotion-free comment do you find misleading? Which of my two sentences is wrong?
        • bsaul 363 days ago
          « Save an hour » means there isn’t a lot more interesting to see about that video than your two sentences.
        • dbcurtis 363 days ago
          What part of “Let me save you an hour” is factual and emotion-free?
        • kbutler 363 days ago
          It provided useful information (micropython, hardware details) but was disparaging rather than emotion-free (save you an hour, not real, el-cheap-o).

          You seem to not realize the emotional connotation of the post, so thought I'd clarify which aspects I felt were not helpful.

    • GaggiX 363 days ago
      This is literally just the description under the video, no idea how it should have saved me an hour, more like 10 seconds.
    • gabrielsroka 363 days ago
      For context

      > MicroPython is a lean and efficient implementation of the Python 3 programming language that includes a small subset of the Python standard library and is optimised to run on microcontrollers and in constrained environments.

      https://micropython.org/

    • eddywebs 363 days ago
      what is battery life like on such inexpensive device ?
      • zdw 363 days ago
        If you run the CPU in a loop at 100% load, it lasts around 40m or so, per the video.

        Using it interrupted and allowing to sleep it would last much longer - with the default firmware the screen is only on when the user taps the device button.