We’ve all felt the frustration of cheap consumer electronics — especially when they aren’t actually cheap. How many of us have said “Who designed this crap? I could do better with an Arduino!” while resisting the urge to drop that new smart doorbell in the garbage disposal?
It’s an all-too familiar thought, and when it passed through [Mathieu]’s head while he was resetting the time and changing the batteries in his son’s power-hungry Pokémon alarm clock for the umpteenth time, he decided to do something about it.
The only real design requirement, imposed by [Mathieu]’s son, was that the clock’s original shell remained. Everything else, including the the controller and “antique” LCD could go. He ripped out the internals and installed an ESP32, allowing the clock to automatically sync to network time in the event of power loss. The old-school LCD was replaced with a modern, full-color TFT LCD which he scored on AliExpress for a couple of Euros.
Rather than just showing the time, the new display sports some beautiful pixel art by Woostarpixels, which [Mathieu] customized to have day and nighttime versions, even including the correct moon phase. He really packed as much into the ESP32 as possible, using 99.6% of its onboard 4 MB of flash. Code is on GitHub for the curious. All in all, the project is a multidisciplinary work of art, and it looks well-built enough to be enjoyed for years to come.
Is it less power-hungry than the original?
If not, does it have a power-save mode that is less power-hungry? I’m thinking a “sleep” mode that wakes up when you throw it to release your Pokémon, I mean, gently tap it to wake it up and see the time.
Hello,
It’s not less power hungry, but the external power source + RTC allows it to loose it’s power without losing time.
Using slint-ui and embassy allowed me to be very efficient on the CPU usage. It goes to sleep when there is nothing to display (ie: nothing changed) and only wake up once a second to update time. I could indeed power off the backlight and blank the screen, and put the high performance core to deep-sleep, but I have not explored the Low power core of the esp32c6, but it’s typically thing that can be done.
Maybe my next project :)
Oh, great. Now the kid is cursed and Nintendo will sneak in in the night to steal his soul.
Jokes aside, though always fear their wrath, it’s always nice to see projects upgrading and taking control of your hardware.