#Watchy

2025-09-22

Anybody used #Watchy or #Lilygo watches? I'm interested in user experience...need a replacement for my AsteroidOS experiement

2025-09-15

@sqfmi Update: I fixed it! 🎉
Not too shabby of a job either, if I dare say so myself.

#Repair #DIY #Electronics #Watchy

Photo of the same circuit board with two green wires soldered in.
2025-09-15

Thanks to the published CAD files, I figured out how to fix the buttons on my @sqfmi Watchy.

Some vias are corroded due to moisture, most likely from rain. In theory, all I have to do is solder two little jumper wires 🟠 🔵 without dislodging any other components. Those pads are 1 mm. 😬

Wish me luck. 🤞

#Watchy #DIY #Repair #Electronics #Soldering

Photo of the circuit board of a Watchy v1 ePaper smart watch. On top of the photo, an orange and a blue line have been drawn to illustrate connections to be made.
2025-08-17
Well, my last morning at #HOPE_16 started with trying to tape my #Watchy screen to its board and having it break as I tried to reposition it. So that's a paperweight for the near future. Maybe I can find a replacement screen for it at some point. For now, breakfast and the first talk of the day. #HOPE #HOPE16
2025-08-16
Been a lot going on at #HOPE_16. I spent the morning setting up a new #Watchy (thanks to the Arduino IDE compilation being slow), after lunch I used my ham radio to work contacts, and now I'm listening to John Kiriakou speak. #HOPE16 #HOPE
The author's laptop running the Arduino IDE connected to a Watchy smartwatch via USB.
Terence Eden’s Blogblog@shkspr.mobi
2023-07-13

A whimsical fuzzy clock

shkspr.mobi/blog/2023/07/a-whi

I'm sure I remembered there once being a clock app for Linux which was deliberately vague.

It would declare the time as "Nearly tea-time" or "A little after elevenses" or "Quite late" or "Gosh, that's early".

But I can find no evidence that it ever existed and am beginning to wonder if I dreamt it.

So I built it0.

First thing's first - there are a lot of existing fuzzy clocks. But they mostly say things like "afternoon" or "nearly 3 o'clock". There's even a Hobbit Time for Watchy. However, I wanted something a bit more vague and human than those.

Here's an example of what I mean:

    if (hour >= 5 && hour < 7) {        printf("Blimey! That's early.\n");    } else if (hour >= 7 && hour < 11) {        printf("Good morning! Rise and shine!\n");    } else if (hour >= 11 && hour < 13) {        printf("Goodness me! Elevenses!\n");    } else if (hour >= 13 && hour < 17) {        printf("Afternoon tea time! Care for a cuppa?\n");    } else if (hour >= 17 && hour < 20) {        printf("Evening is upon us. Time to unwind.\n");    } else if (hour >= 20 && hour < 23) {        printf("Nighttime adventures await! Off we go!\n");    } else {        printf("Bedtime beckons. Rest well, my friend.\n");    }

And here they are rewritten as Shakespearean-style timestamps:

   if (hour >= 5 && hour < 7) {        printf("Good morrow! 'Tis the break of day.\n");    } else if (hour >= 7 && hour < 11) {        printf("Hail, fair morn! Arise and be joyful.\n");    } else if (hour >= 11 && hour < 13) {        printf("Goodness me! 'Tis the hour of elevenses!\n");    } else if (hour >= 13 && hour < 17) {        printf("Afternoon doth approach! Wouldst thou like some tea?\n");    } else if (hour >= 17 && hour < 20) {        printf("Evening doth draw nigh. 'Tis time to unwind.\n");    } else if (hour >= 20 && hour < 23) {        printf("Nightfall is upon us. Adventure beckons!\n");    } else {        printf("Bedtime doth approach. Rest well, good sir/madam.\n");    }

And here we come to a central problem with any fuzzy system - repetitiveness. How to make it say something new every time it is called? I guess there are three main approaches:

  1. An exhaustive list of every possible saying.
  2. A computable way of saying "[Gosh|Blimey|Wow] it's [almost|nearly|just gone] [morning|lunchtime|snooze o'clock]"
  3. Use an LLM every time to generate something new.

I had some success with 1. I got the AI to spit out dozens of responses.

But they either need manually fitting into appropriate timeslots, or a bit more prompt-work to get the LLM to spit them out in the right order. Even with a few hundred, it's likely to get repetitive quickly. And, on an embedded system, are liable to take up a lot of memory.

Option 2 also has similar drawbacks. Even with a large amount of stock phrases, the structure and permutations will start to become noticeable. It's possible to reduce that with an enhanced semantic structure - but it becomes quite complex to automate.

Finally Option 3. Ah... It is computationally expensive (not to mention financially prohibitive) to call a network API every time we want to know the time. And on a battery-powered system, every time the WiFi has to wake is a dent in the longevity of the device.

My ultimate goal is to have this as a fuzzy-watchface for the Watchy eInk device.

At the moment, my plan is to use a mixture of 2 and 3.

If you've done something like this before, please let me know 😊

  1. OK, I prompt-engineered my way to success â†©ï¸Ž

#AI #linux #watchy

Terence Eden’s Blogblog@shkspr.mobi
2023-07-08

An eInk, Wrist-Mounted, TOTP Generator

shkspr.mobi/blog/2023/07/an-ei

Behold! Thanks to the power of the Watchy development platform, I now have all my 2FA codes available at the flick of my wrist!

HOWTO

This uses Luca Dentella's TOTP-Arduino library.

You will need a pre-shared secret which is then converted into a Hex array. Use the OTP Tool for Arduino TOTP Library to get the Hex array, Base32 Encoded Key, and a QR Code to scan into your normal TOTP generator.

Add the Hex array into the code below.

To check that it is functioning correctly, either scan the QR code from the OTP Tool above, or use the Base32 Encoded Key with an online TOTP generator.

Here's how the code interfaces with the Watchy:

#include <Watchy.h> //include the Watchy library#include "settings.h"#include "sha1.h"#include "TOTP.h"class MyFirstWatchFace : public Watchy{ //inherit and extend Watchy class    public:        MyFirstWatchFace(const watchySettings& s) : Watchy(s) {}        void drawWatchFace(){          ...          RTC.read(currentTime);          time_t epoch = makeTime(currentTime) - 3600; // BST offset          // The shared secret - convert at https://www.lucadentella.it/OTP/          uint8_t hmacKey[] = {}; // e.g. {0x4d, 0x79, 0x4c, 0x65, 0x67, 0x6f, 0x44, 0x6f, 0x6f, 0x72};          int hmacKeyLength = sizeof(hmacKey) / sizeof(hmacKey[0]);          TOTP totp = TOTP(hmacKey, hmacKeyLength);          char* epochCode = totp.getCode( epoch );          display.print(  "TOTP Code Twitter: ");          display.println( epochCode );          ...

You can grab the full code from GitLab.

I'm not very good at C++ - so please let me know what terrible mistakes I've made.

Is this a good idea?

Well... Yes and no.

TOTP is a strong-ish form of Multi-Factor Authentication. It helps prevent attacks where someone already knows your username and password. Having a convenient way to get your TOTP codes may make you more likely to use them. It also prevents you from getting locked out of your accounts if your phone dies or is stolen.

Convenient security is good security.

But... Having them on your wrist for everyone to see? I've deliberately made the font as small as I can so it is only readable up close. However, if someone is shoulder-surfing your details, they may well see your wrist. The watch isn't encrypted - so even if you hid the codes behind a button press, anyone who steals your watch will have your codes. If they steal your phone, they need to get through your PIN / biometrics.

Who are your adversaries? If you are trying to evade state-level actors, thieves specifically targeting you for your crypto-holdings, or an untrustworthy spouse - this probably isn't a great idea. If you don't use 2FA because you don't keep your phone with you - this will probably increase your security posture.

Ultimately, all security measures are a trade-off between convenience and control.

#2fa #arduino #eink #security #watchy

Ben Hurbenhur07b
2025-06-02

My priorities have always been clear: hackability, repairability, and privacy over convenience and luxury.

So for my wife and I's wedding, I wanted to add a few customizations to my Watchy to celebrate the ocassion. I simply changed some images and added some files to the InkWatchy firmware.

Next step: adding a count-up timer from our wedding date to the main watchface.

The Watchy e-ink watch showing the time, date, day, and other information on bar graphs.A monogram of two B's witha peony in the middle. Black on e-ink watch.Watchy e-ink watch showing two people looking at each other.Watchy e-ink watch showing the silhouette of a woman.
2025-04-04

I played around with my watchy after getting it last month. Almost immediately destroyed the eink screen. AliExpress saved me with that one.
I want a quick reference of time on my desk and this fits the bill!
I'm also looking forward to the new pebble watches!
#Watchy #esp32 #3Dprinting

Watchy eink watch with a blue 3d printed caseWatchy eink watch with a blue 3d printed case and affixed to a grey watch standWatchy eink watch without watch band
2025-03-14

@seav I do feel like I need to get one, only because we had a work engineering team face-to-face meet-up, and I was the only one without a smartwatch!
I'm thinking of going for one of the geeky highly programmable but not highly usable #opentech options (I was one of these people admiring the e-ink #watchy mastodon.social/@Edent/1106667 , but maybe the Pi Bangle.js is more my level)

2025-03-09

@abosio @kev very retro cool

seems kinda pricey, considering my #Watchy was $60 and turns a lot of heads.

sqfmi.com/watchy/

2025-03-07

Got myself a Watchy (v2.0 clone off Aliexpress) and slapped a 803040 1000mah battery on it for the lols, so designed a shell and strap for it.

Also uploaded it to Thingiverse if anyone else with one of these wants to make one: thingiverse.com/thing:6971561
#watchy #diy #3dprinting

2025-02-28

woops bought a #watchy and now I'm back on mastodon

Flippin' 'eck, Tucker!losttourist@social.chatty.monster
2025-02-03

Now updated to be running the VERY BEST watch face.
#sqfmi #Watchy

Watch face from github.com/b-bayport/watchy_ca but if like me you've got one of the recent Watchys you'll need to make a few minor changes to settings.h. I'll push my fork/changes to a repo at some point soonish.

The Tin-Tin meme where Captain Haddock says "What a week huh?" and Tin TIn replies "Captain, it's Wednesday" except that this is on a watch face and is updated dynamically. So currently it shows "Captain, it's Monday" because today is in fact Monday.

The current date, time, and pitiful number of steps I've taken today are also displayed.
2025-02-01

And since I already brought my tools, I ended the day in true techie-fashion by dismantling my Watchy e-paper watch by @sqfmi to figure out why some of the buttons don't work. To my surprise, it's not worn-out buttons, it's CORROSION. AAAH!

I also love how the back side of the e-paper display has inverted colours.

Anyways, time for bed.

#FOSDEM #Watchy #eInk #ePaper #Smartwatch

Photo of a circuit board with a display atrached on a wooden table. A metal tool is holding up the display, revealing the circuitry underneath. Greenish deposits of corrosion can be seen near the corners, as well as on the back of the display. The display is showing light silverish digits and letters on a darker background. An inverted version of the black-on-white image, which can normally be seen on the front.
Jules Enriquezw8l@scalie.zone
2025-02-01

Pushing the Watchy to the limit by bringing it all the way to the Arctic! Rather surprised with how well the E-Ink screen is performing, even when the temperature fell down to -10°C earlier.

#watchy #eink #watch

A Watchy with a case running Watchy GSR with the Watchy Classics (7-SEG) watchface showing the date, time, step count, battery, and weather (-3°C, Cloudy)
Flippin' 'eck, Tucker!losttourist@social.chatty.monster
2025-01-31

I couldn't wait until the weekend. It took probably no more than 30 minutes to actually assemble the watch. No soldering, just clicking a few bits into place.

I'll play with customisation and stuff later.
#SQFMI #watchy

A Watchy watch showing the default screen, being worn on a wrist.  There is a Fitbit next to it. For scale, or just because I was too lazy to take it off? You decide!
Flippin' 'eck, Tucker!losttourist@social.chatty.monster
2025-01-30

Putting this together should keep me happily amused this weekend. #SQFMI #Watchy

Me holding a (so far unopened) box containing the SQFMI Watchy kit. This is an open source watch based on an ESP32 processor and an e-ink display. Yes it's Big Person's Toys but I'm an adult and I want my toys, damn it!
2025-01-09

#Watchy update:

Managed to get a strap to fit in the 'slim' case. Have installed Brainworks for watchy which allows you to have multiple watch faces with dark/light modes too. Have edited which ones i want on it & removed the step counter. I think the Casio one looks good. #arduino #esp32

Watchy watch face looking like a Casio retro watchWatchy watch face with large number digitsWatchy watch face looking like a Casio retro watch in dark modeWatchy watch face with large number digits in dark mode
2025-01-03

Its pretty chonky (compared to pixel 1), but just as light. Ive got a 'slim' case but i didn't like squashing it into it #watchy #foss

2 watches on a wrist. Watchy vs Pixel 1

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst