Review: Pi-Supply Pi-Crust

I came across Pi-Supply’s Pi-Crust add-on board quite by chance, but it immediately caught my eye as quite possibly the most useful add-on for the Raspberry Pi there is. Having ordered one, received it and soldered all the parts together, I’m no longer sure that it is.

The notion behind the device is very sound indeed. It’s an internal breakout board that doesn’t merely replicate the Pi’s GPIO ports, it re-organises and labels them logically and clearly. It’s also intended to fit snuggly within the form-factor of the Pi itself. This is, frankly, a brilliant idea.

Pi-Crust

Pi-Crust on Pi: GPIO made really easy

As you can see from the pictures, the assembled Pi-Crust is a small L-shaped board which clips onto the GPIO pins and routes them to a set of well-spaced connectors clearly marked with their function: SPI, UART, I²C, GPIO and so on. This makes accessing the bus you want a doddle and saves you from either looking at a pin-out reference sheet every time you want to connect the Pi to something, or learning the whole GPIO array by heart.

No longer. Now I can simply drop my wires into clearly marked GND, 3V3, SDA and SCL and start sending bits and bytes back and forth between the Pi, a four-digit, seven-segment LED and a light-level sensor. Or SPI’s MISO, MOSI, SCLK et al. Or UART’s RX and TX.

Pi-Crust

All the Pi’s GPIO ports, clearly marked, plus extra power and ground connections

Another particular advantage the Pi-Crust offers is that it uses female connectors rather than male ones, just like the Arduino boards do. This means you can work with simple jumper wires – you don’t need gender-bending intermediary cables – and you’re not going to make contact with the adjacent pin by mistake.

The Pi-Crust doesn’t use the usual 25-pin female IDC connector on its base to grasp the Pi’s pins. Instead it uses an ingenious connector that allows it to sit just a few millimetres above the Pi’s own board. There’s a hole cut in the Crust to accommodate the Pi’s camera connector. The Crust’s own connector is ingenious because without it the female headers on the upper side of the board would reach well above the height of Pi’s own components, ensuring the device wouldn’t fit inside a Pi case.

Pi-Crust

The Pi-Crust in pieces. Source: ModMyPi

And that’s one of the Pi-Crust’s raisons d’etre: it’s supposed to lie sufficiently low to fit inside a case. Ergo, you can leave it in place. This appeals to me because, favouring neatness, I don’t like leaving my Pi lying around with an extender cable hanging off it. With the Pi-Crust, I reasoned, I could lose the cable, and just pop the top off my case and start plugging wires into those female headers whenever I needed to.

What sold me was ModMyPi’s claim: “If you have a case for your Raspberry Pi, this board should fit inside it.” This echoes a claim on the Github page of Joe Walnes, the guy who invented Pi-Crust. I’m currently using one of ModMyPi’s cases, selected because it has a readily removable lid, perfect for easy occasional GPIO access. Surely the Pi-Crust will fit into one of the seller’s own cases?

Like heck it will. An not many others either.

Pi-Crust

Overhang: the Pi-Crust (blue) extends past the edge of the Pi’s PCB…
even after it has been filed down as much as it can be

Here’s the problem: the Pi-Crust extends a millimetre or two past the edge of the Pi’s own circuit board. Because the Pi fits very snuggly in the ModMyPi case, for instance, this overlap leaves no room for the case’s upper half to close. The internal spars in Pimoroni’s Pibow case likewise get in the way of the Pi-Crust.

About the only good case I know of into which the Pi-Crust will fit without too much bother is Cyntech’s. But putting it in one of these defeats the object of having the Pi-Crust in the first place: the Cyntech case is designed to be held together with four metal screws. Good though it is, it’s not a case for Pi users who want frequent, ready access to the board.

Pi-Crust

The ‘ledge’ stops many a Pi case from closing, but it is lower than other Pi components

You can sand down the edge of the Pi-Crust, but this won’t get you very far. You can’t wear it away sufficiently for it to allow the ModMyPi case, for one, to close. If you did, you’d inevitably remove half of the pins by which the board’s novel GPIO connector is soldered to the board – not to mention the lines running from those pins to the female headers.

Verdict

The Pi-Crust is a good idea – a really very good idea indeed. It makes the Pi’s GPIO pins as accessible as they ought to be, by separating out pins by function and by labelling them clearly. At around £13 it’s a little expensive for what is just a circuit board, a PI attachment and 26-odd female connectors, all of which you have to solder together yourself, but it’s worth it for how well it presents the Pi’s GPIO.

The flaw for me is that it doesn’t fit into any of my Pi cases, so it’s not something I can leave sitting on the Pi, which is why I got it in the first place. I’ll certainly make use of it, but because it can’t be a permanent Pi attachment, its utility is unfortunately limited.

The Pi-Crust costs £13 and is available from ModMyPi. There’s more info at the Picru.st site.

The Sinclair ZX81: a Raspberry Pi retro restyle – Part 2

Previously on ‘ZX81: a Raspberry Pi retro restyle’: I used a headerless Arduino Leonardo to connect a ZX81 microcomputer keyboard to a Raspberry Pi via USB, using code to handle normal, shifted and function-shifted key presses.

Now read on…

After some searching on eBay, I found an old ZX81 going cheap because it lacked cables, though when it arrived, I found the computer itself to be in excellent condition. Possibly it has never been used, though how if that were the case the cables were lost and the box got so tatty is a mystery I will probably never solve.

Opening up the Sinclair machine was the work of a moment. Some screws are located under the computer’s rubber feet, so remove the latter carefully so you can put them back afterward – as was unlatching the keyboard connector ribbon and removing the motherboard.

ZX keyboard controller

A new ZX keyboard connected to the USB controller – an Arduino Leonardo

One particular sign of age was the keyboard ribbon, which seemed in good condition at first. Unfortunately, 30-odd years is beyond the life expectancy of the plastic from which it was formed, and it soon began to perish and crack open. Eventually it provided so little protection for the delicate wiring, one line broke. Fortunately, I had a modern replacement. With a little gentle prying, I was able to lift the original membrane keyboard off the casing – it was originally attached with a self-adhesive pad – and replace it with the new one, ready to be stuck down in its place.

That was a relatively easy process; rather more tricky was getting the Pi and its cabling to fit inside the ZX81 casing. Fit it does, but only just, and I have had to make a couple of compromises.

My goal was to expose as many of the Pi’s ports as possible, at least among those I use. The analogue audio and composite-video jacks, for instance, have never been used, so I was happy for these to be hidden. But the HDMI, Ethernet, USB, GPIO and – obviously – power jack needed to be accessible.

The ZX-Pi's video out port: the on-board HDMI connector

The ZX-Pi’s video out port: the on-board HDMI connector

If you plan to try this yourself, the best advice I can give is to spend plenty of time trying out possible internal configurations of Pi and cables. The location of the Leonardo board is fixed to a degree by the size of the ribbon cable coming off the keyboard. Eventually, I settled on placing the Pi upside down with the USB and Ethernet facing the back of the casing, and the HDMI port adjacent to the ZX81’s original video out, cassette and power ports.

This location required me to remove only three of the case’s internal supports – they yield easily to a pair of wire cutters, and you can rub the nub down with glass-paper.

I had a short Ethernet cable already, so I ordered a cable joiner to clip on the end as my new Ethernet port. This would be accessed through what was once the ZX81’s Ram Pack connector bay. Likewise the single female USB port I planned to fit, a second USB input for the power feed, and GPIO pins on a ribbon extension cable.

ZX-Pi ports

The ZX-Pi’s Ethernet and USB ports

eBay provided me with the Ethernet cable joiner – a small plastic unit that could be glued to the base of the case – and a couple of short USB adaptor cables with right-angled male Type A connectors. My Ethernet cable had a standard connector, but with some careful whittling away of excess plastic, I was able to slot it into the Pi and bend the cable sufficiently for it to fit.

Fitting it all together is a fiddly business, and I found the only way to do it was to glue down some cables to hold them steady – partly to keep them where I wanted them but also to stop rigidity in the cable moving the Pi away from its desired location. Only use tiny amounts of glue so you can easily remove the cables if you ever need to; the glue is really just an extra hand to hold the cable down for you.

Unfortunately, the GPIO extension cable connector added too much to the Pi’s depth and so prevented the ZX81 case from closing with it in place. So I had to reject that plan. I also had to remove a very small part of the lower half of the case at the back to fully expose the Ethernet port. Aside from opening the case’s separate cassette and power ports into a single port to fully expose the Pi’s HDMI connector, I had to make no other changes to the ZX81’s external appearance.

Inside the ZX-Pi

Inside the ZX-Pi: take care placing your cables

Having had to drop GPIO pass through, my second compromise was the power cable. I found a male to female micro USB cable, but the male end was too large to fit in the case, even when whittled down, so for version 1.0, I elected to fit a standard cable and route it out through the back of the case. This is not ideal, and I will address this.

My right-angled USB cable was just too short to allow the female jack to be fitted to the case, so I decided I needed either to cut away more of the case itself – something I have been trying to avoid – or fit a short USB extension cable that can be correctly routed inside the case so that the port is facing outward rather than dangling outside. There wasn’t really room for the latter, so I tried a third option: cut away the right-angle cable’s connector sheathing to see if it would then bend enough for my to place it where I wanted it. Fortunately, it did. Super glue fixed the female USB port in place.

For now, though, even with these compromises, I was was able to fit the two halves of the ZX81 case together and screw them into place. I now have a Raspberry Pi inside a ZX81, complete with working membrane keyboard.

ZX-Pi

The finished ZX-Pi: the only compromise is the hardwired power cable

There’s room for improvement. I’d like not to have a power cable dangling out of the back – the orange USB cable in the pictures – and I really would like to expose the Raspberry Pi’s GPIO pins somehow.

Then there’s the fundamental drawback with this set-up. Gorgeous though the ZX81 is, its real weakness is the membrane keyboard. Sure it works, but it’s a chore to use. I can imagine newcomers to computing coping with it in the 1980s – they didn’t know better; they had nothing to compare it to – but it’s hard going when you’re accustomed to a good Qwerty deck. But, as I say, it works. I certainly going to work on the Arduino code to get more functionality out if it.

Hardware hackers with more experience and confidence than me could do a lot better by stripping the Pi of some of its ports – USB, Ethernet and the GPIO header in particular – to run wires from the board to the case’s ports rather than regular cables. This should make everything fit a lot more smoothly.

ZX-Pi

The ZX-Pi getting ready for a software update

The Sinclair ZX81: a Raspberry Pi retro restyle – Part 1

I love the design of the Sinclair ZX81. It was never a great computer, even in 1981. It only had 1KB of on-board RAM, it was slow, it was small, it could only do black and white graphics, and it’s membrane keyboard was useless for fast typing. But it looked fantastic: black, sleek and totally futuristic. Almost all other 1980s microcomputers now look very dated. No surprise there, of course, but the ZX81 still looks amazing.

Hats off to Sinclair Research’s industrial designer, Rick Dickinson, for devising a design that is genuinely timeless.

The ZX81 membrane keyboard

The ZX81 keyboard hooked up to the Pi via USB and Arduino

Continue reading

Practise what you preach

Some months back, I posted a guide to backing up a Raspberry Pi SD card using a Mac. I tested it at the time and it worked. It’ll be good to share this, I thought. So I did.

And a good job too, because this past weekend I needed to cook to my own recipe. A long overdue Pi sudo apt-get upgrade followed by tweaking raspi-config zapped my system software.

Pibow Raspberry Pi case

SD woes

Rebooting the Pi produced nothing but a single flash of the green Activity LED and the reassuring glow of the red Power LED – the hardware probably wasn’t up the spout. Googling confirmed my fear: the software was fritzed.

So I called up my blog entry, just as a reader might, and followed the walkthrough. It took a while for the compressed 16GB image to copy, but I got a working OS. This, second attempt at updating went smoothly.

Hopefully, you won’t need the recovery guide, but if you do, I can confirm it’ll get you out of hot water. Just make sure you have back-up before that happens.

How to build your own Apple iBeacon… with a Raspberry Pi

US department store Macy’s recently said it is implementing iPhone-based tracking tech the better to encourage browsing punters to buy. Of course, Macy has chosen to pitch this as an Apple technology – figuring, presumably, iPhone owners are more receptive to inducements delivered through technology and have more cash to splash than Android fans.

But the fact is, the system Apple calls iBeacon simply makes use of features already part of the Bluetooth Low Energy (LE) spec.

A Pi's UART pins, connected

Can this operate as an Apple iBeacon? Yes it can

This got me thinking: how difficult would it be to build a similar system of my own? Not very hard at all, it turns out. Choose the right kit and it can be quite cheap too. I created my beacon using a £30 Raspberry Pi and a £12 Bluetooth 4.0 USB dongle.

Continue reading

Review: the Fuze, a Raspberry Pi keyboard case and electronics kit

Back in the day of the board computers of the late 1970s – your Scrumpi, your Nascom 1, your UK-101 et al – it was customary to build a case for it out of wood. If you were a better equipped ‘constructor’ – what we used to call ‘makers’ in those far distant days – you’d build a box out of metal.

Folk like Tangerine offered optional cases, but most home micros made do with homemade jobs or nothing at all. Then along came the pre-knighthood Sir Clive Sinclair with his ZX80, and home micros all had to be clad in plastic from then on.

Fuze

The Fuze looks like an old-style home micro case.

Skip forward 30-odd years and history is repeating itself. The Raspberry Pi is a board computer just like those 1970s offerings, only more powerful, more compact and with better programming facilities than the machine code monitors of yore. Some people even make their own cases, though there’s no shortage of plastic off-the-shelf offerings.
Continue reading

Raspberry Pi Case Review 2: Cyntech and ModMyPi

A little while ago, I tried a pair of the early Raspberry Pi cases. Desiring a change, I fetched myself two more, one from British online retailer ModMyPi, the other from UK electronics firm Cyntech, which also worked with Pi specialist Pimoroni on the Pi Hub, reviewed here.

ModMyPi and Cyntech cases

The ModMyPi and Cyntech Raspberry Pi cases

Continue reading