The idea of creating a simple clock display using a Raspberry Pi was really a distraction from some other work I should have been doing. I have always liked creating digital clocks, my first used a discrete 74 series logic and a reclaimed calculator display. Since then I have built everything from complex timers to binary and octal clocks using a variety micro-controllers.
The key design goal here was to get back to basics and develop a low cost, clock based educational hardware project -no buffers or serial interfaces just direct connection to the Raspberry Pi GPIO. Programmable with simple Python code to drive the multiplexed display – PiMuxClock was born.
The more astute reader will have noticed the DS18B20 on the prototype board picture, well there was a bit of spare room on the PCB so it seemed like a good idea to add the ability to display room temperature. I guess while we are talking about ‘creeping features’ I should mention there is also 5 pin connector on the back to allow you to connect the Adafruit DS1307 real time clock board in. This allows people to create a completely standalone clock using a raspberry Pi.
The final production design will also include a second rear connector providing access to a number of unused GPIO lines, creating more possibilities for extensions to the basic clock project. This End result are 2 core options, a basic 4 digit clock project or an enhanced option allowing students and hobbyists to learn serial interfacing and experiment further.
A common PCB will be used for both versions making it easy for users to 'self upgrade' to the enhanced version.
Education, the PiMuxClock will be made available as a cost effective educational resource, allowing students / hobbyists, to develop their python programming skills and gain an understanding of multiplexing through building a working digital clock. With the enhanced version this is extended to include a room temperature sensor. Then using the additional GPIO port connections many more extension projects around the basic clock concept are possible for instance;
- Alarm clock
- Stop watch
- Temperature alarm
- Simple reaction timer
- Heating controller
Outlines design suggestions for these will be included [ but not full s/w ]
The pledges qualifying for the educational 10 pack [ basic or enhanced ] will also include lesson plans.
Because of the simplicity of the basic PiMuxClock hardware it can also be considered as a project for more advanced students looking to develop programming skills in other languages such as 'C'. To support this, the physical connection detail and PiMuxClock code will be available to all levels of pledge under a Creative Commons license.
Funding, with your support, I will be able to
- Complete the production PCB design
- Develop documentation including lesson plans
- Set-up to manufacture and deliver PiMuxClock at low cost in quantity.
Set-up, for the basic kit no additional set-up on the RPi is needed, the python examples use libraries included in standard NOOBs [Raspbian] image. To access the additional features in the enhanced kit you will need to set-up 1wire and I2C ports on the RPi, step by step instructions will be provided for this.
- Display, 4 digit 0.56" Red LED
- Connection, direct to 40 pin RPi GPIO connection
- Basic version features +
- DS18B20 1wire temperature sensor, connected to RPi GPIO port
- 5 pin connector to allow Adafruit DS1307 RTC [ not supplied ] to be easily connected to RPi via I2C
- 6 way header to permit easy access to 4 unused GPIO lines, 0V and 3.3V rails
Instructions, will be included covering build / operation together with basic Python code [v2.7 and v3] to get you going and for the enhanced version set-up of the 1wire and I2C interfaces on the RPi.
Difficulty, only basic soldering skills are required build the kits, there are NO surface mounts or complex chips to solder.
Design maturity, the design is complete, the prototype has been tested with PiA+ PiB+ and Pi2. The PiMuxClock is not compatible with the original Raspberry Pi A and B designs - [i.e. with a 26pin GPIO connector].
- The Raspberry Pi computer, case,SD card and peripherals are not included in any pledge reward
- The display multiplexing is driven directly by s/w so performance will depend on what else you have the Pi doing. In basic operation on a Pi B+ the test code consumes about 5% of CPU usage
- Tools and solder needed to construct the kits are not included
- The external DS1307 RTC is only needed if you want to maintain the correct time when the Pi is powered down AND you do not have an internet connection
- The Adafruit DS1307 is not included in any pledge, these can be purchased direct from Adfruit or their stockists outside the US
- Lesson plan material is only included with educational bundle pledges
Risks and challenges
All the components are available from multiple sources, an error on PCB is an obvious risk but I plan to go ahead and order a final production PCB sample as a final check while the Kickstarter is running, to de-risk this as far as is practical. The production PCB order will be sourced from the UK or Europe to mitigate any problems around shipping and import duty.
The other potential risk comes from the ‘day job’ limiting my time to work on the Raspberry Watchdog, but I have other people’s time I can call on if this starts to be a problem.Learn about accountability on Kickstarter
Support this project
- (30 days)