That’s right everyone, after a few weeks of tense waiting and software writing the first version of the PCBs have finally arrived so let’s have a peek inside the box.
Here we go everyone, as promised, a video of the prototype system working from start to finish! I can recommend viewing it in HD at full screen with a bit of volume for effect. Obviously theres still the final system to create but this is the big turning point in functionality. Let us know what you think in the comments here or on YouTube we’re interested to know what you think of the system as much as the video at this stage.
We’ve had great fun using the Raspberry Pi’s I2C bus and Port Expanders to talk to all the registers in the system and to control the ALU. It’s such an easy to use protocol – writing to 8 pins of a Port Expander is as selecting the Port Expander and sending it a byte of data.
However, Port Expanders aren’t the only I2C device around. You can find all sorts of devices like LED dimmers, LCD drivers, Data Converters (DAC/ADC), Memories, Clocks and Audio synthesisers to name just a few.
That’s right It’s finally happened everyone, at 3:31pm on the 23rd July 2013 the following exchange took place on Twitter between myself and the TwitALU system!
Musical references aside my time has, since building as much of the actual system on breadboard as was needed and ordering PCBs, been spent mostly on finding a suitable Python 3 compatible Twitter library and getting it to work.
Job number 1 was finding one I liked the look of. Truth be told, this extended as far as some Googling and finding a list of popular libraries. Then choosing one that was actively maintained, worked with Python 3 and introduced the least interfering with data between me and the actual Twitter REST API 1.1.
Since software has been a major focus while the PCBs have been in production we will give you a sneak peek into how we’re designing and keeping track of things.
Above is our UML (Unified Modelling Language) class diagram for the software that is being developed on the Raspberry Pi. With a project as complicated as ours, it was very important to plan the software. This allowed us to break up the overall goal into smaller, more manageable modules. These modules could then be programmed in parallel as the requirements of each piece of code was predetermined. Continue reading
Great, we now have a hardware ALU with its most important elements implemented on a metric tonne of breadboard. However, this awesome little machine is missing a crucial component – the interface to Twitter.
Enter the Raspberry Pi (RPi) – everybody’s favourite credit-card sized PC. As good as it is for playing back high-definition video and surfing the web with a connected monitor, its real power is harnessed when it’s used for a different, deeper purpose.