./watch

(dotslashwatch.com)

294 points | by shrx 14 hours ago ago

80 comments

  • blahgeek 12 hours ago

    > 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.

    • goncalomb 10 hours ago

      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).

      • dhosek 4 hours ago

        If I remember right, > was the prompt for Integer basic, ] for Applesoft Basic and * for the monitor.

        • Angostura 2 hours ago

          Yup.

          3D0G to start basic from the Monitor

      • miohtama 9 hours ago

        Good news it's an open source project so you can customise your prompt (:

    • OJFord 4 hours ago

      `date +whatever` right arg for the output would also make more sense than `./t` if there's room

  • floppyd 10 hours ago

    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.

    • ninalanyon 6 hours ago

      > 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?

    • Rendello 5 hours ago

      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.

    • bigyabai 6 hours ago

      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.

    • themafia 5 hours ago

      > 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.

      • stack_framer 4 hours ago

        I couldn't disagree more. I laughed out loud at it!

          const sense = new Sense()
          sense.humor(true)
  • EarthIsHome 13 hours ago

    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

    • Topfi 13 hours ago

      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.

      • briansm 11 hours ago

        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.

        • namibj 6 hours ago

          Also a tuning fork cut for a lower power-of-two would be a bit bulky for a compact wrist watch.

      • aidenn0 8 hours ago

        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?

    • scientism 6 hours ago
  • jsheard 11 hours ago

    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-...

    • nitros 11 hours ago

      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.

      • llbbdd 6 hours ago

        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?

    • chias 6 hours ago

      Worth noting that it's nine times the price (according to the link you posted)

  • jgrahamc 10 hours ago

    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-...

  • HPsquared an hour ago

    Someone needs to make Termux for Wear OS.

    Edit: huh, someone has apparently done it! https://www.reddit.com/r/termux/comments/nl0rex/termux_on_we...

  • 7373737373 12 hours ago

    I learned the term for such mechanical watches is https://en.wikipedia.org/wiki/Skeleton_watch

    • jsheard 12 hours ago

      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.

      • bashinator 6 hours ago

        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.

  • incanus77 7 hours ago

    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.

  • codazoda 6 hours ago

    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.

  • jazzyjackson 8 hours ago

    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...

  • one_more_q 7 hours ago

    Reminds me of my pebble watchface created 12 years ago: https://youtube.com/shorts/Zv4h8Uyyg1Q

  • riazrizvi 10 hours ago

    Very cute. If Casio bought you guys out and combined their retro design aesthetic, this would sell like hot cakes IMO.

    • mxuribe 10 hours ago

      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.)

  • yohbho 7 hours ago

    .\t

    seems useful on it. can you run

    watch -n '.\t'

    on it? /jk as that would make it a dedicated watch watch

    • Rendello 5 hours ago

      Maybe it updates every minute via a Cron job!

  • dvh 12 hours ago

    Display HS096T01H13 almost fits inside F91-W (1mm too wide) but have much smaller bezel.

  • Neywiny 7 hours ago

    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

  • xrd 11 hours ago

    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?

  • alpenbazi 13 hours ago

    Interesting concept. Bigger screen less casing would be nice, but very good concept

    • ricardobeat 12 hours ago

      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.

      • wkjagt 3 hours ago

        It would be cool if someone made a mass produced "watch" that's all the hardware but none of the firmware. So a tiny computer on your wrist that doesn't do anything out of the box, and you can make it do whatever you want. Maybe a watch, maybe something else. It just provides the housing, microcontroller, battery, screen, etc., and an SDK.

  • Retr0id 9 hours ago

    > The RV-2123 is an RTC with a glass top that allows you to see the quartz crystal itself inside the component.

    Very cool

  • tatjam 12 hours ago

    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

    • jsheard 11 hours ago

      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.

      • Arch-TK 10 hours ago

        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.

  • tamimio 2 hours ago

    I loved it all, software and hardware, thanks for sharing it!

    > I had never done any PCB design before and downloaded KiCAD with no idea how it worked.

    I saw similar lines among many people who designed great things, take a note, companies, just because an engineer doesn’t have 10y of experience in XYZ doesn’t mean they won’t do great in the job.

  • bogdan_r 12 hours ago

    Looks awesome! What is the battery life? How much of the power is used by the screen?

  • simonjgreen 12 hours ago

    Swatch make some delightful and affordable skeleton watches

  • andrewrn 12 hours ago

    Super awesome and fun project! I'm jealous

  • amelius 13 hours ago

    Why isn't the silicon die visible? :)

    • projektfu 10 hours ago

      Because light would affect its function.

      • amelius 10 hours ago

        It's an interesting design-constraint though.

    • blankx32 12 hours ago

      We need Ken Shirriff to build one

  • bogdan_r 12 hours ago

    What is the battery life?

  • davydm 13 hours ago

    Very cool. Keep on keepin on.

  • comrade1234 13 hours ago

    Yeah the watch command is pretty sweet. sudo watch sensors

  • lloydatkinson 10 hours ago

    The electronics section is a nice read but the software/firmware section is very barebones.

  • fsflover 11 hours ago
  • HelloUsername 12 hours ago

    Change title to "STM32-based OLED digital watch"?

    • skrebbel 12 hours ago

      What's wrong with the current title? It's a title, not a summary.

      • HelloUsername 8 hours ago

        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.

  • Y_Y 13 hours ago

    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.)

    • PhilippGille 12 hours ago

      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.
      • Y_Y 11 hours ago

        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.

        • zahlman 11 hours ago

          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".

      • catlifeonmars 6 hours ago

        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

      • umanwizard 7 hours ago

        This is one of the papercuts of go that I find way more annoying than is rational.

    • Bleibeidl 13 hours ago

      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.

    • aidos 13 hours ago

      ./<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.

    • lynx97 13 hours ago

      For executables, it is actually necessary to prepend ./ iff . is not in $PATH. And . is usually not in $PATH for security reasons.

    • mjw1007 13 hours ago

      It makes tab completion work.

      • jagged-chisel 13 hours ago

        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.

        • alganet 23 minutes ago

          Let's say you have 100 programs in your PATH that start with the letter "g", but only one program in the current folder that starts with "g". You type `./g[TAB]` so it autocompletes automatically to the local program instead of cycling through dozens of results you know you don't want.

    • amonith 13 hours ago

      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.

    • teddyh 13 hours ago

      Similarly, many people needlessly append a slash to every directory name.

      • SoftTalker 6 hours ago

        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.

      • chuckadams 6 hours ago

        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.

      • BoredPositron 12 hours ago

        For me it's because of rsync.