IMO the take away from command-line interfaces is compact, precise and minimal design. In a transitional shell prompt like #~$, each character has its meaning. Merely copying these symbols to a watch face is the exact opposite spirit of command like interfaces.
Cool project, but I also noticed the weird choice of #:~$ as a prompt, it uses almost half the width of the clock screen. And isn't # normally used to denote root shells? I don't think I ever saw it together with $.
My favorite prompt is >: as a callback to the Swan computer in the TV show Lost (not sure if it's also used in early Apple computers).
Great hardware design, awful watchface design. The pseudo terminal interface looks like something I'd design right after discovering Linux at 13yo and making it my whole identify for a while.
It looks fine. The readout is digital and static, you know exactly where to read what you need. I doubt passersby are able to read what the screen says anyhow.
Accutrons and tuning fork watches are amazing. They have an incredibly unique sound/hum due to the tuning fork oscillating at 360 hz and the most smooth glide you'll ever see in a watch. Recommend a ESA 9162 or ESA 9164 over a pure Accutron for beginners though, a bit more resilient and far more affordable, though they don't have the exposed dial.
I believe this is why all modern digital watches use a 32768.0Hz crystal resonator, it's a power-of-2 frequency above the 20Khz top end of the range of human audio perception, to avoid the whole 'tinnitus on your wrist' thing.
I have an Accutron 214 and I swear it sounds higher pitched than 360Hz (sounds to my ear higher than A440, which I'm very familiar with). Maybe I'm hearing an overtone?
Beautiful watches. For a while I was into watching watch videos on YouTube, then I remembered I’m too cheap (or poor, let’s be honest) for anything more expensive than an old Casio.
Interesting idea, but the generic green PCB is a bit of a missed opportunity. Some manufacturers now offer transparent solder masks which emphasize the copper traces and can look really cool with a clean PCB layout.
This sounds sick, I looked for a photo and couldn't find one that seemed to be this specifically, just lots of the flexible ones, do you know if there's a photo ref somewhere?
If the idea is this: "Many quartz watches do their best to hide away any electronic components from view. The design concept for this watch was to embrace those digital components instead [...]" then I'd argue this watch that I built fulfils the requirement better: https://blog.jgc.org/2022/12/the-rogers-watch-retro-display-...
I’ve been wanting a larger watch than most companies make. I’d like a traditional digital watch. Since I can’t find what I want, I’ve been thinking about building my own. I want to go to about 60mm for the case (across my wrist).
I purchased a Casio G-Shock GA-010 last week but its size is smaller than I anticipated. It’s 52mm.
I’ve also been drafting a document about how I’m using a digital watch to increase my productivity while limiting distractions.
Very impressive. I love this kind of project (by me or anyone else) — learning whole new areas of tooling that you're unfamiliar with, following a passion to make something that you can hold in your hand. Kudos.
I disagree with Wikipedia's definition covering any design where the guts are visible from either side, in my experience "skeleton" always refers specifically to the dial being hollowed out or transparent. When the dial is opaque but the rear is transparent it's usually called an "exhibition caseback" instead.
Agreed, and also most skeleton watches have the actual movement routed out to remove much of the material from bridges and plates, to expose as much gearing as possible.
There's also the DIGIduino, an atmega128p design with segmented display. I like the variety of attempts and showing off the circuitboard like the complex movements of mechanical watches.
I do want to dig into how much a battery can be obviated here, there's one watch called the Pulse-o-matic that uses an automatic movement (that is, self-winding) to power an LCD display and associate 'tronics. I am charmed by the idea of wind up electronics now that we have microchips with deep sleep modes and ePaper displays that only need a blip to update.
I'm not a watch enthusiast, but i do like the what i'll call old school look and appeal of Casio watches. If Casio hasn't already done so, it feels like they have chances to tap into both nostalgia audiences plus geeks audiences...and this watch - if they were to acquire it - would be awesome! Casio has its decades of manufacturing, distribution and marketing experience, and they get these novel, innovative ideas from others...and if they keep tapping into these geek topics, they could really be that niche maker for geeks - like what Apple products historically have been for creative types...sort of a default purchase for such an audience. (Again, i don't follow this stuff, so its possible they already do this.)
The RTC doesn't seem much better than a 32k Crystal that the stm could use internally. Which is odd because there are better RTCs around. Maybe it's just for having the window to the crystal. And that's fair. Artistic choice
I don't really get a sense from the repo and the very sparse readme how and at what cost I could build one of these. There isn't a pricing page so I'm assuming this is diy, build it yourself, right?
It’s hard to achieve a good screen/case ratio in DIY projects. The screen components are bulky and it’s difficult to fit everything in small enclosures without producing custom boards, mass produced hardware has a ton of advantages there.
Maybe they laser-trim the embedded crystal in situ after the chip has been fully packaged? It might be more difficult to keep it in spec if they trim it earlier and then pass it through more manufacturing steps afterwards.
Seems unlikely it would fall out of spec by that much just during manufacturing. These things drift due to temperature (or even vibrations) anyway, and when it comes to using them in an RTC you have drift adjustment registers for any major drift from the factory.
It was unclear for me at least. First I thought it's about a live folder/directory trick, then I thought a video streaming service. I didn't guess clock.
On that point, I see an awful lot of code that uses dotslash as if it was necessary for files in the current directory.
You only need to prepend dotslash to a filename in order of disambiguate invocations of executables in the the current directory (and not a subdirectory).
This is because bare commands will be looked up in $PATH, rather than among executable files in $PWD.
It strikes me as weird copycat (without understanding) programming to just have it wherever you're referring to a local file. In fact I prefer to invoke `bash foo.sh` rather than `mv foo.sh foo; chmod +x foo.sh; ./foo.sh`. (This assumes that I don't need to rely on something special in the shebang line.) This also lets you use tab-completion as normal, as well as adding flags for bash like -x.
(I know you could use it for clarity when an argument could look like a string or a file, but I don't think that's usuaully the purpose.)
One issue is when the path is not interpreted by the shell but by a program which plays by different rules.
For example in Go:
$ cd /path/to/go/repo
$ go run cmd/myapp
package cmd/myapp is not in std (/usr/local/go/src/cmd/myapp)
$ go run ./cmd/myapp
Hello, World!
And then people don't want to think about when your path is for the shell and when it's a CLI param and how the CLI treats it, and just use the version that always works.
This allows it to disambiguate between system path syntax and the language's syntax for symbolic names.
Similarly, package installers can use this to disambiguate between "install the local file with this exact name" and "look up a file on the index for the named package".
I'm pretty sure most people use it to make clear it's a relative path.
It takes mental load off the one reading the code.
That's why I pretty much always use it, not only when executing things.
I use it for autocomplete... e.g ./f<tab> and enter. If I don't do it the terminal literally hangs for a split second and gives me a lot useless suggestions. I rarely type full words.
It's handy when the directory might not exist, happens all the time in git checkouts. Raise your hand if you've ever moved something to tmp and created a file called tmp.
Usually it's tab-complete adding the slash though, I don't go typing it in.
> taking inspiration from command-line interfaces
IMO the take away from command-line interfaces is compact, precise and minimal design. In a transitional shell prompt like #~$, each character has its meaning. Merely copying these symbols to a watch face is the exact opposite spirit of command like interfaces.
Cool project, but I also noticed the weird choice of #:~$ as a prompt, it uses almost half the width of the clock screen. And isn't # normally used to denote root shells? I don't think I ever saw it together with $.
My favorite prompt is >: as a callback to the Swan computer in the TV show Lost (not sure if it's also used in early Apple computers).
Good news it's an open source project so you can customise your prompt (:
`date +whatever` right arg for the output would also make more sense than `./t` if there's room
Great hardware design, awful watchface design. The pseudo terminal interface looks like something I'd design right after discovering Linux at 13yo and making it my whole identify for a while.
> looks like something I'd design right after discovering Linux at 13yo and making it my whole identify for a while.
Was this sentence designed to make you look more mature and developed than this imagined 13 year old? It fails to do so.
I don't understand everyone's harsh reactions. I too would've loved it at 13 during the same phase, so what?
The retro(-style) Casio community lives for retro-future kitsch. I guess it's a matter of taste.
> Great hardware design,
Really? It looks like it would be uncomfortable to wear with those screws on the back sitting proud of the surface. Why aren't they countersunk?
Or were you referring only to the electronics?
It looks fine. The readout is digital and static, you know exactly where to read what you need. I doubt passersby are able to read what the screen says anyhow.
[dead]
If you like quartz watches that expose their circuitry, you'll definitely enjoy some of Accutron's watches: https://www.hodinkee.com/articles/introducing-accutron-314
While usually not on display, the quartz movements of Grand Seikos are beautifully finished:
* https://i.imgur.com/sJXfmg1.jpeg
* https://i.imgur.com/BucSW15.jpeg
* https://i.imgur.com/xVd04BM.jpeg
* https://i.imgur.com/wuRSif1.jpeg
Accutrons and tuning fork watches are amazing. They have an incredibly unique sound/hum due to the tuning fork oscillating at 360 hz and the most smooth glide you'll ever see in a watch. Recommend a ESA 9162 or ESA 9164 over a pure Accutron for beginners though, a bit more resilient and far more affordable, though they don't have the exposed dial.
I believe this is why all modern digital watches use a 32768.0Hz crystal resonator, it's a power-of-2 frequency above the 20Khz top end of the range of human audio perception, to avoid the whole 'tinnitus on your wrist' thing.
Also a tuning fork cut for a lower power-of-two would be a bit bulky for a compact wrist watch.
I have an Accutron 214 and I swear it sounds higher pitched than 360Hz (sounds to my ear higher than A440, which I'm very familiar with). Maybe I'm hearing an overtone?
you could measure it.
using an app with a Fast Fourier Transform (e.g. https://github.com/woheller69/audio-analyzer-for-android ), you can visually compare the sounds of your watches
Beautiful watches. For a while I was into watching watch videos on YouTube, then I remembered I’m too cheap (or poor, let’s be honest) for anything more expensive than an old Casio.
imgur makes me sad these days :( https://help.imgur.com/hc/en-us/articles/41592665292443-Imgu...
Interesting idea, but the generic green PCB is a bit of a missed opportunity. Some manufacturers now offer transparent solder masks which emphasize the copper traces and can look really cool with a clean PCB layout.
e.g. https://hackaday.io/project/194683-plasma-toroid-sky-guided-...
It's also becoming possible to have transparent rigid PCBs as of quite recently: https://www.pcbway.com/blog/News/Transparent_Rigid_PCBs_Laun...
Naturally it does mean you can't have a ground pour, so the PCB needs to be designed to look nice with it.
This sounds sick, I looked for a photo and couldn't find one that seemed to be this specifically, just lots of the flexible ones, do you know if there's a photo ref somewhere?
Worth noting that it's nine times the price (according to the link you posted)
If the idea is this: "Many quartz watches do their best to hide away any electronic components from view. The design concept for this watch was to embrace those digital components instead [...]" then I'd argue this watch that I built fulfils the requirement better: https://blog.jgc.org/2022/12/the-rogers-watch-retro-display-...
Nice design.
I’ve been wanting a larger watch than most companies make. I’d like a traditional digital watch. Since I can’t find what I want, I’ve been thinking about building my own. I want to go to about 60mm for the case (across my wrist).
I purchased a Casio G-Shock GA-010 last week but its size is smaller than I anticipated. It’s 52mm.
I’ve also been drafting a document about how I’m using a digital watch to increase my productivity while limiting distractions.
Very impressive. I love this kind of project (by me or anyone else) — learning whole new areas of tooling that you're unfamiliar with, following a passion to make something that you can hold in your hand. Kudos.
I learned the term for such mechanical watches is https://en.wikipedia.org/wiki/Skeleton_watch
I disagree with Wikipedia's definition covering any design where the guts are visible from either side, in my experience "skeleton" always refers specifically to the dial being hollowed out or transparent. When the dial is opaque but the rear is transparent it's usually called an "exhibition caseback" instead.
Agreed, and also most skeleton watches have the actual movement routed out to remove much of the material from bridges and plates, to expose as much gearing as possible.
There's also the DIGIduino, an atmega128p design with segmented display. I like the variety of attempts and showing off the circuitboard like the complex movements of mechanical watches.
I do want to dig into how much a battery can be obviated here, there's one watch called the Pulse-o-matic that uses an automatic movement (that is, self-winding) to power an LCD display and associate 'tronics. I am charmed by the idea of wind up electronics now that we have microchips with deep sleep modes and ePaper displays that only need a blip to update.
https://theprintablewatch.com/collections/digital-watch-part...
https://www.hamiltonwatch.com/en-us/h52585339-pulsomatic.htm...
Reminds me of my pebble watchface created 12 years ago: https://youtube.com/shorts/Zv4h8Uyyg1Q
.\t
seems useful on it. can you run
watch -n '.\t'
on it? /jk as that would make it a dedicated watch watch
Maybe it updates every minute via a Cron job!
Very cute. If Casio bought you guys out and combined their retro design aesthetic, this would sell like hot cakes IMO.
I'm not a watch enthusiast, but i do like the what i'll call old school look and appeal of Casio watches. If Casio hasn't already done so, it feels like they have chances to tap into both nostalgia audiences plus geeks audiences...and this watch - if they were to acquire it - would be awesome! Casio has its decades of manufacturing, distribution and marketing experience, and they get these novel, innovative ideas from others...and if they keep tapping into these geek topics, they could really be that niche maker for geeks - like what Apple products historically have been for creative types...sort of a default purchase for such an audience. (Again, i don't follow this stuff, so its possible they already do this.)
The RTC doesn't seem much better than a 32k Crystal that the stm could use internally. Which is odd because there are better RTCs around. Maybe it's just for having the window to the crystal. And that's fair. Artistic choice
Display HS096T01H13 almost fits inside F91-W (1mm too wide) but have much smaller bezel.
I don't really get a sense from the repo and the very sparse readme how and at what cost I could build one of these. There isn't a pricing page so I'm assuming this is diy, build it yourself, right?
> The RV-2123 is an RTC with a glass top that allows you to see the quartz crystal itself inside the component.
Very cool
Interesting concept. Bigger screen less casing would be nice, but very good concept
It’s hard to achieve a good screen/case ratio in DIY projects. The screen components are bulky and it’s difficult to fit everything in small enclosures without producing custom boards, mass produced hardware has a ton of advantages there.
Love how clever the logo is! I wonder why the RTC has the resonator exposed? I cannot find anything on the datasheet that explains its purpose
Maybe they laser-trim the embedded crystal in situ after the chip has been fully packaged? It might be more difficult to keep it in spec if they trim it earlier and then pass it through more manufacturing steps afterwards.
Seems unlikely it would fall out of spec by that much just during manufacturing. These things drift due to temperature (or even vibrations) anyway, and when it comes to using them in an RTC you have drift adjustment registers for any major drift from the factory.
Looks awesome! What is the battery life? How much of the power is used by the screen?
Swatch make some delightful and affordable skeleton watches
Super awesome and fun project! I'm jealous
Why isn't the silicon die visible? :)
Because light would affect its function.
It's an interesting design-constraint though.
We need Ken Shirriff to build one
What is the battery life?
Very cool. Keep on keepin on.
The electronics section is a nice read but the software/firmware section is very barebones.
Yeah the watch command is pretty sweet. sudo watch sensors
PineTime has a similar watchface,https://blog.krafting.net/wp-content/uploads/2023/09/2023071...
[dead]
[dead]
[dead]
Change title to "STM32-based OLED digital watch"?
What's wrong with the current title? It's a title, not a summary.
It was unclear for me at least. First I thought it's about a live folder/directory trick, then I thought a video streaming service. I didn't guess clock.
On that point, I see an awful lot of code that uses dotslash as if it was necessary for files in the current directory.
You only need to prepend dotslash to a filename in order of disambiguate invocations of executables in the the current directory (and not a subdirectory).
This is because bare commands will be looked up in $PATH, rather than among executable files in $PWD.
It strikes me as weird copycat (without understanding) programming to just have it wherever you're referring to a local file. In fact I prefer to invoke `bash foo.sh` rather than `mv foo.sh foo; chmod +x foo.sh; ./foo.sh`. (This assumes that I don't need to rely on something special in the shebang line.) This also lets you use tab-completion as normal, as well as adding flags for bash like -x.
(I know you could use it for clarity when an argument could look like a string or a file, but I don't think that's usuaully the purpose.)
One issue is when the path is not interpreted by the shell but by a program which plays by different rules.
For example in Go:
And then people don't want to think about when your path is for the shell and when it's a CLI param and how the CLI treats it, and just use the version that always works.That’s because cmd/myapp is not a local path, it’s a universal path. It makes more sense when you type go run github.com/user/name/cmd/myapp
Thanks, this is the first good reason I've seen! Seems crazy to me that the go tool does that, but maybe I just lack sufficient unix-nature.
This allows it to disambiguate between system path syntax and the language's syntax for symbolic names.
Similarly, package installers can use this to disambiguate between "install the local file with this exact name" and "look up a file on the index for the named package".
This is one of the papercuts of go that I find way more annoying than is rational.
I'm pretty sure most people use it to make clear it's a relative path. It takes mental load off the one reading the code. That's why I pretty much always use it, not only when executing things.
./<tab> completes nicely. Ambiguity is removed. There’s no chance of accidentally running the wrong executable.
So I think you and I differ on this one, but none of this is a hill I care to die on.
For executables, it is actually necessary to prepend ./ iff . is not in $PATH. And . is usually not in $PATH for security reasons.
It makes tab completion work.
At the start of a line? So you want to run a script or executable in the current directory. PATH doesn’t contain . and ./ is necessary.
As an argument in a line? My shell offers completion from the current directory without ./ just fine.
I use it for autocomplete... e.g ./f<tab> and enter. If I don't do it the terminal literally hangs for a split second and gives me a lot useless suggestions. I rarely type full words.
Similarly, many people needlessly append a slash to every directory name.
Makes it clear you're naming a directory and not a file.
I also alias 'ls' to 'ls -F' so that directories have a / appended, makes it easier to understand the output.
It's handy when the directory might not exist, happens all the time in git checkouts. Raise your hand if you've ever moved something to tmp and created a file called tmp.
Usually it's tab-complete adding the slash though, I don't go typing it in.
For me it's because of rsync.