Update If you don’t want to go down the full DIY route you can purchase a PCB and kit of parts to make your own wordclock kit but clicking on the following link Order your Tempus Fugit Wordclock kits here
Back to work tomorrow, but happy as I have managed to finish my Christmas Pi project – a ‘word clock’ using a single a 8×8 matrix display and a PiZero.
I used a MAX7219 to simplify driving the LED matrix, this connects to the PiZero via the SPI port and uses a library developed by Richard Hull to program it in Python. The character layout came from an article in the Guardian.
I used a smaller matrix kit from the internet to test the concept with a blog post from RasPi.TV providing some additional help !
The biggest pain was trying to get my head around the concept of a ‘common anode’ and ‘common cathode’ matrix display. The MAX7219 is nominally designed to drive common cathode 7 segment displays, which is fine but with an LED matrix life is a bit more confusing as by swapping the columns and rows around you can drive either sort of display with the 7219. To make matters worse matrix displays often do not have a clear marker for pin 1. Having wired everything back to front on the first attempt I found the following article on an Arduino website which was a great help – Identifying pin 1 on 8×8 displays .
The final hardware elements are an RTC and some push buttons so the time can be set without the need for an internet connection. This proved harder than expected as there seems to be a problem with the latest Kernel overwriting the RTC during the boot process, I think I have found a workaround but this does need a bit more work.
The character overlay is simply printed from a table in MS Word with the letter colour set to white with a black fill. I experimented with a number of different fonts, the ones which work best are non-proportional ones like Courier and Monaco.
All in all great fun
[If you just want some more detail together with the Python code and Templates have a look at my WordClock GitHub]
Got a Pi Zero working with a Pi-LCD board this evening for a bit of fun, worked fine but not well balanced !
Pi-LCD software uploaded to GitHub so it is time to have a play with my PiZero’s – I managed to get the last Magpi in Sunbury Tesco’s, and my wife got me one on-line [ that is love for you ], importantly the one Cara got came with leads so I can have a play with it !
I’m away with work this week and want to be able to do some s/w development in the evenings for the Pi-LCD Kickstarter. In the past I have ended up taking an old wifi router with me, but thought time it would be a good opportunity to give the Ryanteck Debug clip an outing. Setting it up was a bit of a pain on the first PC I tried, but I suspect that was more down to the PC than the Debug clip. That said even with a more compliant windows 7 PC I had to download the drivers from the Microchip site (a link to these in the instructions would have saved a bit of time).
With the correct driver installed attaching as per the instructions with Putty was simple and the serial link worked reliably over a number of hours allowing me to edit and run programs without any problem. One point to note is that COM serial port drivers do have a habit of ‘hanging’ if unplugged so – be prepared to reboot the PC if you need to disconnect the USB lead for any reason.
So in conclusion the Debug clip ‘does what it says on the lid’, setting up can be a bit hit and miss depending on the PC hardware but that is serial ports for you….
On the positive it has cut down my travelling Pi set-up somewhat which was the goal
Great day at CamJam yesterday, launching my new Pi-LCD Kickstarter.
Pi-LCD is a low cost board that allows common 16×2 LCD modules, including the newer full colour RGB backlit variants to be easily connected to a Raspberry Pi. The Pi-LCD project builds on my previous successful PiMuxClock Kickstarter.
The Pi-LCD is addressed directly from Raspberry Pi GPIO lines without the need to download any additional s/w modules. It does not need SPI or I2C making easy to use in a training environment. Example python code will be available demonstrate the board’s capability and as building blocks to develop your own applications.
The kickstarter is running now with a range of backer rewards from a bare PCB through to fully built Pi-LCD modules.
Firstly I should apologise for not posting anything for the last couple of months, partly this is because I have been working on a new Kickstarter project – which with a bit of luck will
launch later today. I will be showing this at the CamJam in the ‘show and tell area’ this Saturday.
In addition to the show and tell table I will be giving a talk in the afternoon on my first experience of running a Kickstarter project, looking at how to manage some of the risks that come with Crowdfunding.
I will also have some PiMuxClock boards on display and available to buy.
With the PiMuxClock work going well I decided it was time to experiment a little with my RasPiO Duino board. I built it with some enthusiasm a few weeks ago but did not get passed the blinking LED test.
In truth the whole Arduino world has somewhat passed me by, as to me it is squashed between PIC’s at the bottom and Raspberry Pi’s at the top – too complex and expensive for simple low level embedded stuff but lacking the built in bits like HD video which makes the Raspberry Pi great.
Well anyway the RaspPiO Duino board Kickstarter seemed like a good opportunity to see what the Arduino is all about. The Duino is a great concept for me as it gives me a self-contained Arduino development ‘workbench’ within my existing Raspberry Pi setup. As you can see I have progressed to getting an LCD interface working, and I have to say the Duino has been great from build, through setup, with an excellent set of examples to get you started.
So far I have just scratched the surface but I can see the big win for me is most likely going to be using the Arduino in combination with a Raspberry Pi. For instance the Arduino is well suited to reliable autonomous low level data collection and control type work, while the Pi can play to it’s strengths interrogating it and passing processed data back to the wider world. I have done this in the past with a PIC but the problematic bit tends to be getting the information from the PIC to the Raspberry Pi. PIC’s have the capability but unless you want to get into quite complex low level programming you are forced down the Matrix ‘FlowCode’ type product route which is relatively expensive compared to the freely available Arduino resources. I can see a combined Arduino / Raspberry Pi Mark3 chicken heater this winter ….
Really pleased that my PiMuxClock Kickstarter was successfully funded yesterday. I will be posting some better pictures over the weekend [ when I have tided up my desk ] but here is one showing the final board design.
The board is plugged into a Pi fitted into a Pimoroni PiBow ‘Coupé Ninja’ case with a ‘Breadboard Base for Pibow’, which I have so say is brilliant combination.
Thanks again to everyone who has helped with the project so far.
The PiMuxClock, is a simple Raspberry Pi add-on card, allowing you to create a basic digital clock and temperature display for your RPi.
The PiMuxClock has been launched as Kickstarter project. To support and please visit the PiMuxClock Kickstarter page. There you will find full details of the available pledge levels and associated rewards.
There are a limited number of 50 early bird kits up for grabs. These are being offered at a slightly lower pledge level and will ship in June this year (at least month before the other rewards).
Here is some more information on the PiMuxClock, for full details check out the Kickstarter page.
The key design goal for the PiMuxClock was to get back to basics and develop a low cost, 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. As 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 as an option. And to allow people to create a completely standalone clock I also added a socket to connect in the Adfruit DS1307 real time clock board – because the Rpi does not have its own battery backed clock it relies on connecting to internet at power up to ensure the Linux System time is correct, adding the DS1307 board gets around this. Finally the 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 provides for 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.
Update 26th April, I have now completed the PCB design and ordered a final prototype PCB to test.
The picture is of my ‘proof- of-concept’ infra-red cat monitor, based around a RPi Model A , Pi NoIR camera and motion sensor. As a number of other people have found the IR LEDs are only really good
for a metre or less, but is fine for this application. At the moment I am driving them continuously from the 5V rail but will change that to switched operation in the next version to make the whole thing as battery friendly as possible. The software is build on some simple Python code adapted from various other projects using the Picamera library.