3D Printed Adapter Plates For Project Boxes

I am starting this thread to discuss 3D printing adapter plates for IoT devices so they can be mounted inside a project box. I am open to suggestions and questions as I hope this thread is a useful starting place for others.

I started making IoT devices with particle.io in 2017 to measure Lake Ontario flooding and to monitor/control local pumps. I quickly discovered that while the coding was easy with my background as a software developer and the electronic skills to assemble a working unit I could learn from the Interwebs, the biggest stumbling block was the project case for housing the device. For flood work I was looking for a ‘water tight’ case; I wasn’t lowering these units to the depths of the ocean but they were going to be wet and perhaps under a few inches of water and in somewhat harsh conditions.

As I did have some prerequisites the range of available choices was rather small. The project box had to be water tight, the perfect size (not too large, not too small), sturdy enough for real world use, readily available and most importantly as cheap as possible. There are “Otter Boxes” that are amazingly rugged and water tight - they are also insanely expensive! I just couldn’t justify paying more for the container than the parts within. I settled on the SparkFun’s 'Big Red Box’ (PRT-11366 https://www.digikey.com/en/products/detail/sparkfun-electronics/PRT-11366/7393713). At $15 Canadian they were a decent choice - water tight, large enough to hold a Boron on a Particle FeatherWing Tripler protoboard with the all wiring etc. While not perfect these boxes would work but there was still one issue I kept coming up against.

I have tried many project boxes and I discovered rather quickly that none of the companies talk to each other - none of the holes align! Every protoboard, breakout board and microcontroller seemed to have different mounting holes. The Adafruit FeatherWing standard has helped to make the process easier but the mounting points simply do not match any cases’ internal standoffs or mounting holes.

After a ton of research and a few years of wavering I broke down and purchased a 3D printer. I got the kit version of the Prusa MK3S; I had a fantastic time assembling it and I saved $500 by doing it myself. It was surprisingly easy to print objects I could download from Thingiverse and other 3D file sharing sites. The file format commonly used is .STL and there are many ways of viewing this file type. To create my own project cases and adapters I would have to learn a 3D drawing application. With the help of YouTubes I taught myself enough Fusion360 to start creating printable things.

The first attempt at 3D IoT printing, and the point of this thread, was to make a ‘protoboard adapter’ plate to mount the FeatherWing Tripler inside the Big Red Box. I needed the adapter plate to have mounting holes that match the box, standoffs and mounting holes for the FeatherWing Tripler and a way to secure the LiPo and the antenna from rattling around. I also wanted a parametric design which means assigning variables to measurements so changes in width, height and thickness are cascaded down through the object.

The .stl file I have attached is the product of many iterations and attempts. While the protoboard sizes and mounting hole positions are openly available on the Adafruit site, there were many challenges to the final design. I came to the following conclusions:

  • Plate thickness is 2mm. Anything more is overkill.
  • Standoffs for mounting the protoboard are 8mm in height.
  • All mounting positions are represented in the “sketch” but only the mounting standoffs needed for this design were extruded.
  • Mounting holes on Particle and Adafruit boards require M2.5 screws. I use nylon screws from adafruit.com.
  • Some protoboards require M3 mounting screws.
  • I use the thread option in Fusion360 to create threaded mounting holes ready for the screws. It was a trial and error situation getting the right sizes of threads to match the scores I am using but in the end it does work.
  • To save time in printing I ‘hollowed out’ areas on the plate that didn’t add any function.
  • I added underside walls too hold the LiPo so it would not rattle around.
  • I added a tunnel for the antenna to slip into.

While it takes 6 hours to print each plate (this can be drastically reduced by tweaking settings) the final print cost is $1.44 for the PLA filament and maybe a dime for electricity (Canadian). This design is particular to the Big Red Box but it can easily adapt to any project case. It has opened up many more options and makes the final IoT project so much more complete.

The next thread which I will keep separate, is my exploration into designing and printing the entire project case on demand and at a fraction of the cost of buying one.

5 Likes

@phillycheeseman

This is awesome. I have also started 3D printing but nothing as slick as this. We need a good way to share 3D projects across the Particle community. Perhaps a Thingiverse collection?

Chip

Great idea - Thingiverse is great but apparently has some issues lately. I may start one on the Prusa site. There are others as well.

What kind of printer do you have?
philly

I’ve uploaded to the GitHub the Standoff Spacer .stl files.

cheers
philly

@phillycheeseman,

Great minds think alike! I have a Prusa printer as well. Great idea about sharing on their site.

Thanks,

Chip

WOW, Philly, that’s amazing!
I like the attention to detail. The battery holder underneath, oh and the antenna tunnel was a very nice touch.

Thank you for sharing this with us,
Gustavo.

@phillycheeseman great stuff… Thanks for sharing. I also 3D print many things. I now have qty 4 Prusa MK3S. I try to keep them busy. :slight_smile: They are fantastic machines. As @chipmc indicated… great minds think alike. :slight_smile:

You should check out PolyCase https://www.polycase.com/ for an enclosure. Not only is it a high quality enclosure but fairly economical. Even better all of their 3D models you can download and import right into fusion 360 or you can print them to get a feel on size/shape before you order the permanent one. This even includes a 3D model of their “sub panel” so super easy to design up a backplate. I ended up 3D printing 3-4 different entire cases to find out what one works best before ordering the final one from them. Having the 3D model of their case also allows me to plan out the entire hole pattern for sensors, PB, etc. and even 3D print samples of that. I can modify their 3D model and place holes where I want to mount things, hit print, and then play with where I want the holes. I then found a buddy with a CNC router table. I can take my model to him, made a fixture (3D printed) to hold the polycase enclosure within his CNC table router and he now cuts the holes in the enclosure for me allowing each enclosure to be identical with perfectly cut holes for different external components. Each one takes just a minute to punch all the holes in it.

Also, what I found works really well for the actual PCB mounting is 2-56 threaded inserts. I use these from McMaster Carr. I just use the soldering iron to melt it right into the 3D printed backplate. Then I have nice perfect threads for both the PCB mount as well as the battery slot cover. I found it to be a little easier then self tapping as the self tapping screws. I also use these for my battery compartment as you can see. image image

Great stuff… thanks for sharing. Always fun to see how others are doing things.

1 Like

Here is an example of my 3D printed enclosures from Polycase. I simply downloaded the file from Poly Case. Made an .STL out of it in Fusion 360, sliced it in Prusa Slicer and hit the print button. In this case, one was a bit too small for my liking, one was a bit too big, the middle one was just right so I then ordered the actual enclosure which you also see there. I also 3D printed several of the same enclosures in order to practice and test my buddies CNC router to cut the holes. Better to test on a $3 piece of 3D printed plastic than a $20 enclosure. :slight_smile: What is nice about the CNC router approach instead of just drilling holes is I can still make the anti-rotation flat spot for any of the external connectors and pretty easy to crank out a few. My next purchase will be a table top mini CNC or maybe a CNC router. I figured I’d share a picture before I throw these 3D printed scraps away.

2 Likes

The comments so far are invaluable -great info - thanks!

I have followed up with another thread on creating the entire case for indoor use.

The threaded inserts are excellent. I was going to try these on my next endeavour - a fully ‘water tight’ case. I saw a few YouTubes on these and how to melt them in. Seems the way to go if the lid will be removed more than few times.

The idea of using CNC router to cut the holes for wiring is shear genius! I have been using a drill press and a metric multipart drill bit (it has several sizes on one bit) and I hate doing it because it is so fraught with error; one slip to far and I’ve ruined the whole box. In fact I am cutting holes this morning and find myself delaying the effort out of fear. A CNC, once setup, is a perfect idea for exact holes. A small machine would be great.
Now I’ll have to take up a collection to fund my CNC habit… damn you!

The polycase looks great - Ill check them out. Thanks

Some great cases there and I’ve never thought about buying a commercial case but making my own inset to mount kit. Obvious once I see it.

For 3d modelling, I really like OpenSCAD https://www.openscad.org/.

Rather than being a click and drag artistic package, you build your models with code, using a C style language. This allows precision in positioning, but also allows variables, functions and lists. For example I wanted a vented panel for one project so I made a library function and now if I ever need another, I call it with the size I want.

With variables, you can dynamically change your model, with the three major dimensions being the obvious. Lists can be run over as a loop so you could produce a list of stand-off positions. If you want to add an extra one or move one, just edit the list and they appear. If you have a second part with holes to match then make that use the same list so the holes automatically move to match.

If anyone is interested how to do this, let me know and I’ll knock up a tutorial blog post.

haha. Thanks. it’s a bit of a mad scientist setup with a 3D printed “mold” that holds the polycase enclosure. Since I have the full 3D model of the polycase enclosure it’s easy to use the “combine/cut” tool in fusion to make a cavity mold and then 3D print that to mount. Swapping out boxes in the CNC router is just popping one out and putting the other in. Super quick and easy.

And like I said… pretty easy to layout your entire enclosure in detail. My PCB is in eagleCad as well. I’m sure there is a way to import that as a 3D model as well just haven’t had the time or need to do that yet.

Nice! I haven’t heard of that one before. I personally LOVE fusion and it’ll be hard sell to get me to switch but the fact of doing it in a C style language is interesting. I hope to eventually own a CNC and I can then create the GCode for the CNC right from Fusion as well. For reference, Fusion does have the aspect of Parameters where you can define your parameter and then dimension things using formulas or parameters themselves. That way, if you want to change anything you just update the parameters list. This is my go to YouYube channel to learn Fusion. Here is the one on Parameters in case you were interested: Fusion 360 — Intro to Parameters Like anything though… much of it is personal preference, they are all good tools I just happened to stumble into Fusion before OpenSCAD. I’m sure they both have their pluses and minus and both can get the job done. Thanks for sharing!

Divide and Conquer

I was having issues printing the adapter plate; the file was taking too long to print, cleaning the support material was time consuming and the threads in the standoffs were never accurate. After many hours of thought, trial and error I realized there was a better way - 3D printing is an art as much as a science.

My first approach was to print the plate on the long thin edge because there were top standoffs and bottom standoff supports. Printing this required support material and meant printing the entire plate as one file; any changes required entirely reprinting the plate.

So I ‘cut’ the plate horizontally in two with Fusion, separating the top and bottom elements of the design.

The bottom plate is mirrored to the top plate with the battery compartment. Edges in the bottom plate align with the edges in the top plate battery cutout. The top plate keeps the bottom plate down and secure. I also added a slot for the cellular antenna on the bottom plate; after much trial and error I crafted it so that the top plate becomes the roof of the antenna slot.

The top plate design didn’t change much but I did discover a very cool feature of the Prusa Slicer (and I’m sure other slicers). When slicing the .stl file one can set a layer to pause the print for a color change. In my case I was able to print the top plate base layer white (Prusament PETG Signal White) and the top layer black (Prusament PETG Jet Black). I set the divide point just below the logo layer so that the logo is white on a black mounting plate. So cool!

Truly the amount of work that went into the final design is overkill for my specific case but I see this as an easy way to prototype the idea for other uses. One can learn a lot on a simple project such as this. And the many great ideas added by the community on this thread will help to build the next phase of the design.

I have included the .stl and .f3d files with photos on the GitHub page. As always please enjoy.

5 Likes