remix logo

Hacker Remix

Show HN: Physical Pomodoro Timer with ESP32 and e-paper screen

315 points by rukenshia 1 month ago | 68 comments

teddyh 1 month ago

ibizaman 1 month ago

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 1 month ago

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 1 month ago

Indeed.

I tend to like quiet visual timers, though.

Something like:

https://i5.walmartimages.com/asr/63f18bde-f179-4b8e-a32a-8e4...

javajosh 1 month ago

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

jfim 1 month ago

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 1 month ago

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 1 month ago

But then you have to glance at the thing every few minutes to ensure it didn’t run out

j45 1 month ago

It builds muscle memory over time.

Analysis paralysis and getting it perfect before beginning is the enemy of good.

TechDebtDevin 1 month ago

Watches that are already on most people's wrist work great too!

Procrastes 1 month ago

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.

spookie 1 month ago

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

maccard 1 month ago

I wear a watch. Nothing fancy, but I do have a few of them (and none worth more than 2-£300.) 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 1 month ago

Probably just demographics. I live in a mountainous city that's very outdoorsy and athletic so everyone has a garmin/apple watch.

kaonwarb 1 month ago

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 1 month ago

It's a joke. Pomodoro means tomato.

SamBam 1 month ago

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 1 month ago

I’m pretty sure that’s the origin of the term

wrycoder 1 month ago

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

sambroner 1 month ago

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

btbuildem 1 month ago

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 1 month ago

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 1 month ago

If you put the knob in a different parts studio then you'd probably have a lot less lag.

rukenshia 1 month ago

will give that a try next time, thank you!

gorgoiler 1 month ago

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.