Every 5 minutes this little drawbot wakes up, extends its cute little arms, grabs its adorable tiny eraser, and gets to work as a clock. First, it erases the previous message. Then, it sets the eraser aside to begin a drawing of the time.
This whiteboard clock is inefficient, imprecise, and wonderful!
The delightfully simple body is 3D printed and houses three servos. The arms require two servos for their full range of motion while the third servo provides the lift that allows it to lift the dry erase marker between numbers. You can download the files for the arm assembly on GitHub.
The brain controlling all of this is a PIC16F1454 microcontroller. The creator of this project, Maurice Bos, chose to take the development an extra step by making the whole thing wirelessly driven from his computer. On the computer side is another PIC16F1454 microcontroller with a 433mhz transmitter. His custom protocol simply sends the time to his clock as plain text from a cron job on his local computer.
Interestingly, Bos has built in some error detection and correction to his system. Each message is sent multiple times and carries an identifying bit so the system can tell if the message is complete.
Bos explains how, in order to reduce complexity of the code, each part of the display is only capable of drawing the required characters. For example, the first place only has files compiled for drawing a 1 and 2. The third place only has the capability of drawing a colon. When you’re working with these small systems, every bit counts!