When I've been developing applications for the Raspberry Pi, I've traditionally had a mess of wires and hardware boards on my lab desktop. And recently I've been trying to make my Raspberry Pi communicate with an Arduino over a serial connection, which has just added to the mess. This week I decided enough was enough - I'm going to 3d print my way out of this mess!
I decided that I needed the design to allow full access to the Raspberry Pi and the Arduino, but also to hold them securely - for example, I needed to be able to swap out the SD card in the Raspberry Pi without having to dismantle everything.
I also want to be able to modify this in the future - for example, I might want to securely attach a specific IOT sensor (or replace a component) and I don't want to have to reprint the whole thing.
I still use Autodesk 123D a lot (I know, I really need to move onto using Fusion 360...) and I used that to design the individual parts. When I was designing the parts, I tried to think about what I wanted the case to do for me:
- It needs to securely hold the Raspberry Pi and Arduino, but I don't need to see them all the time.
- It also needs to hold my 5" display which is connected to my Raspberry Pi using an HDMI cable.
- There also needs to be somewhere that holds my USB power source.
Eventually I settled on the design below.
I printed each of the parts on my Prusa i3 Mk2 - only one of them took a long time, which was the central triangular chassis (shown printing below) - this took about 6 hours with a printing depth of 0.35mm.
The first two parts to assemble are the central chassis and the battery pocket. I've shown these two components below, and if you scroll right you'll see them bolted together. I included holes for the bolts - I used 4 x M3 x 10mm bolts, with countersunk heads.
Next, I attached the bracket which would secure the Raspberry Pi and the Arduino to the central chassis - again, I used 4 x M3 x 10mm bolts, with countersunk heads.
The next part was a little bit more complex - I have two brackets to hold my 5" display. The first one (which is on the left in the image below) has a gap at the top to allow me to plug the HDMI cable. But I've also added another component which sits below this bracket - this part allows me to secure sensors or other hardware units. You'll see later how I attached a 5mm LED to this part. I've included holes for bolts again - this time I used 4 x M3 x 25mm bolts, with countersunk heads.
Now we can start getting the electronics on board - I slotted the 5" display into the case, and attached the display bezel with 4 x M3 x 20mm bolts, with countersunk heads.
That's all the printed parts assembled, so getting close to finished - now I start attaching the electronic hardware. First the Raspberry Pi with 4 x M2.5 x 10mm bolts, as shown below.
And next to attach the Arduino with 4 x M3 x 10mm bolts.
I plugged all the cables in - an HDMI cable connecting the Pi and the display, and a USB cable connecting my Arduino and Pi. I've also shown my USB battery pack slotted into the bottom enclosure, and a couple of USB cables coming out of that to power the Pi and the 5" display. I designed it so that I could see the digital display on the battery pack as well.
And here it is powered on with Windows 10 IoT Core as the operating system. Much neater than before!
I found a spare mouse and keyboard with Bluetooth connectors, and plugged them into my Pi.
The photo below shows a nice little slot I included, which allows me to swap out the Raspberry Pi's microSD card in case I want to change from Windows 10 IoT Core to another OS like Raspbian Jessie.
Lastly, I mentioned earlier that I wanted a bracket to hold external sensors or displays - I've shown below how I attached a 5mm LED to the display unit, which I can use with my Raspberry Pi when prototyping (since there's not an LED on-board with the Pi).
So that's it - my lab desktop is a lot less messy now, and I can even carry my new IoT workstation around the house in one hand. I hope you like it!