The RFID Gro Clock is based around Raspberry Pi Zero W and has a custom-made 3D case. The project took about six weeks to complete and was finished just in time for Christmas.
Man with a plan
The aim of David’s RFID Gro Clock project was “to get my son to be more independent in going to bed and then also to stay in bed longer in the morning. From a purely selfish point of view, that would give me a bit more time in bed.”
To entice his three-year-old to go to bed in the first place, he decided to provide “some form of entertainment.” He also needed “a method to show somebody who cannot tell the time when it is OK to get up.”
Story books that mentioned CDs piqued his son’s interest, so David decided this was a good option for the entertainment element. Using RFID as the control mechanism (for MP3s and other audio files) also made using the Gro Clock more intuitive: “I don’t like my children having lots of interactions with screens, so this is a great, physical way for kids to be able to control things.”
David based the project around Raspberry Pi Zero W for its GPIO programmability, memory, and microSD card support, as well as its compact size and low cost. He used Python to code everything and decided to use VLC Player for the MP3 playback “as this has a pretty well documented API and Python library, plus support for playing audio CDs.”
He added a ‘setcd’ command to identify the number of tracks on a CD when it was inserted and used events in his Python code to understand when the next or previous track was being played.
He advises anyone planning a similar project to do their research and planning first. For example, he has no 3D printer so used a 3D printing website. Having created a design in FreeCAD (using YouTube videos as a guide) and sent the resulting STL file to print, David realised he’d omitted two, thankfully non-critical items – a potentially pricey mistake since 3D printing was already under way.
“Raspberry Pi has been great for the project it allowed me to have the flexibility of a computer and all the software packages that are available, whilst also giving me the ability to interface with a wide variety of electronics components,” he reveals.
Because he was using existing components as far as possible, not everything came together immediately. The RFID element caused a few issues with power consumption due to the Python package chosen, and because it and the OLED connect via SPI. Nonetheless, David recommends RFID cards as a method of control.”It’s a great way to allow little people to interface with devices,” he says. “Maybe when [my son] gets a bit older and more into music, I may look to have some RFID cards play Spotify songs.”