[JohnathonT] has a two-year-old who can’t reliably tell time just yet. Every morning, he gets up before the rooster crows and barges into his parents’ room, ready to face the day.
In an effort to catch a few more Zs, [JohnathonT] built a simple but sanity-saving clock that tells time in a visual, kid-friendly way. Sure, this is a simple build. But if a toddler is part of your reality, who has time to make one from logic gates? The hardware is what you’d expect to see: Arduino Nano, a DS1307 RTC, plus the LEDs and resistors. We think an RGB LED would be a nice way to mix up the standard stoplight hues a bit.
At a glance, little Mr. Rise and Shine can see if it’s time to spread cheer, or if he has to stay in his room and play a bit longer. At 6:00AM, the light powers on and glows red. At 6:50, it turns yellow for 10 minutes. At the first reasonable hour of the day, 7:00AM, it finally turns green. In reading the code, we noticed that it also goes red at 8:00PM for 45 minutes, which tells us it also functions as a go-to-sleep indicator.
When his son is a little older, maybe [JohnathonT] could build him a clock that associates colors with activities.









His source code is available on request but he does detail a neat software trick he uses for rotating the view. It may be confusing for some but as you move through the maze, your viewpoint rotates so that up is always the direction you’re facing. Luckily, the walls surrounding the user can be represented using 8-bits, four for east, west, north, and south, and four more for the corners. The maze is stored as a bitmap and from it, 8-bit values are extracted for the current position, each bit representing a wall around the position. To rotate the walls to match the user’s current orientation, the bits are simply shifted as needed. Then they’re shifted out to set each LED. Check it out in the video below.
