Raspberry Pi Blog

This is the official Raspberry Pi blog for news and updates from the Raspberry Pi Foundation, education initiatives, community projects and more!

Creating and Kickstarting Slice, the Compute Module-Based Media Player

Back in August 2014, a startup company called FiveNinjas launched Slice, the first ever Compute Module-based media player, on Kickstarter.


FiveNinjas with five Slices. Front to back: Gordon, James, Mo, John, Paul

We are FiveNinjas: James Adams and Gordon Hollingworth from Raspberry Pi, Jonathan Williamson and Paul Beech of Pimoroni, and Mo Volans, entrepreneur and music producer. We’re here to tell you how we created a consumer product with the Raspberry Pi Compute Module in our spare time, and launched it using Kickstarter. It has been a long journey, but we’ve learned a lot and now have a growing and enthusiastic community over on our forums, a video channel, and even a user-created HOWTO Wiki. Finally, all Slice’s software (which is a modified version of the fantastic OpenELEC and Kodi) is available on GitHub. We hope this post will be interesting or inspiring to those who want to follow in our footsteps: grab a mug of tea and read on…

Gordon gives the background:

FiveNinjas began with the Mo Volans’s idea of a media centre built around the Raspberry Pi, including everything you needed to get going without requiring lots of knowledge about how media centres work. He first got in touch with Paul and Jon from Pimoroni to discuss the idea, thinking that he could create the simple software build required and Paul and Jon would be able to create a laser-cut case to contain the Raspberry Pi, a hard drive, and WiFi. They also came up with the idea of adding the LED ring to provide visual feedback. Between them, they created the first Slice video, which they showed to us at Pi Towers.

I was amazed by the idea, and believed that Slice was going to be a great product, but I also thought it could be better. Around that time, we were developing the Raspberry Pi Compute Module which would allow smaller and more custom hardware in a very small package. It was perfect for the Slice, as it would also allow us to use a standard SODIMM connector, while remaining backward-compatible with future Compute Modules, and enabling users to upgrade their boxes.

I came on board, bringing James Adams with me. James went to work on the hardware schematics and I went to work on the software. At this stage, we were still trying to start up the Kickstarter but knew we had to wait until we had the first version of the hardware because Kickstarter require you to have implemented a first prototype.

The first thing we had to do is to set a timescale for the Kickstarter, which can be tricky. The longer time you set, the more opportunity you’ll have to get people interested in the product. However, you’ll also have a longer delay before you can start ordering supplies for your project. In the end, we had to wait about six weeks to be able to order the PCBs, even though we had already finished the design. Interestingly, the optimum time for a Kickstarter is probably significantly less than you’d expect: we took five days to hit our funding target but then couldn’t start ordering parts until around four weeks later! Finally, we ordered the first set of PCBs, and I began the task of developing the test code.

One of the most important parts of the PCB manufacturing process is developing the manufacturing test system, which is the test that tells you whether the manufacturer has actually built the hardware correctly. If you find a problem at the manufacturing stage in China it is relatively quick and cheap to fix it right there. Whereas if we find the bug later when the PCBs have been transported to the UK, we’d have to either throw them away, fix them by hand, or send them back to China! The test system for Slice was built around a simple Buildroot Linux kernel, which is actually the same way the Compute Module is tested. The Buildroot kernel can be pushed into the Compute Module over USB; the software can then run through the test process.

Slice testing

This is a video of the FiveNinjas Slice product being tested. It is actually very simple to execute a linux buildroot on a compute module without having to program the Flash at all

The test schedule included the audio output, the LEDs, HDMI output, the USB connections, the internal SATA hard disk, and the infrared sensor; each test required the operator to complete various checks, whereupon it would output test results and the serial numbers for the Compute Modules.

I also wrote a similar but slightly different programming Buildroot kernel. This was used to program the Slice eMMC, copy data from a server onto the hard drive, install the licenses, install the recovery system and then boot into the Slice operating system to check everything was working. This takes about one minute, but, because the whole process is done automatically, it could be done in parallel.


Slices being programmed automatically in parallel (Raspberry Pi for scale)

The testing was a success: Slices are now programmed with the latest version of our software as they leave the warehouse (as you can see in the picture). The Slice software (which is fully open and available on www.github.com/FiveNinjas) has also been maturing thanks to lots of feedback from users, and we are continuing to improve it.

Jon says: Friends don’t let friends do cases (unless they’re made from laser cut perspex!).

Early on we decided that we wanted to make Slice something premium and special. We quickly decided that milled aluminium (aircraft grade, what else?) was the order of the day.

We had loads of experience making acrylic cases but had never embarked on something that required full 3D modelling. With a vision of simplicity that would accentuate the lighting ring, we knew exactly what we wanted. The only problem was we didn’t know where to start. Luckily an old friend works for Autodesk, and could provide some tips on how to get started which were amazingly useful. Armed with a killer CAD package, I spent a weekend producing the first design files. We had a viable model for machining! Fortunately, in those days Pimoroni was next door to a tooling company, who prepared a few prototypes for us to test with.

image (8)

The first Slice case prototype machined from aircraft grade aluminium!

Machining in the UK was impossible due to costs, but fortunately we had friends in Taiwan who visited a few machining companies and came back with quotes that would work. The only downside to production in Taiwan was that we couldn’t risk placing a single order for all the units at once. We had to quality control batches as they arrived otherwise there was a risk that we could receive a heap of junk and the whole project would have been in trouble. We settled on batches of 200-400 units at a time, which balanced risk with speed. Generally this worked pretty well but it was slower than we would have liked.

The case production process was fraught with delays due to the fact that there are three steps: machining, bead blasting, and anodising, all of which are done at different places. The end result is, however, undeniably lovely and makes Slice something quite special.


Red Slice with remote. Also available in black or grey!

Paul says: It’s hard to be Jony Ive on a budget of less than £1m.

The Slice Kickstarter was a success. This is a lot harder to achieve than it looks, but we had a stellar team with a good overlap of talents and a great, supportive community. For me, the joy was getting back to the days of hard disk players, but smaller and sleeker. Nowadays, everything and its dog has Netflix, so I was keen to see something with usable software and a simple setup for the old skool crowd.

Slice capture 5

The Slice UI

Unfortunately, 500-1500 backers is pretty much the valley of death for hardware. If you want to make 100 of something, you can do it locally, at high cost, but probably beautifully. If you want to make 10000 of something, you can do it in the Far East, quite economically and with good quality. In between, you’re in a sticky middle ground. Things like electronic components come in reels of 2000-3000, factories don’t get out of bed for less than 10,000 pieces, and you don’t have time to play with R&D of 100 units to get things right and smooth. You have the higher costs of smaller-run production but without the benefits of doing things big.

Fortunately we had a lot of advantages, or we might have struggled. There have been mid-sized crowdfunding projects that have gone horribly wrong. We haven’t been one of those, and the results have always been satisfying, even when late.

I got a real kick out of seeing the case come to life. It’s simple, beautifully finished, and without fussy details. I didn’t expect us to be able to nail the finish this well, but the results are pro-style and built to last, which is handy as we’ve made the Slice upgradeable.

James says: Circuits are fun, but there’s more to it than that…

Designing the circuitry and circuit board (PCB) for Slice turned out to be more of a challenge than expected despite having lots of experience.

The hard part of any design is the balance of features and trying to come up with low cost yet functional and well engineered circuitry. Using the Compute Module made the entire project possible, as we knew we were building on a stable platform and could concentrate on all the other parts.

We spent many hours working out how to mount the hard disk, the LEDs, and Slice’s LED diffuser. Eventually we settled on the solution we have today, which works remarkably well despite being very simple!

We created three sets of prototypes at our own expense, and did all the testing as well as compliance testing. Thankfully this all went relatively smoothly, but even for the professionals it takes a lot of work and usually several prototypes to get things right. Let’s not go into how much time was spent arguing about and testing the layout of the ports on the back of Slice and spacings between them….

Slice’s PCB including Compute Module

Mo says: I had an idea in my kitchen, gained a team in Sheffield and lost my voice in New York.

My journey with Slice has been a little different: from the initial idea to putting together the Kickstarter campaign, everything has been about concept and image for me. I’m always a little obsessed with how things appear and whether or not people will perceive something as a quality product. This moulded my interactions with Slice.

It all started in my kitchen. A Raspberry Pi, a hard drive, a few sensors and a huge bunch of wires were stuck to a TV. I was convinced the whole contraption could fit into a box and become something that people would want to use, so I got to work with my Dremel and took my first prototype on the road.

Mo's very first Slice prototype!

Mo’s very first Slice prototype! Fortunately production Slices are a little better.

I approached a few companies at this point but the best fit by far were the guys at Pimoroni in Sheffield. After a few boozy meetings, the first solid Slice unit was born.

After my wife Emma coined the name Slice, Jon added some LEDs, and Paul came up with a killer logo, it was time to get to work. Kickstarter was our chosen route but we needed a working prototype and some great footage. We made some progress but something was missing, Slice was just too big, and our efforts were a little unstructured.

It was at this point that Jon and Paul introduced me to Gordon and James at Raspberry Pi. They loved the idea of Slice and FiveNinjas was created (Emma gets credit for a second name here). We suddenly had expertise in marketing, hardware, software, logistics and design, as well as the new Compute Module.

In no time the new compact Slice, complete with custom PCB and milled aluminium case, was born. It was a great moment to see my humble concept transformed into a solid working unit.

It was time to go back to Kickstarter, where the real work began for me. The guys had done such a good job I knew I had to go all out to make the slickest proposal I could, and nothing was left to chance. The campaign itself was no less intense, with thousands of questions, some awesome press coverage and trip to New York Maker Faire (where I lost my voice talking to thousands of people and Slice won two editors’ awards). In the end we smashed our target and we’re now distributing thousands of Slices.

Slice: Raspberry Pi Media Player

Mo Volans from FiveNinjas shares Slice at World Maker Faire New York 2014. It’s a set-top media player that’s based on the brand new Raspberry Pi Compute Module. They’re in the process of crowdfunding the project, and have met their funding goal. Since it’s based on the Raspberry Pi hardware and XBMC software, the platform is totally hackable.

The journey post-Kickstarter has been bumpy: we’ve hit some serious obstacles but we’ve tackled them and come out with a bunch of happy users. Slices are now flowing freely and we are good to go. Hopefully this just the beginning for Slice.


Triangulating the office dog

Emma, our office manager, has forbidden us any office pets of the higher orders. She has said she’ll allow hissing cockroaches, which was a singularly unpopular option. (Emma has a PhD in entomology – the study of insects – and we’re worried she’s serious.)

Hissing cockroaches, like dogs, tend to wander (cockroaches do it in more of a scuttling style than dogs, but the principle holds), and in a large office with many rooms, it can be hard to locate your pet. So we are extremely impressed by the problem-solving hacking of the folks at Red Pepper, a digital agency in Atlanta and Nashville, whose office dog is a) adorable and b) bionic. Bean the greyhound wears a collar fitted with a beacon, and Red Pepper’s office is equipped with three bluetooth-sniffing Raspberry Pis, so she can be located at all times.


Triangulate roaming office dogs with a Beacon and Raspberry Pis. Learn more at rdppr.it/sniffur Music: Zedd – Find You (Exige Piano & Launchpad Cover) feat. Matthew Koma & Miriam Bryant https://www.youtube.com/watch?v=HuW599mQjiY

We are unclear on whether this approach will work with cockroaches.

Matt Reed, Bean’s caretaker, and Red Pepper’s hacker-of-things, is behind the project. He says:

Beacons are usually placed in stationary locations such as displays or areas of interest in retail stores. They emit a polling signal every second or so that any device with BLE (Bluetooth Low Energy) can pick up, your phone being one of them. That signal includes a few unique IDs and a value called an RSSI (Received Signal Strength Indicator) which basically tells how close you are to the beacon.

If you have an app that is configured to listen for a beacon with a certain ID it can make things happen behind the scenes. For instance, at a retailer, the app could determine if you’re standing in front of a pair of jeans and then tell a server on the internet this information. The server can then send out a push notification giving you a deal on jeans.

For Sniffur we flipped this scenario and put the normally stationary beacon on a moving dog. The signal strength then emits from the dog for our three antennas to pick up and process.

Screen Shot 2015-11-30 at 12.57.23

You can read more about the build, and about Bean, over at Red Pepper’s website. Thanks Matt – please give Bean a cookie for us!


Did you get a Raspberry Pi Zero?

We gave away something free with our magazine, The MagPi, yesterday.

MagPi issue 40 in all its glory

Who’s a pretty boy, then?

The magazine industry has a concept called “technical sellout”, where more than 80% of copies are bought.

You swarmed over UK newsagents and achieved that with The MagPi in less than 12 hours. As far as we know, the last time that happened was with the female version of Playboy in the 1970s. So, as Carrie Anne says, we’ve served up a victory for gender equality, and a free computer.

You’ll find a map of all the places carrying the MagPi in the UK and Ireland on the MagPi website – there are still a few copies out there, so it might be worth your while ringing the outlets closest to you to see if they still have stock.

Clive's Goblin Tinkerer

Clive’s Goblin Tinkerer

If you’re in Ireland or Northern Ireland: it appears there was a bit of a SNAFU yesterday. MagPis were meant to be going into Tesco stores across both Ireland and Northern Ireland, but the tills hadn’t been programmed correctly (this was the first month they were carrying the MagPi, and we think a crucial button didn’t get pressed), so the magazine didn’t scan. Tesco’s response was to order shops to return all the magazines to the warehouse.

We’re talking to the distributors now, and we heard ten minutes ago that the magazines will be going back to the stores at the start of next week. Keep an eye on our Twitter feed and Facebook – we’ll let you know as soon as we hear they’ve hit the ground, so you can all go and do the swarm of locusts thing at your local Tesco.

If you’re in the United States: At the time of writing, Micro Center still has stock of the Zero itself, at $5. You can reserve online but you’ll have to visit a store in person: while we’re still in shortage they’re not selling online. We think all other online outlets are sold out now. The magazine with a free Zero on the cover will land in Barnes&Noble and Micro Center in about three weeks. (We print in the UK and ocean freight the magazine to the USA to keep costs down, which takes a little while.) Again, we’ll let you know on Twitter and Facebook, and we’ll make sure that there’s a note at the top of the blog here on the day as well.

Screen Shot 2015-11-27 at 13.49.11

Wherever you are in the world: you can still get your hands on Issue 40 with the free Raspberry Pi Zero if you subscribe (you’ll also get a free cable bundle). We’re waiting on a second print run at the moment for subscribers only; if you’d like to get your hands on one, you can find out how to subscribe at the MagPi website. Subs to the physical magazine start at just £12.99.

We’ve been enjoying seeing what the community’s been getting up to with their Pi Zeros.

This was unquestionably the best tweet of the day:

And watching you all on Twitter has been an absolute blast:




Some of you have started incorporating the Zero into builds already.

Meanwhile, even though Pi Zero has only been out for a day, add-on boards and cases are already appearing in the wild. Here’s Pimoroni’s gorgeous PiBow Zero case:


Considerably larger than actual size

They’re also making a range of what they’re calling pHATs – not true HATs (no EEPROM), but teeny add-ons for the Pi Zero, like this very pretty scrolling LED beast, which is £10:


You’ll find more pHATs (including a DAC) and other accessories at Pimoroni.

Adafruit have made an impossibly inexpensive, and awfully cute, little Zero Protector for only $3.95. The only Zeros they have left at the moment are in more expensive bundles with accessories, but we hope they’ll be getting some more in soon.


C4Labs in the USA have a BEAUTIFUL little wooden case (my favourite case so far), and a very nifty wooden prototyping setup available to buy. The Zebra Zero case is $4.99, and Zebra Zero Plus! prototyping kit is $9.99


The folks from Bare Conductive, who do amazing things with capacitive touch, are already working on the Touch Board Pi Cap, which we’re really excited about – it’ll be available very soon, and will turn your Zero into a polyphonic music maker (just add bananas), empower you to turn all kinds of things around the house into buttons and switches, and much more. You can learn more over at Bare Conductive.


In answer to a frequently asked question: yes, we will continue to make Zeros for as long as you guys want them. It looks like demand will continue to outstrip supply for a while if yesterday’s rush is anything to go by, but we’re doing our very best to keep channels open, and we advise you not to buy from scalpers on eBay, because…karma. The Pi Hut and Pimoroni in the UK, and Adafruit in the US should be restocking soon, so keep an eye on them.

If you’re doing something fun with a Zero, please let us know – we’d love to feature you here or in the MagPi!



Raspberry Pi Zero: the $5 computer

Of all the things we do at Raspberry Pi, driving down the cost of computer hardware remains one of the most important. Even in the developed world, a programmable computer is a luxury item for a lot of people, and every extra dollar that we ask someone to spend decreases the chance that they’ll choose to get involved.

Private Video on Vimeo

Join the web’s most supportive community of creators and get high-quality tools for hosting, sharing, and streaming videos in gorgeous HD with no ads.

The original Raspberry Pi Model B and its successors put a programmable computer within reach of anyone with $20-35 to spend. Since 2012, millions of people have used a Raspberry Pi to get their first experience of programming, but we still meet people for whom cost remains a barrier to entry. At the start of this year, we began work on an even cheaper Raspberry Pi to help these people take the plunge.

Four fathers!?!??

Four fathers!?!??

Today, I’m pleased to be able to announce the immediate availability of Raspberry Pi Zero, made in Wales and priced at just $5. Zero is a full-fledged member of the Raspberry Pi family, featuring:

  • A Broadcom BCM2835 application processor
    • 1GHz ARM11 core (40% faster than Raspberry Pi 1)
  • 512MB of LPDDR2 SDRAM
  • A micro-SD card slot
  • A mini-HDMI socket for 1080p60 video output
  • Micro-USB sockets for data and power
  • An unpopulated 40-pin GPIO header
    • Identical pinout to Model A+/B+/2B
  • An unpopulated composite video header
  • Our smallest ever form factor, at 65mm x 30mm x 5mm

Raspberry Pi Zero runs Raspbian and all your favourite applications, including Scratch, Minecraft and Sonic Pi. It is available today in the UK from our friends at The Pi Hut and Pimoroni, and in the US from Adafruit and in-store at your local branch of Micro Center. We’ve built several tens of thousands of units so far, and are building more, but we expect demand to outstrip supply for the next little while.

One more thing: because the only thing better than a $5 computer is a free computer, we are giving away a free Raspberry Pi Zero on the front of each copy of the December issue of The MagPi, which arrives in UK stores today. Russell, Rob and the team have been killing themselves putting this together, and we’re very pleased with how it’s turned out. The issue is jam-packed with everything you need to know about Zero, including a heap of project ideas, and an interview with Mike Stimson, who designed the board.

MagPi #40 in all its glory

MagPi #40 in all its glory

If you’re looking for cables to go with your free Zero, head over to the newly revamped Swag Store, where we’re offering a bundle comprising a mini-HDMI and a micro-USB adapter for just £4, or alternatively subscribe and we’ll send you them for free.


Happy hacking!​


Alex’s Nixie Clock

Liz: Alex is ten years old. He lives in Texas. He shared his most recent school project with us. It’s a great project and a fantastically clear tutorial: we thought you ought to see it too.

My Mom wanted a Nixie Clock, and I needed to do a project for school. I had a Raspberry Pi I wasn’t using, so I built a Nixie Clock. It took me about 2 months.

Raspberry Pi Nixie Clock

This is my Raspberry Pi Nixie Clock. It took me about 2 months to build because I had to learn so much. Full details can be found on my blog: http://alex.atomicburn.com

My Dad ordered some Nixie tubes and chips from Russia, and bought a 170V power supply to power the Nixie tubes. The first thing to do was to test them:


To start with I installed a tube, chip and power supply onto a breadboard. The chip has 4 input lines (A, B, C, and D) that are used to tell it which number to light up. For example in binary 7 is 0111, so you need to set input A to high, B to high, C to high and D to low (A=1, B=2, C=4 and D=8) to light up the number 7. I tested the first one by using a jumper cable to connect the 4 inputs to either 0V (low) or 5V (high).

Once I knew the first tube and chip worked, I wrote a program on the Rasberry Pi to test them. I used 4 GPIO pins, wired to pins A,B, C and D on the chip. My program would loop through the numbers 0 to 9, and turn on/off the pins by converting to binary using logical AND’s.

For example – for the number 7:

  • 7 AND 1 = 1, so pin A would be set high.
  • 7 AND 2 = 2, so pin B would be set high.
  • 7 AND 4 = 4, so pin C would be set high.
  • 7 AND 8 = 0, so pin D would be set low.

Once I had the program working, it was easy to test all the chips and Nixie Tubes. Everything worked, except one tube – the 3 and the 9 would light up at the same time. So I used this for the first digit for the hours, since that only ever needs to show 1.

The Program:

When the Raspberry Pi starts up, it automatically starts my clock program.

I wrote the clock program in C using the geany editor.

When the program starts, first it sets all the digital pins to OUTPUT and LOW to make sure everything is off.

Then I turn on pin 0, which turns on the high voltage power supply using a transistor.

Then I test the clock, which makes the hours show 1 to 12, and minutes 0-59.

Then I start the loop. Once every second I do the following:

  • Ask the computer the time (if it is connected to the internet, it will always show the right time).
  • The hours come back as a number between 1 and 23, so if the hour is bigger than 12, I subtract 12 from it.
  • Then I break out the hour into 2 digits, and the minutes into 2 digits. The first digit is the quotient of the hour divided by 10. The second digit it the remainder of the hour divided by 10. Then I do the same for the minutes.
  • For each number, I have to convert it into binary (for example 7 is 0111 in binary). Each number has up to 4 wires, each wire is for a binary digit. If the digit is 0 the pin/wire is set to LOW, if it is a 1 it is set to HIGH. So for the number 7 the wires are LOW, HIGH, HIGH, HIGH.
  • These wires are soldered to the driver chip. The chip has 10 switches in it, one for each number in the Nixie Tubes. These switches are connected to the chips with yellow wires. The chips look at the 4 wires to see which binary number it is, and then switches on the correct light in the Nixie Tube.

The table below shows the wires and their values for each digit.

Digit Black Wire Blue Wire Grey Wire White Wire Binary

Here is the source code in C:

#include       /* These are libraries */

// turns a pin on or off
void nixiePin(int p, int v){

  if (p != -1) {
    digitalWrite(p, v);

// converts to binary and sends values to 4 pins
void nixiePins(int p1, int p2, int p4, int p8, int v){


// splits the time into digits
void nixieTime(int h,int m, int s) {

  nixiePins( 1, -1, -1, -1, h/10);  /* quotient of hour / 10  */
  nixiePins( 2,  3,  4,  5, h%10);  /* remainder of hour / 10 */
  nixiePins( 6,  7, 21, -1, m/10);  /* quotient of minute / 10*/
  nixiePins(22, 23, 24, 25, m%10);  /* remainder or min / 10  */

// makue sure all the digits work
void testClock(void){
  int i;
  for (i=1; i<=12; i++) {
  for (i=1; i<=59; i++) {

// set up the pins we will use
void initPin(int p) {
  pinMode(p, OUTPUT);
  digitalWrite(p, LOW);	

// this is the main part of the program
int main (void) {           
  time_t now;         /* its a variable that holds time info */
  struct tm *ntm;     /* it is a variable */
  int i;
  wiringPiSetup();    /* set up pins 0-7 and 21-29 to use  */
  for (i=0; i <=7;i++) {
  for (i=21; i <=29;i++) { 
  digitalWrite(0, HIGH);            /* turn on high voltage power */ 
  testClock();                      /* test all the digits */ 

  while (1) {                       /*starts and infinite loop */ 
    now=time(NULL);                 /* ask the computer for the time */ 
    ntm=localtime(&now);            /* it formats the time */ 
    if (ntm->tm_hour > 12) {        /* if hour is more than 12 - 12 */
      ntm->tm_hour = ntm->tm_hour-12;

    /* it tells it to write that number to the nixie tubes*/

    delay (1000);   /* wait for 1 second */


The Circuit Board:


My dad drilled a piece of plastic for me for the Nixie Tubes to sit on.

The circuit board has 4 Nixie tubes, and 4 chips (one for each).

The chips are wired to the Nixie Tubes with yellow wires.

Black wires are used for Ground, and red wires for 5 and 12 Volts. 5V and Ground was wired to each chip.

The Nixie Tubes require 170V DC to work, so in one corner I have soldered a high voltage power supply. This takes 12V and turns it into 170V. All 170V wires are green.

The Nixie Tubes need resistors attached to them, so they don’t take too much current and burn out. The resistors limit the current to 2mA.

There is also a Transistor with 2 more resistors to limit the current.  This transistor acts as a switch, and lets my program turn the High Voltage Power Supply on or off.

I also added a USB port, and wired it so it has 5V and Ground. This lets me use it as a power supply for the Raspberry Pi.

Then the inputs to the chips were wired to pins on the Raspberry Pi GPIO (see code for pin numbers).

Soldering took a very long time. Before we turned it on, my Dad checked over everything, making sure the 170V was safe. He found a couple of shorts that had to be fixed.

When I turned it on the first time, the tubes just half glowed and flickered. However if I took two chips out of the sockets, then the other two would work. This was because the 170V power supply wasn’t powerful enough. I double checked the datasheet, I should have been using about 1.5W, well under the 5W the power supply should be able to make from 5V. Instead of running the high voltage power supply on 5V, I tried 12V (it is rated up to 16V input), and that solved the power problem.

The Case:

I made a box out of wood and plastic. I got to use a big circular miter saw with my Dad supervising to cut the wood. The plastic is cut by using a sharp blade to cut into it, and then snapping it. Then everything was screwed together:


What’s Next:

I was very nervous about taking it into school – the last boy that took an electronic clock into school in Texas got arrested, so my Dad contacted the school first to let them know. I think my teacher was impressed, I had to explain everything in detail to her.

This is only the start of the project. I want to put it in a nicer case with my Dad’s help before I give it to my Mom. I want to add an alarm. I also want to add a hidden camera, microphone and speaker, so it can run voice/face recognition. Then I can turn it into J.A.R.V.I.S. from Ironman. That may take me a while, but I’ll add more posts on my blog as I do things to it.

Liz: Have you made a school project with the Pi that you’d like to share with us? Leave us a note in the comments!


GPIO Zero: a friendly Python API for physical computing

Physical computing is one of the most engaging classroom activities, and it’s at the heart of most projects we see in the community. From flashing lights to IoT smart homes, the Pi’s GPIO pins make programming objects in the real world accessible to everybody.

Some three years ago, Ben Croston created a Python library called RPi.GPIO, which he used as part of his beer brewing process. This allowed people to control GPIO pins from their Python programs, and became a hit both in education and in personal projects. We use it in many of our free learning resources.

However, recently I’ve been thinking of ways to make this code seem more accessible. I created some simple and obvious interfaces for a few of the components I had lying around on my desk – namely the brilliant CamJam EduKits. I added interfaces for LED, Button and Buzzer, and started to look at some more interesting components – sensors, motors and even a few simple add-on boards. I got some great help from Dave Jones, author of the excellent picamera library, who added some really clever aspects to the library. I decided to call it GPIO Zero as it shares the same philosophy as PyGame Zero, which requires minimal boilerplate code to get started.


This is how you flash an LED using GPIO Zero:

from gpiozero import LED
from time import sleep

led = LED(17)

while True:

(Also see the built-in blink method)

As well as controlling individual components in obvious ways, you can also connect multiple components together.


Here’s an example of controlling an LED with a push button:

from gpiozero import LED, Button
from signal import pause

led = LED(17)
button = Button(2)

button.when_pressed = led.on
button.when_released = led.off


We’ve thought really hard to try to get the naming right, and hope people old and young will find the library intuitive once shown a few simple examples. The API has been designed with education in mind and I’ve been demoing it to teachers to get feedback and they love it! Another thing is the idea of minimal configuration – so to use a button you don’t have to think about pull-ups and pull-downs – all you need is the pin number it’s connected to. Of course you can specify this – but the default assumes the common pull-up circuit. For example:

button_1 = Button(4)  # connected to GPIO pin 4, pull-up

button_2 = Button(5, pull_up=False)  # connected to GPIO pin 5, pull-down

Normally, if you want to detect the button being pressed you have to think about the edge falling if it’s pulled up, or rising if it’s pulled down. With GPIO Zero, the edge is configured when you create the Button object, so things like when_pressed, when_released, wait_for_press, wait_for_release just work as expected. While understanding edges is important in electronics, I don’t think it should be essential for anyone who wants to create a simple interactive project.

Here’s a list of devices which currently supported:

  • LED (also PWM LED allowing change of brightness)
  • Buzzer
  • Motor
  • Button
  • Motion Sensor
  • Light Sensor
  • Analogue-to-Digital converters MCP3004 and MCP3008
  • Robot

Also collections of components like LEDBoard (for any collection of LEDs), FishDish, Traffic HAT, generic traffic lights – and there are plenty more to come.

There’s a great feature Dave added which allows the value of output devices (like LEDs and motors) to be set to whatever the current value of an input device is, automatically, without having to poll in a loop. The following example allows the RGB values of an LED to be determined by three potentiometers for colour mixing:

from gpiozero import RGBLED, MCP3008
from signal import pause

led = RGBLED(red=2, green=3, blue=4)
red_pot = MCP3008(channel=0)
green_pot = MCP3008(channel=1)
blue_pot = MCP3008(channel=2)

led.red.source = red_pot.values
led.green.source = green_pot.values
led.blue.source = blue_pot.values


Other wacky ways to set the brightness of an LED: from a Google spreadsheet – or according to the number of instances of the word “pies” on the BBC News homepage!

Alex Eames gave it a test drive and made a video of a security light project using a relay – coded in just 16 lines of code.

GPIO Zero Security Light in 16 lines of code

Using GPIO Zero Beta to make a security light in 16 lines of code. See blog article here… http://raspi.tv/?p=8609 If you like the look of the RasPiO Portsplus port labels board I’m using to identify the ports, you can find that here http://rasp.io/portsplus

Yasmin Bey created a robot controlled by a Wii remote:

Yasmin Bey on Twitter

@ben_nuttall @RyanteckLTD pic.twitter.com/JEoSUlHtF6

Version 1.0 is out now so the API will not change – but we will continue to add components and additional features. GPIO Zero is now pre-installed in the new Raspbian Jessie image available on the downloads page. You can also install it now by entering the following commands into a terminal:

sudo apt-get update

sudo apt-get install python3-gpiozero python-gpiozero

Remember – since the release of Raspbian Jessie, you no longer need to run GPIO programs with sudo – so you can just run these programs directly from IDLE or the Python shell. GPIO Zero supports both Python 2 and Python 3. Python 3 is recommended!

Let me know your suggestions for additional components and interfaces in the comments below – and use the hashtag #gpiozero to share your project code and photos!

A huge thanks goes to Ben Croston, whose excellent RPi.GPIO library sits at the foundation of everything in GPIO Zero, and to Dave Jones whose contributions have made this new library quite special.

See the GPIO Zero documentation and recipes and check out the Getting Started with GPIO Zero resource – more coming soon.


Hour of Code 2015

Hour of Code is a worldwide initiative to get as many people as possible to have a go at programming computers.

Each December for the past couple of years, educators, tech businesses and non-profits alike have made a big push to get kids and adults to try their hand at writing a few lines of code. This year there’s a huge number of resources and projects available online, and schools all over the world will be taking part in what promises to be the biggest Hour of Code ever.

"Hour of Code" banner with children coding and egg timer

Here at Raspberry Pi Towers, we’re thrilled to play our part with a cracking selection of digital making projects for beginners and intermediate programmers.

Regular readers of this blog will know that we’re about to send Raspberry Pi computers to the International Space Station as part of Astronaut Tim Peake’s Astro Pi mission. You can find out all about the mission, and how you can get involved, on the Astro Pi website. As a special treat, we’ve included a selection of awesome space projects in our Hour of Code offering.

You don’t even need a Raspberry Pi computer to enjoy them. Our Gravity Simulator and Astronaut Reaction Time games both use the visual programming language Scratch, and while that works brilliantly on a Raspberry Pi, it works just as well on any old PC or Mac you’ve got lying about.

Two children wearing space suits play the Astronaut Reaction Time game, while floating in zero gravity!

Make a game in Scratch to test your reaction skills and see if you could become an astronaut

If you’re one of the 10,000 or so people who have got their hands on one of our lovely Sense HATs (that’s the add-on board with lots of sensors that we’re sending into space), then there are lots of cool projects for you. There’s a Minecraft Map and the wonderful Flappy Astronaut, which is not at all related to another game with a similar name (honest).

My personal favourite this year has to be the Interactive Pixel Pet project, which uses the Python programming language to transform your Sense HAT into an interactive companion. My eight-year-old son Dylan had no trouble completing it in an hour, although he’s spent a lot longer than that showing it off to his mates.

Dylan’s Hour of Code project

No Description

If none of those projects gets you excited, or perhaps when you’ve finished them all, head over to our resources section where there are dozens of excellent project ideas, lesson plans and much, much more.

You should also check out our community magazine, The MagPi, which brings you 100 pages of projects every month, and is always free to download as a PDF.

Whether you’re in a classroom or a bedroom, our job is to provide you with the tools, inspiration and support to learn about digital making. What are you waiting for?

Part of our Hour of Code page, showing a selection of Beginner and Intermediate resources

Hour of Code is a really important initiative, but anyone who tells you that you can teach someone how to code in an hour (or a day) doesn’t know what they’re talking about. What Hour of Code can do is help demystify computer science and spark an interest in learning more.

Initiatives like Code Club translate that interest into something more substantial, giving young people the knowledge and confidence to shape their world through code.

If Hour of Code inspires you, then why not get involved in setting up or running a Code Club at a primary school near you? Whatever your level of skills, giving just an hour a week of your time will make a huge difference.


The Official Raspberry Pi Projects Book is out now!

Rob from The MagPi here again! Two posts from me in one week? You’re a very lucky bunch.

One thing we’re very proud of at The MagPi is the quality of our content: articles, features, tutorials, guides, reviews, inspirational projects and all the other bits and pieces that have made The MagPi great for 39 issues and counting. When we went back into actual print in a big way with issue 36, we had people asking us whether we’d ever release issues 31-35 as printed copies; we assume they wanted copies to frame and hang on their walls, or maybe to donate to a museum collection. Either way, we definitely haven’t been ignoring your cries.

A picture of the cover of the Official Raspberry Pi Projects book

200 pages. Dozens of articles. Out right this second.



Instead of releasing these individual issues in the Swag Store like in the old days, we decided to give them the shelf space in bricks-and-mortar shops that they deserved all along. So please welcome The Official Raspberry Pi Projects Book, packed with 200 pages full of the best projects, tutorials, reviews and much, much more, out right now for only £12.99!

You’ll find it in the magazine racks next to (or very near) The MagPi, and to be honest the image doesn’t do the cover justice. It’s beautifully glossy and slightly embossed. It’s definitely worth popping down to WHSmiths just to be dazzled by its glory.

Otherwise, you can grab a copy from the Swag Store, get a copy in our app available for Android and iOS, or grab the free PDF of the whole thing!

A picture of the contents spread of the Official Raspberry Pi Projects book

With almost 100 articles in the book, there are definitely a few things for everyone.
Click for a larger image.

Even if you’re not so bothered about completing your collection of The MagPi (however much it breaks my heart), this is a book with 200 pages of fantastic Raspberry Pi content that’s extremely handy if you want ideas for more awesome stuff to do with your Raspberry Pi. I’d like to point out that it’s a darn good stocking stuffer as well, what with it being only five weeks until Christmas and all.

We hope you all enjoy this book, however you plan to use it. And don’t forget to look out for our very exciting issue 40, out next Thursday. You absolutely will not want to miss it.

Anyway, on Monday I put a Picard gif at the end of the post. So here’s another. [This is a thing with Rob; we’re humouring him. Tell us in comments if you want us to make him stop – Ed.] See you next time!


University of York: Raspberry Pi Challenge 2015

For the last three years I’ve been visiting the University of York Computer Science building on the last day of Freshers’ Week to see what the new entrants have been doing with Raspberry Pi.

York is using the Pi to help get the students started with computing (for those whose contact has been limited to tablets and desktops!) before they get to university: every year, they send a free Raspberry Pi to their new undergraduates who are about to start a Computer Science course, and support them to prepare for the Raspberry Pi Challenge. It also forms a great social event which gets the computer science students together (along with beery delights) to fight it out in the Pi Squared arena!

Raspberry Pi Challenge at York 3.0 2015

We’ve just held our third Raspberry Pi Challenge at York. Our new undergraduates receive a free Raspberry Pi when they confirm their place at York and have a month to do something creative or take part in our knock out competition. Here’s what happened in 2015. Would you like to take part in 2016?

Last year they used a version of Battleships to compete, but this year they’ve changed to Squares. One of the great things about this game is that the simplest few lines of code can make a huge difference over the random player (simply iterating through all possible ‘walls’ and drawing one if it closes a box is a big improvement on drawing walls at random), but there is much more that can be done to improve and optimise the strategy (there is a time limit per move, so you are a little limited!).

If you’re interested in playing the game and writing an implementation yourself (or if you’re another university and you’d like to compete against York’s outstanding undergraduates), the code and documentation is all freely available on GitHub:


PiSquare – This is a python template allowing two Raspberry Pis to play against each other in a variant of the classic game “dots and boxes”. The game was used in the University of York Raspberry Pi challenge 2015.

As an alternative challenge, there is also the chance to compete in Blue Pi Thinking, which is an opportunity for the students to create something ingenious using a Raspberry Pi. The results from this project have been quite amazing.

One student created a tabletop food ordering system using the Raspberry Pi touch display. The idea is that the screen is embedded into the table at a fast food restaurant, and you can order your food and pay for it using NFC without actually having to leave your table! I can’t wait to see the first fast food joint with fully integrated Raspberry Pi shopping!

Another student wanted to create a pill diary system for an elderly relative. Here the central idea was to create a simple schedule for the pills which would beep or flash when it was time to take a pill. It also would have the ability to take a photo or a time-lapse video, so a family member or carer could check they were being taken correctly.

University of York Computer Science Raspberry Pi Challenge: an undergrad works on his entry to recreate photographed objects in Minecraft

The picture above is from one student who connected his camera to the Pi. His system would take a photo of a scene from four sides, and then recreate the object in Minecraft!

University of York Computer Science Raspberry Pi Challenge: an undergrad tests his entry to map the mood of Twitter on a map of the UK

The project shown above was created to map the mood of the UK. It took Twitter feeds from around the country and used various recurring words and phrases to decide on the mood of people from different places, then displayed them on a map of the UK with different colours to indicate the mood.

University of York Computer Science Raspberry Pi Challenge: an entry to use Raspberry Pi to control solar tracking in a solar panel installation

Lastly, a project to demonstrate how a Raspberry Pi can be used to control a solar panel installation and track the sun!

Read more about the Raspberry Pi Challenge from York’s Department of Computer Science. They’re already thinking ahead to next year’s Challenge with a new group of first-year undergraduates – I can’t wait to see what the next lot get up to!


Raspberry Pi at MozFest 2015

A few weeks ago, Dave Honess mentioned that there would be lots of brilliant Raspberry Pi activities at MozFest this year, thanks to a huge amount of organising effort from Raspberry Pi Creative Technologist Andrew Mulholland – Andrew, we’re really grateful for all the hard work you put in to make everything run smoothly! MozFest 2015 took place in London on 7-8 November, and Andrew has written about a really successful weekend of activities there.

Thanks to an awesome army of 20 volunteers from the Raspberry Pi community, we successfully pulled off 15 Raspberry Pi workshops for kids and adults alike using 45 Raspberry Pis at the Mozilla Festival in London earlier this month.

Young people at a Scratch workshop with Raspberry Pi at MozFest 2015

Scratch workshop with Raspberry Pi at MozFest 2015

The Mozilla Festival (also known as MozFest) is an annual, hands-on festival that is dedicated to forging the future of the open web. This year, following a successful pilot in 2014, there was a dedicated YouthZone: this wasn’t a zone for young people only, but rather an area focused on seeing through the eyes of the makers, inventors and developers of tomorrow.

There was a whole stack of awesome sessions besides the Raspberry Pi workshops, including virtual reality, Minecraft hack jams and projection mapping workshops. There were even non-techie parents and grandparents running sessions on merging craft with digital electronics, at which our Pi volunteers helped: they included making paracord friendship bracelets, which uses the same part of the brain as coding! You can see a full list of what was going on in the 2015 Mozfest schedule.

Girls making a pixel pet with a Raspberry Pi and a Sense HAT at MozFest

Making a pixel pet with a Raspberry Pi and a Sense HAT at MozFest

We ran our workshops back-to-back over the weekend. They were aimed at both children and adults, and covered topics including Astro Pi (thanks to Raspberry Pi Foundation for help with that), Minecraft Pi hacking, electronics with Scratch, Sonic Pi, and even two special sessions just for adults in the evenings. All our resources from the weekend developed by the volunteers can be found on GitHub.

On top of the workshops themselves, we were also running the DOTs board activity over the whole weekend; as usual, this was very popular, and we got through over 400 boards.

A young girl completes our DOTS board activity, drawing on a printed circuit board with conductive paint

A young visitor to MozFest tries out the Raspberry Pi DOTS board activity

Massive thanks to the Raspberry Pi Foundation and Farset Labs for helping out with equipment, and to the awesome army of volunteers and Raspberry Pi team members who helped make it all possible: Frank, Zach, Joseph, Jim, Tom, Cat, Milton, Nic, Bawar, Connor, Yasmin, Polly, Charlotte, Isreal, Bethanie, David, Alan, Carrie Anne, Dave and Helen!

Raspberry Pi community volunteers pose at MozFest

Awesome Raspberry Pi community volunteers at MozFest

One final huge thanks goes to the unstoppable Dorine Flies and Harry Smith, YouthZone Space Wranglers, who invited us along (and put up with us for three days).

After this massive success, we have been invited next year, so who knows, there might be even more Pi at MozFest in 2016!