Show HN: Physical Pomodoro Timer with ESP32 and e-paper screen
72 comments
·March 29, 2025teddyh
ibizaman
Do not underestimate the joy of using something beautiful and something one crafted. Those little bit of joy add up in the end.
At least, they matter to me. I “smartened” an energy meter with an ESP32 and a photoresistor that measures every blink from the energy meter. It’s really crude but it works and everytime I go in the garage, I see the little device blink and it brings me joy. It brings me determination to pursue the next project and motivates me to no end. I know I can build stuff and that I can succeed. I know I can progress in life.
It will probably sound stupid but that’s how I interpret the author’s project.
ISL
Yep. Any timer will do.
If you find yourself programming an eInk display and a microchip in order to improve your procrastination, it is time to stop working on the project, get a physical timer, and work on the thing.
If you feel inclined to shop around for a timer before getting to work, I'll save you the search. These work great. https://www.amazon.com/dp/B07TLC9SFZ (but any timer will do).
Go do the thing. You're worth it.
jiehong
Indeed.
I tend to like quiet visual timers, though.
Something like:
https://i5.walmartimages.com/asr/63f18bde-f179-4b8e-a32a-8e4...
javajosh
That's a very unhelpful link if you want to buy or comparison shop. Online walmart sells over 300 different styles of countdown timer, including ones shaped like a tomato. Note that the Pomadoro Technique recommends a timer that ticks or makes some other unobtrusive sound to remind you that you are in focus mode, and to associate the sound with focus.
jfim
They also sell physical hourglasses if you don't want to be interrupted by a distracting beeping thing once the timer is over, especially if the activity you're trying to start with a pomodoro requires concentration like coding.
cwmoore
I attached an ESP32 and accelerometer to an hourglass for this purpose, calling back to https://pypi.org/project/gitime/ to log pomodoros on my dev machine.
If it was overengineered and trivially redundant, it was relatable and tactile.
loloquwowndueo
But then you have to glance at the thing every few minutes to ensure it didn’t run out
TechDebtDevin
Watches that are already on most people's wrist work great too!
Procrastes
It's interesting that your experience is different, but in my region and social circles, I haven't seen anyone wear a watch in ten years or more, other than the occasional smart watch. That habit doesn't seem to last long, either. For people I know, watches have turned into fashion accessories for millionaires.
kaonwarb
Of course that's an easier solution to the problem.
OP is quite clear in the writeup that this is a project for the sake of trying new tools to make something for a friend.
A fun hack need not be constrained by meeting a real market need. It can just be fun.
hiddencost
It's a joke. Pomodoro means tomato.
SamBam
But it's also not a joke.
Pomodoro timers are designed to increase productivity. But once of the things that many people who try to increase their productivity discover is that they sink so much time into these tools that they are less productive. Because the underlying procrastination isn't solved, and these tools are a wonderful outlet for procrastination because it feels productive.
That may indeed not be OP's problem, but anyone looking at this saying "I need to be more productive, I should make one of these" would be better off with the tomato.
dullcrisp
I’m pretty sure that’s the origin of the term
wrycoder
LOL, read the one star reviews [0]. The problem with the mechanical ones is they are shoddy these days and can't be depended on. It seems no one knows how to make a high quality mechanical timer any more.
[0] https://www.amazon.com/product-reviews/B07H59ZL1L/ref=acr_se...
layer8
If you can stand the ticking noise. ;)
Personally, I like the look of these disc-based ones: https://m.media-amazon.com/images/I/618WCXnyfXL._SL1500_.jpg
sinuhe69
Yep. I think a timer with a physical dial is much more pleasant and easier to work with. I really hate things with knobs when there is nothing to click. A talking/voice controlled pomodoro is also a very nice idea for a ESP32.
neuah
Exactly what i thought of as well. That's what i always used to use.
gbraad
Simple and tactile; a user interface anyone understands
sambroner
I love this project! The UI feels so delightful and well thought out. I guess I found another weekend (multi-week?) activity.
If you're looking for hackathon projects, the E-ink ecosystem is well developed enough that they're pretty easy to program against and Claude/the AIs can pick up the API surface. Plus, people generally don't know what they're looking at -- you have to say "kindle-style screen" -- but people (me? but also guests) do seem to prefer having a e-ink screen in the living room over a backlit display because it's so much less intrusive.
FWIW, E-ink [0] AND pomdoros [1] are each a whole thing of mine.
btbuildem
Always interested to see a "device" type of project on here -- they tend to be the most challenging, even if the goal is simple. The intersection of object design, electronics and code is a great playground.
I really like the choice of screen, and generally the considerations given (and explained in the readme!) for purpose and usability.
Couple of notes on the object design (and this is something I find very challenging, and spend a lot of time iterating on)
- What if the knob was on top of the device, wide and flat? you could center the screen, make the device smaller, and the physical action of turning it would be less likely to push the box around
- Chamfers and fillets go a long way to make a thing look polished -- it's a small detail, but the difference between a sharp edge and a rounded one somehow seems to matter a lot.
- Since the menu always has three options, what if instead of the knob there were three buttons on the top surface (like the "snooze" of an alarm clock)? Fewer interactions to fiddle with!
- You can get translucent filament, and it makes for very cool "light conduit" parts -- eg, the LED box could be solid, and it would look like something from an 80s dashboard. Alternately, you could print a border for the screen, and light that up instead, making for a more minimalist design.
(Sorry, I can't help it, I like thinking about these things)
How did you design the knob, OpenSCAD? The knurling is a nice touch, and looks like it was done in a programmatic way.
rukenshia
great questions!
- knob: yeah, if I were to redesign that part I would move it to the top. I had a total schedule of 4 weeks for this project, and I didn't feel confident enough to rebuild (and print prototypes) of the case when I encountered the weight problem, but that would definitely make it better
- I did fillet/chamfer (almost) every edge I believe, I also printed the final case with fuzzy skin to make it feel higher quality
- The knob was originally meant to also allow you to change the timer, so having a dial felt like the right thing to do. Didn't turn out that way, so yes three buttons might be the better UX for the menus I ended up with (and would make the device smaller)
- The shroud actually started out as a way to prevent light leaking (and then I re-printed it in white so that it would boost the LED diffusion a bit together with the diffusion plastic film), but I like your idea of having an LED strip around the edges of the screen - didn't think of that!
- I am usually more of a Blender guy, so I followed a tutorial for doing knurling in onshape. The tool really doesn't like that much geometry and is laggy to work with, but feel free to check out the onshape file (linked in the README)
gorgoiler
Lasering in on the three different use cases (rather than just one generic 25min focus time) and also providing statistics are both cool additions. Nice.
It would be a good addition to your write up to mention, for the uninitiated, that pomodoro is of course named after a physical timer with a rotary encoder!
https://medium.com/@thejinxes/ditch-the-tomato-timer-d8bbf01...
If you ever get around to your goal of having a red e-ink screen, that would be a fun alternative to Pepe.
fredzel
Very interesting, I've been thinking on how to make physical pomodoro timer (or just display for one), but with circular screen and preferably no exact time remaining visible. as for me it is both distracting and anxiety-inducing. I've been using Visual Timer app [0] on my android phone and it has mostly been great, but putting phone away would obviously be better.
[0] https://play.google.com/store/apps/details?id=at.cwiesner.an...
rukenshia
I actually bought a 4" round LCD for that reason, but ended up ditching it in favor for the e-paper display. I also stuck to just showing minutes (and in the last minute 10-second interval updates) so that it doesn't get too distracting.
null
rambambram
The whole idea of pomodoro comes from a physical kitchen timer in the shape of... you guessed it, a pomodoro.
The best UX for the pomodoro technique can be found in this physical kitchen timer, if you'd ask me.
rukenshia
I think functionally the Focus Dial (I linked to it in my README as well) is the much better „product“ and keeps exactly that UX compared to what I built. I had to face the reality of my own limited knowledge and skillset to build something like that (and wanted to do my own thing), plus I really ended up liking that epaper display.
rambambram
I must admit I've been guilty of reacting on the title and not your post. I opened it, saw some machine and immediately thought of the kitchen timer in the shape of a pomodoro I have on my desk here. Which is so dead simple, that's why I like it.
Now that I read your post and look at the photos, I think you definitely add something with the division of certain tasks! Besides, it's always cool to build something yourself, so please don't read my previous comment as a snark about reinventing the wheel or something. I just really appreciate the simple mechanical kitchen timer recommended for the pomodoro technique.
rukenshia
Absolutely no offense taken! I knew I was overengineering the hell out of this when I started it :)
pimlottc
It would help if the intro section mentioned the added features so the reader would understand why a custom device was necessary.
knowknow
Cool project! I would recommend checking out the LVGL library [0], it’s an embedded graphics library to create UIs. It’s pretty simply to use and feels a bit like html. It’s a little bit harder to set up hardware communication, but once it’s set up, it streamlines making the UI and responding to input immensely.
rukenshia
Oh that looks very cool! I spent some time researching when I started but didn’t come across this. Thanks!
pedalpete
A guy I know tried to build a business around a physical pomodoro timer a while back - https://www.indiegogo.com/projects/timechi-your-smart-produc...
A useful addition for those using this in an office, and even for those who don't want to look at the screen for the remaining time, would be to have an LED (maybe as a nice lightbar) on the top of the device which shines red or green to suggest to those who can't see the screen (viewing from the other side) if you are available to be interrupted or not. You could even make it as a progressive light bar if you were so inclined.
atemerev
I know assembling things is half the fun, but if you just want a universal ESP32 device with screen and buttons, I recommend M5stack. Cheap, programmable, uniquitous.
rlupi
They are great. I have actually built my own pomodoro timer using a M5Stack Core2, maybe I should publish the code. It's a lot simpler than this one.
Update: here it is https://github.com/robertolupi/augmented-awareness/tree/main...
chungus
Absolutely love it. Inspires me to think about porting my own productivity tools to an IRL device.
thunder-blue-3
Every time I see something pertaining to a pomodoro timer, I'm reminded of interviewing with a YC founder in downtown san mateo in the early 2010s (he was working on websockets + slide deck/prezi-like tech iirc), and half our interview consisted of him hyping up this technique. The company went under within a year, and I could never respect this technique afterwards
dexterdog
The technique isn't what caused his company to fail. A big part of it was likely his obsession with the technique. He also probably wasted massive amounts of time setting up his other tools instead of using them.
rukenshia
honestly feeling this - I (or my friend who now has the device) don't really follow this religiously either. I think it's great when you have a lot of work to be done and feel a little overwhelmed. Getting down into this rhythm can help you chip away at it.
null
egypturnash
understandable, it's a very useful way to trick yourself into getting shit done but it's also very possible to turn "making the perfect work tracker-timer-app" into a giant rabbit hole instead of just getting a cheap, goofy-looking kitchen timer and keeping some notes on paper.
ifellover
I love this! I’ve been playing around with browser extensions to achieve this, and it always seems to get lost in the clutter of my busy workspace. A physical timer for this is a brilliant idea.
Another thing I’ve been contemplating is a “do not disturb” signpost on my desk when in focus time; might be that this timer could also double as that.
Physical pomodoro: <https://upload.wikimedia.org/wikipedia/commons/3/34/Il_pomod...>