- Author here! :) This article is me sharing something that made me really happy, wanting to show others how they can do the same.
I see some comments pointing out that the clock wouldn't need to run in the browser. I picked this option to make it simple for folks around me to quickly prototype their own clock faces. This isn't supposed to be the cheapest or most efficient implementation, either; feel free to build your own LCD clock and then blog about how you did it!
- Indeed. Don't be dissuaded by Hacker News commenters. All the naysayers here doesn't seem to have published their own blog posts about how they built circular LCD clocks with Arduino ESP32 and low level programming or whatever they fancy as "good enough".
Browser based rendering that allows people to easily make new watch faces with JS and SVG is a perfectly reasonable platform for a nifty project like this. I think your watch faces look neat.
- Can it display the time on a set of scrollbars? :)
- Its a genuinely nice idea, I do love the second clock face you've done, the sort of "fuel gauge" one. I think a great next step would be some sort of gallery of clock faces that people can use and contribute to, based on whatever code you've used to create them
- Really nice visuals!
Could you give a little more information about the 'stack' you're using to display the clock?
From this:
> This minicomputer will power the clock. The Pi 3B+ seems just enough to render some simple animations.
> I also tried with a Raspberry Pi Zero 2, but 512 MB of RAM were too little to run a modern browser, sadly. I think a Pi 4 might be a good sweet spot between processing power and price, currently.
...are you essentially displaying a full-screen browser window in the default Raspbian window manager and then running local Javascript for the clock itself?
- Next project: Dali circular clock (flexible OLED)
- Impressive cable lacing. Nobody talked about that yet.
- It goed to show how negative HN is
- In general not really, but I do understand why it's a bit underwhelming to buy the clock upfront.
With that said, the project is really cool and showcases the different watch faces well. For me that's the most interesting part, not how I construct a round LCD screen.
- Beat project, but
> I also tried with a Raspberry Pi Zero 2, but 512 MB of RAM were too little to run a modern browser,
You don't need a browser to display graphics. And you don't need to be a programming whiz either. I'm sure Claude could write some python to render these clock faces.
- 512mb or RAM to show the time, what a time we live in.
- No, 512mb NOT ENOUGH to show the time!
- [dead]
- I just want to point out I think the project is still cool, if maybe inefficient. I love the idea of a clock that can do what a smart watch can do.
- Or TCL/Tk with even less RAM and CPU usage than Python.
- I came here to say the same thing. Why on earth do we need a "modern browser" to show a clock?
- People tend to use LVGL for this kind of projects. Seems adequate. No X server, direct framebuffer write, good tooling.
- Dude is literally showing the Pebble watchfaces in a screenshot (64 kB limit for both code and data).
- > The Pi 3B+ seems just enough to render some simple animations.
> I think a Pi 4 might be a good sweet spot between processing power and price,
I know this isn't exactly a serious product and more of a gadget/gimmick but man we are off by a factor of like 3-4 here :D
- If they didn’t use an entire browser to render the clock face this seems like it could be an Arduino/ESP32-esque project.
- Driving HDMI is way harder then you would guess; extremely fast timing to hit. A naive framebuffer alone won't fit in RAM, whilst not strictly needed it would make it a hard challenge.
- This. I've recently been porting my ECS-based 3d game/app engine for my 256MB Raspi Zero AND ESP32-S3, so reading that you need gigabytes to comfortably render a clock appears just ... stupid.
- > At first, I used some random phone chargers, but the Pis would always complain about undervoltage, and throttle their CPU
This is a real annoyance with raspberry pi's. At first you think that you can run them off of USB power, but then you realize that they start throttling at 4.75V, which is still within USB spec (especially when you consider the voltage drop across the USB cable). The point of a spec is that compliant stuff should work, so you shouldn't need a "high-quality" power supply and cable, just compliant ones.
- I would love to find a circular LCD (even down to 1 or 2 inches across) that has a hole in the center, to be able to use it with a needle/stepper motor.
- How to build a circular LCD clock, step 1: buy a circular LCD that looks like a clock.
I'm not kidding, that's the extent of the build. They simply connect that display to a computer over HDMI. The only hacking here is browser-based JS for clock animations.
- There's a Kickstarter project to make a round phone.[1] That had potential as a female fashion accessory. But the site hasn't updated since 2025.[2]
[1] https://www.kickstarter.com/projects/dtoor/the-cyrcle-phone-...
- What makes a fashion accessory ‘female?’
- Lack of an external frobnicator?
- Who it's marketed at.
- Maybe you'll love my minimalist clock design https://euclid.tulv.in/
- Nice, is there a physical clock that works this way?
- I have a physical clock that sort of works that way. It's different from a flip clock. It has these sort of 10 sided dice with numeric faces that rotate each minute. But no, the minute hand doesn't take a full minute to rotate the digit. Instead, after a minute it slowly rotates to the next number. After 10 minutes, the 10s column rotates with the 1s column, then the hours column after an hour.
Now I'll have to dig it out of storage.
- Did you have any issues with screen orientation? I have a waveshare round display in one of my projects too, they are great looking. Mine had an issue with wire orientation where I needed to have the wire emerge from the bottom of the display, but then I needed to rotate the picture to properly handle the rotation. It was tricky to get that working smoothly.
Also the display cuts off the corners on mine. Does it do the same for you? I'm not too bothered by it but it's only good for running custom SW where it's okay to be missing the corners.
- you can also do this with an esp32 as long as you don't insist using a browser to draw a clock
- That's what i wanted to say also. The raspberry is a total overkill here.
Nice implementation though!
- Yeah, LVGL is probably what you'd want in that environment.
- I am currently building a project (http://www.screenwall.app) that tries to reuse old phones and tablets (that some people have in the drawer unused) as widget displays. Seeing such cool widgets always tempt me to buy it, although I know that my old Samsung A6 is perfectly capable for such things as well. :D
- FWIW your link comes up as a blank black page on Firefox/Linux.
- Can you check if it‘s still the case? :o
- > I also tried with a Raspberry Pi Zero 2, but 512 MB of RAM were too little to run a modern browser, sadly.
I found that the surf browser was efficient enough to run fine on my Raspberry Pi Zero W. YMMV with animations and such, but it's much better than any chromium alternative in my experience.
- I’ve previously used luakit browser [1] with cage WM [2] on a Pi Zero 2 W for my clock build, and it worked quite well.
[1]: https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/by-na...
[2]: https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/appli...
https://hackaday.com/2025/02/11/its-always-pizza-oclock-with...
- Interesting, surf is based off WebKit2.
- It's cool I like it, but seems a little overkill on the HW. no matter. One thing though, how is the screen 1080px1080 ? Is it a 1080p square, with the visible pixles a circle cut out of that ? I doubt it's a non rectilinear pixel grid. i guess it's x y coords, rather than cartesian ?
- It is logically a 1080x1080 rectangular display. Every pixel outside the circle is ignored.
- I doubt it's polar if that's what you mean.
- yes i meant polar coords
- I wish you used banana for scale. I love the circular screens but man are they pricey compared to just square ones.
- > White USB-A to USB-C cable > White HDMI to micro HDMI cable
Why do they need to be ...white :)
Oh i see the cables now and cant unsee them.
I guess next step is to 3D print a back case mount that encloses the RPi and plugs into a wall socket for power.
- Are there epaper versions of those round displays? Maybe I'm old fashioned.
- I know of some smaller ones:
- I wonder how smooth the animations are and how much energy it uses.
- A 256MB Raspi Zero can comfortably drive a HDMI-connected display at 1080p60, and not even drop frames when rendering textured+shaded 3d if you just reasonably account for overdraw.
Drawing something as simple as this with a browser is peak overkill. If the watch had a unreal-like PBR graphics diorama for example, gigabytes would at least be argued for.
- Yes, all of that is on the roadmap for when it goes into production in China in the millions. This was just the mockup the artists used to test out some ideas.
Don't worry, we've got a long backlog of JIRA tickets to handle all of this.
- That modak font looks similar to one in Pixel phones clock. But Nice thing you made there :)
- The cartoony clock looks a bit weird in terms of typography when the time is 10:29, the font kind of squeezes and becomes hard to read
- [dead]