[HN Gopher] Show HN: Physical Pomodoro Timer with ESP32 and e-pa...
       ___________________________________________________________________
        
       Show HN: Physical Pomodoro Timer with ESP32 and e-paper screen
        
       Author : rukenshia
       Score  : 269 points
       Date   : 2025-03-29 10:42 UTC (12 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | johntopia wrote:
       | Neat project!
        
       | sambroner wrote:
       | 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.
       | 
       | [0] https://sambroner.com/posts/raspberry-pi-train
       | 
       | [1] https://sambroner.com/posts/personal-analytics-2024
        
       | gregwebs wrote:
       | I use this timer which has the advantage of being portable:
       | https://gymboss.com/
        
       | fredzel wrote:
       | 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 wrote:
         | 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.
        
       | gorgoiler wrote:
       | 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.
        
       | chungus wrote:
       | Absolutely love it. Inspires me to think about porting my own
       | productivity tools to an IRL device.
        
       | thunder-blue-3 wrote:
       | 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
        
         | rukenshia wrote:
         | 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.
        
         | dexterdog wrote:
         | 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.
        
         | egypturnash wrote:
         | 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.
        
       | teddyh wrote:
       | Physical pomodoro:
       | <https://upload.wikimedia.org/wikipedia/commons/3/34/Il_pomod...>
        
         | neuah wrote:
         | Exactly what i thought of as well. That's what i always used to
         | use.
        
           | latexr wrote:
           | That's where the concept and name come from. "Pomodo" means
           | "tomato" in Italian, and the author of the technique had one
           | of those. The image comes from its Wikipedia page.
           | 
           | https://en.wikipedia.org/wiki/Pomodoro_Technique
        
             | stavros wrote:
             | Correction: "pomodoro" means "tomato".
        
               | latexr wrote:
               | Thank you for the correction. It was a typo, but it's
               | unfortunately too late to edit the post.
        
               | stavros wrote:
               | No problem, I wasn't sure so I had to go looking, and I
               | figured I'd post a correction for anyone who saw it.
        
         | ISL wrote:
         | 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 wrote:
           | Indeed.
           | 
           | I tend to like quiet visual timers, though.
           | 
           | Something like:
           | 
           | https://i5.walmartimages.com/asr/63f18bde-f179-4b8e-a32a-8e4.
           | ..
        
             | javajosh wrote:
             | 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.
             | 
             | https://www.walmart.com/c/kp/countdown-timers
        
           | TechDebtDevin wrote:
           | Watches that are already on most people's wrist work great
           | too!
        
             | Procrastes wrote:
             | 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.
        
               | maccard wrote:
               | I wear a watch. Nothing fancy, but I do have a few of
               | them (and none worth more than 2-PS300.) it's about the
               | only accessory I wear so it's nice to have some variety.
               | My day to day is a smart watch (and has been for a few
               | years now). Lots of my circle is similar.
        
               | TechDebtDevin wrote:
               | Probably just demographics. I live in a mountainous city
               | that's very outdoorsy and athletic so everyone has a
               | garmin/apple watch.
        
               | spookie wrote:
               | > other than the occasional smart watch. That habit
               | doesn't seem to last long, either.
               | 
               | I'm gonna go on a whim and say the habit doesn't last
               | cause you cannot truly depend on them. My watch never
               | leaves my wrist, it never fails me, it is just a "dumb"
               | one.
        
           | jfim wrote:
           | 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.
        
             | loloquwowndueo wrote:
             | But then you have to glance at the thing every few minutes
             | to ensure it didn't run out
        
               | j45 wrote:
               | It builds muscle memory over time.
               | 
               | Analysis paralysis and getting it perfect before
               | beginning is the enemy of good.
        
             | cwmoore wrote:
             | 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.
        
         | kaonwarb wrote:
         | 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 wrote:
           | It's a joke. Pomodoro means tomato.
        
             | SamBam wrote:
             | 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 wrote:
             | I'm pretty sure that's the origin of the term
        
         | sinuhe69 wrote:
         | 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.
        
         | layer8 wrote:
         | 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
        
         | ibizaman wrote:
         | 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.
        
       | rambambram wrote:
       | 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 wrote:
         | 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 wrote:
           | 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 wrote:
             | Absolutely no offense taken! I knew I was overengineering
             | the hell out of this when I started it :)
        
           | pimlottc wrote:
           | It would help if the intro section mentioned the added
           | features so the reader would understand why a custom device
           | was necessary.
        
       | atemerev wrote:
       | 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 wrote:
         | 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...
        
       | bloopernova wrote:
       | This is fantastic and I want to build one. The UI is delightful,
       | and as other people have said, the multiple modes for different
       | tasks is a great idea.
        
       | dartharva wrote:
       | GPLv3-licensed GUI Pomodoro app for Linux, for anyone who needs
       | it: https://gitlab.gnome.org/World/Solanum/
        
       | jpcom wrote:
       | It's very beautiful, lovely work. Sleek and shiny, it's a device
       | that begs for interaction, which is important in something that
       | you'll be engaging with every 24-30 minutes. I would like a
       | version of the display to show grains of sand falling through a
       | digital hourglass.
        
       | desertmonad wrote:
       | Awesome project :-)
       | 
       | I think the missing ingredient here is a way to export the
       | tracked activities, but this looks like it was fun to make!
        
       | mavamaarten wrote:
       | I'm so sad that ePaper displays are still so expensive. They'd be
       | perfect for splashing some home assistant driven goodness around
       | my house. But the tiny ones are too tiny for my taste, and the
       | big ones too expensive.
        
         | jfim wrote:
         | If you're not dead set on having eink, there's always the ESP
         | 32 cheap yellow display board:
         | https://makeradvisor.com/tools/cyd-cheap-yellow-display-esp3...
        
       | btbuildem wrote:
       | 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 wrote:
         | 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)
        
           | CWIZO wrote:
           | If you put the knob in a different parts studio then you'd
           | probably have a lot less lag.
        
             | rukenshia wrote:
             | will give that a try next time, thank you!
        
       | knowknow wrote:
       | 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.
       | 
       | [0] - https://github.com/lvgl/lvgl
        
         | rukenshia wrote:
         | Oh that looks very cool! I spent some time researching when I
         | started but didn't come across this. Thanks!
        
       | ozim wrote:
       | Not sure if author posted it here but don't forget use of
       | "pomodoro" term is copyrighted.
       | 
       | https://www.pomodorotechnique.com/pomodoro-trademark-guideli...
        
         | tonymet wrote:
         | would it need to be distinguishable from the general term
         | (tomato)?
        
         | rukenshia wrote:
         | thanks for that, i'll update references.
        
       | jrockway wrote:
       | I made an e-ink clock once. The display documentation basically
       | said you'd break the display if you refreshed more frequently
       | than some long interval. I refreshed it every minute and indeed
       | it broke after a year.
        
       | jjice wrote:
       | $35 for the ePaper display seems pretty decent these days. Are
       | these actually getting cheaper or am I off? I know it's a patent
       | riddled tech so that probably is the bit cost limiter, but I've
       | been so excited seeing it more and more the last few years.
        
       | vram22 wrote:
       | Anyone made a cool software Pomodoro or other time-related app
       | with interesting variations?
        
       | pedalpete wrote:
       | 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.
        
       ___________________________________________________________________
       (page generated 2025-03-29 23:00 UTC)