Building a LEGO® case for a Raspberry Pi*

There’s something about the Raspberry Pi Model B which makes me want to use the word “awesome” like a be-hoodied member of the next US boy-band sensation: the Raspberry Pi is an awesome 85.60mm x 53.98mm slice of 700Mhz ARMv6 awesomeness.

Another thing which is clearly awesome is Lego.

I think I feel a plan forming…

Please jump to the bottom of the article for downloads and the build-guide

Taking this LEGO® case as my inspiration, I started playing with the LEGO® Digital Designer to see what I could make of it. It turns out that the original design is pretty much spot-on, so all that was needed were a few cosmetic tweaks for block colour-selection and I was ready to order.

This was the hardest part of the whole process – LDD used to be able to export a design straight to the pick-a-brick ordering system, but this has been turned off (too many things in LDD not available individually, it seems). In any case, all of the pieces had to be found and entered by-hand – which is fairly time-consuming. There were several pieces not available, but a slight re-design of the top soon solved this. Due to the limited colours, I decided to have the top coloured yellow and dark-grey on a light-grey background (which looks pleasingly like a power tool colour-scheme), and – luckily it turns out – I ordered a selection a colours where I couldn’t decide what might look best.

Almost £40(!) and several days later, and I find awaiting me a box several times the volume of the Raspberry Pi itself:

Pi Boxes

The Raspberry Pi is in the much smaller box on top…

It’s always much more fun unpacked, though 🙂

A freshly poured pile of LEGO®

(Apologies for the colour-cast on these photos – I didn’t realise that the ambient light would be so difficult for the iPhone 4’s camera. I’ve had to severely de-saturate the images to remove correct the way they look overall, which has resulted in the yellow parts appearing white!)

The amazing thing is just how well the Raspberry Pi fits into this case! A millimetre shorter in any dimension and the Raspberry Pi would be rattling around, and fraction of a millimetre longer and it simply wouldn’t fit! As it is, the Pi nestles neatly inside and fits braced by the USB/Ethernet face-plate on top, and between two LEGO® studs at the bottom.

Downloads:

The LEGO® Digital Designer model for my case design can be downloaded here, and for convenience the XML version is here. Why the XML version? Since LEGO® disabled LDD‘s ability to connect to the Pick-a-Brick service, I couldn’t see any reasonable way to work out the bricks necessary to build a model… so I did this:

$ grep -o 'designID="[^"]\+" materials="[^"]\+"' Raspberry\ Pi\ Case.lxfml | sed 's/"1"/White/ ; s/"1,0,0,0"/White/ ; s/,0"$/"/ ; s/"40"/Clear/ ; s/"21"/Red/ ; s/"24"/Bright Yellow/ ; s/"28"/Dark Green/ ; s/"194"/Medium Grey/ ; s/"199"/Dark Grey/ ; s/"48"/Transparent Green/ ; s/"41"/Transparent Red/' | sort | uniq -c | sort -rn
     80 designID="3065" materials=Clear
     44 designID="3024" materials=Clear
     18 designID="3023" materials=Clear
     14 designID="3062" materials=Transparent Red
     14 designID="3062" materials=Transparent Green
      8 designID="4215" materials=Clear
      8 designID="3010" materials=White
      6 designID="87552" materials=Clear
      4 designID="3024" materials=Red
      4 designID="3020" materials=White
      4 designID="3020" materials=Medium Grey
      4 designID="3005" materials=Medium Grey
      4 designID="2420" materials=White
      2 designID="60592" materials=White
      2 designID="50746" materials=Medium Grey
      2 designID="4865" materials=Bright Yellow
      2 designID="4070" materials=Red
      2 designID="3666" materials=Red
      2 designID="3666" materials=Dark Green
      2 designID="3659" materials=White
      2 designID="3069" materials=Dark Grey
      2 designID="3023" materials=White
      2 designID="3023" materials=Medium Grey
      2 designID="3020" materials=Bright Yellow
      2 designID="3004" materials=White
      1 designID="51739" materials=Dark Grey
      1 designID="43723" materials=Bright Yellow
      1 designID="43722" materials=Bright Yellow
      1 designID="3659" materials=Medium Grey
      1 designID="3069" materials=Red
      1 designID="3023" materials=Red
      1 designID="3023" materials=Dark Green
      1 designID="2431" materials=Dark Grey

… which just goes to demonstrate that there’s no endeavour for which a working knowledge of UNIX isn’t a huge time-saver 🙂

Admittedly, entering these into Pick-a-Brick isn’t especially fast, although it is possible to search for parts by their designID – and it’s fun enough seeing all of the different parts available in passing. It’s worth noting that many of the changes I made to the design and the changes in colours are purely down to the availability (or otherwise) of parts through Pick-a-Brick. The angled parts for the top faceplate were only available in light- or dark- grey, for example. Even so, I like the way it turned out – the colour-scheme is carried through the design, and the I/O ports have their own styling. I’ve reduced the amount of room left for plugging in an HDMI cable – but I have fairly chunky cable and that (just) fits without problems. USB and Ethernet look tight, but are fine… in fact, the only real draw-back to this case is the need for tweezers or disassembly in order to get to the SD card!

Finally, LDD‘s Build Guide – wherein I’ve changed all the clear parts to silver for the sake of clarity – can be viewed here.

P.S. lego.cuusoo.comKickstarter for LEGO® 😀

* Raspberry Pi is a trademark of the Raspberry Pi Foundation