12022025 Turn the lights on! 𖥔‧₊˚ ⊹
Yesterday I worked on adding a light progress bar to visually show how much time is left alongside the countdown matrix. This is purely for aesthetics, it doesn't really do anything but look pretty :). I'll post some videos at the end. On to today!
Fixes:
- I fixed the "hairy edge" by rewiring my Arduino board. At first I thought it was a software problem, but since I had already added a filter I did some more testing and noticed that when I ruffled the wires that's when I got jitter in the output. Now the potentiometer values are nice and smooth.
- I've fixed the reset so that it automatically goes back into timer mode after the alarm buzzes. So now the TIMER state contains substates inside it to control when the intro screen comes up, when it's in setting mode, and when it's running. I'd post pictures of my code, but it's absolutely horrific to look at lol.
- I worked on this all day, but I finally implemented a reset, pause, and continue feature so that the timer has that functionality. I kept making a ton of logic mistakes rewriting over existing variables. It was a slog to work through. The implementation is essentially a mini state machine using booleans inside of the RUNNING state. Again the code is a mess, but I plan on cleaning it up before I start working on implementing the Pomodoro Mode.
What's Left?
Really the only thing I have left to do is implement the Pomodoro Mode. I'm hoping to have that finished by the end of the week so I can begin 3D modeling the case and soldering everything together. I'm thinking about making a YouTube video about the prject, but I haven't decided yet.
Video
11302025 Current function + Some Problems to Solve ⊹ ࣪ ˖⏱ ୭˚. ᵎ
I wanted to have way more updates on this page before now, but that just wasn't how it played out. Let's catch up! Here's a video of the current function:
There's two modes: Timer and Pomodoro. Currently I onlu have the timer section running and this week I'll be working on getting the last auxiliarrry element connected which is a light bar for visualizing how much time is left, and implementing the pomodoro mode. I've been using it a bit for working at my desk as it needs to be pulling into my computer right now to work and I'm noticing a few problems.
1. Something isn't being cleared out of the cache.
I can use the timer as intented, but once it finished and the alarm buzzes, it doesn't reset back to timer mode. It stays on the zero numbers. Additionally when I press the long button to put it back into timer mode, it doesn't save the value I input. I have to manually reset it on my computer.
2. There's no pause.
I need to implement a pause, continue, and reset function. I realized this when I wanted to get up from my desk and I had no way of pausing the timer. I'll be working to implement that this week as well.
3. I'm getting some "hairy edge" with my potentiometer.
Sometimes the values on the potentiometer wig out and jumps between two values. I'm not sure if this is just a wiring problem, or if I need to do something int he code. I 've already implemented a smoothing function, but it doesn't seem to be working as well as I'd like.
Other than that, it's alright. It's nice to look at, it feels good to turn the dial to set the time and I'm really enjoying the vibrational alarm, it definitely alerts me. Hopefully next update I'll be able to show more. I'll also be going back and adding some diagrams and things that I've been writing down during the process. I just want to have everything documented.
11072025
Today I think I got my final button functionality down. In my original version I realized there was too much going on and I wanted to prioritize simplicity. So now there’s 2 buttons instead of four and they have relatively straightforward functionalities. I’ll be using a dial now instead of more buttons in order to control the incrementing of the time. Not only do I prefer that interaction, but it’ll be much faster and less buggy and time consuming. I just need to get the potentiometer from my university’s lab. Tomorrow I’ll start working with the RTC and see if I can build some kind of basic timer using serial inputs.