3D Printing Show & Tell


We’ve just got a 3D printer at work (CubePro), so what better to do than some Raspberry Pi related 3D printing?

This one’s a little ultrasonic sensor mount I designed:

For my second ever 3D print, I’m amazed how perfectly the sensor fits.

I’m currently working on a tiny Pibow compatible camera mount (my first print). Will post a picture of that when it’s cleaned up/assembled.

I’d love to see anything electronics related that you’ve designed/printed!


As promised, here’s the little camera mount I made:


So I recently bought a STS-Pi to go with my new Pi Zero, but I was a bit disappointed that I couldn’t mount the Pi Zero to the rover in its case. Of course I could have bought some new bolts or drilled some new holes. My solution? More 3D printing.

Introducing the “Pi Zero Payload Shim”!

It’s a pretty simple design: a 2mm layer that converts the existing Raspberry Pi mounting holes in the STS-Pi base layer to those of the Raspberry Pi Zero Pibow screw holes. The beautiful thing is the holes for the Pibow screws are just tight enough that I don’t need the nuts to hold the case closed, which means easy access to the Pi inside.

Pimp my STS-Pi!

(Next, I’m printing some new battery clips to hold my ever-so-slightly too large battery.)


And my new battery clips. I went for a simple design to start. I may go for something a little more like the original design eventually, but these work great for now.

Old vs New:



Had this in the back of my mind for ages:

Sadly running the Unicorn HAT at full beans warped my thin print so will have to kick out another.


Beautiful! Be careful with full beans, though…


Unfortunately it was a fresh Pi so I only had the demos that came with the library. I left rainbows.py running for a good while at what I guess was a brightness of 1.0 - tho it’s not specified in the file? What’s the default if it’s not explicitly set?

The print was done using PLA which has a lot lower glass temp than ABS, so the next one will be done with ABS I think.


I believe the default is half the max these puppies can blast, a hard limit set in the library for a few months now.

That’s not to say you shouldn’t tone down the show, but rainbow.py has brightness set at 0.4 (of half full bean therefore)? Could it be that your repo clone is outdated?


I think I pulled it down fairly recently - I’ll check this evening.


On closer inspection of my version (2.1.0) of the UnicornHAT library, it definitely has the 50% brightness limitation in “brightness” but “rainbow.py” has no explicit brightness setting. I assume (based on the brightness) it was defaulting to 1.0 (or 50%). Setting it to 0.4 causes some of the LEDs to not light up properly.

In any case I’ve updated to the latest version (2.1.2) and everything seems golden at the default of 0.4.

Does the comment for “brightness()” need to change? At at anything less than 0.4 (like the suggested 0.2) I get pixels that aren’t lit properly.


I know @gadgetoid has also inserted a warning if brightness is set too low, not sure what level. If you think some of the examples don’t work properly then try them with a slightly higher value and submit a PR… we’ll trust you to not burn the house ;-)


The examples work fine with them all being set to 0.4, it’s just the code warns you when you set brightness to anything less than ~0.23, but the comment for the function recommends a value of 0.2. I presume that 0.2 was the recommended value before the 50% limit went in?


sounds plausible, yes.


Version 2: White ABS with vinyl plastic diffuser (instead of paper).

Hopefully won’t warp this one.

Turning the UnicornHAT round 'pixels' into square ones

Back again and my 3D printing is getting weirder. My desk is covered in Pis at the moment so in an attempt to wrangle them I printed this:

Handily holds them stable whilst I’m playing and looks good too!


As promised on twitter, the beginnings of a new LED matrix. (@gadgetoid)

Front view:

Rear view:

LED bending jigs:

Here’s the previous one I made:

Last time I had to hand drill the 128 holes in a piece of acrylic, meaning that they weren’t the straightest. This time I’ve taken advantage of the 3D printer. It took about 3 hours to print.

The new one is going to be a 16x9 pixel version and rather than doing all the electronics myself, I’ve bought one of these fellas: https://shop.pimoroni.com/products/adafruit-16x9-charlieplexed-pwm-led-matrix-driver-is31fl3731

I’ve got a lot of soldering to get on with!


Here’s an in progress shot of the build:

First column soldered and working just 135 LEDs to go!


Got a bunch of soldering done yesterday:

Hooked it up to the Adafruit matrix driver and ran one of the examples:

Only had one slight mishap with catching the soldering iron on the 3D print, fortunately it’s on the back ;-)


Looking good, Must have been fun getting all the led wires the right way round,


The schematic has a nice pattern to it, once I’d figured that out I printed a couple of jigs to help in bending them the right way. For example, the first column has 1 x type-A and 8 x type-B, the second column has 2xA and 7xB and so on. I think over the course of 144 LEDs I only had to replace 2 or 3 which I think were just dodgy LEDs rather than me having bent them wrong.

I just need to replace the Arduino Uno with something a bit more compact then it’s ready to sit on my desk properly!