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.
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.
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?
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?
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 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!