Outdoor Project Case

Outdoor Project Case v.81

As a follow up to my previous entries for designing and 3D printing ‘Indoor Project Cases’ for Particle installations, I’d like to share my experiences in making an outdoor enclosure for my Flood Dog project.

Flood Dog (flooddog.ca) is a three year program to monitor ground, surface and lake water levels around the Toronto Islands. After several years of work on the idea I’ve been granted some funding to deploy 42 Flood Dog devices in the field (Mini-grant Awardees Announced - Great Lakes Observing System). In one configuration, I am using a Boron with a Carrier Board and a custom daughter card that connects to a ‘homemade’ capacitance sensor wand’ that measures ground water levels. At the moment the data is being sent to adafruit.io for storage and basic data visualization but the Flood Dog pilot project is also tasked with designing and creating a Water Level API for storing and retrieving readings from any source of monitoring.

The ideal Flood Dog enclosure would have some basic requirements. It should, in no particular order, be:

  • Water Resistant. I’m not dropping these units into the ocean but they will be outdoors for several years and perhaps semi-submerged at times as I am measuring water levels.

  • 100% 3D printed and locally sourced. This is an ambitious goal but quite doable with some design work. The current three part case (top, mount and bottom) is 3D printed and ready to wear right off the print bed. At the moment the wire glands and the gaskets are externally sourced but I will attempt to ‘design in’ these features making this a case that can be produced entirely in-house as needed.

  • An efficiently designed enclosure. Most commercial cases I found are either too big or too small for my needs; it’s just wasted space! And I am somewhat obsessed with reducing the material in the design to reduce cost and production time while maintaining the strength of the unit.

  • It should be easy to service in the field. I have no where near the field experience of an expert like Chip but the hours I’ve spent tinkering in the tall grasses installing and maintaining the first test devices tells me the fewer tools and techniques needed to service the unit the better. It only took a few times of getting to a site and needing a Philips screwdriver which I didn’t have with me to figure out there must be a better way!

  • Aesthetically pleasing. Most project boxes I’ve researched are just a baby step above industrial design. I ask myself why can’t an IoT Project Enclosure look cool and almost beautiful as well as functional? 3D printing offers me the ability to customize and style a project cases to any shape; I’ve even toyed with the idea of molding the case to look like a rock so it would be ‘invisible’ to passers-by.

And so with these modest goals I set off to design my perfect enclosure!

Design Features
The model is made of three parts: the Top, the Carrier Board Mount and the Bottom Cap. The top has built-in strap mount holes, threaded wire gland openings, and an optional PIR Sensor threaded opening. The mount provides a solid holder for the Carrier Board and the LiPo battery and moves up and down on a track built into the top part and spins independently of the bottom cap. The bottom screw-on cap and built-in gasket make this an acceptably watertight unit. Anecdotally, I have subjected test enclosures through Canadian winters and wet springs and they are totally dry so far!

But this is an iterative process indeed. The current design is version 81 if that is any indication; it is a cylindrical shape with a screw-on cap that allows easy access to the internal components. A cylinder design is an efficient use of space and is functionally very strong. The model is optimized to reduce print time, material and the inherent limitations of 3D printing.

I also happen to think it looks nice, dare I say elegant! It feels solid in your hands, it’s lightweight yet strong. I even designed the Flood Dog logo into the top of the case.

The design weapon of choice for me is Fusion360. I have worked with an unimaginable number of software applications over the years and I’m convinced this is amongst the best programs ever written. It is so elegant and yet so powerful. I have only scratched the surface of what I can do with it but even that is astounding.

There are two features that stand out for me: the timeline and setting parameters or variables.

The timeline is like a step by step graph of the project. You can roll forward and backward through the individual steps that make the model, you can edit or suppress steps or features, delete steps or features or insert new steps or features anywhere along the timeline. With this ability I was able to design two versions of the model. From one design file I can output (.stl) the basic smaller case and a version which has an opening for the custom screw-in PIR sensor capsule.

Fusion360 allows you to setup variables for use in defining measurements of objects. The project case height, width, wall thickness, mounting sizes etc. are all defined as variables. I can make the entire model taller or shorter, thinner or thicker with often no modifications beyond making a numeric change.

There is a large fan base and many YouTube tutorials for Fusion360. Which of the dozens you choose from is a matter of personal choice. Suffice it say a few hours on YouTube will teach you enough to be dangerous!
Here are some useful YouTube links on 3D Printing & Fusion360
CNC Kitchen
Fusion Essentials
Makers Muse
Product Design Online

3D Printing
After considerable research, I chose a Prusa MK3S+ for 3D printing the cases. These printers are workhorses that also produce excellent quality prints. They require a minimum of servicing - not zero but not bad - and since I built them from a kit the level of product understanding is enormous which adds to the confidence level over time.

There will be primarily two materials used: ASA (80%) or a Polycarbonate Blend (15%). Both offer UV protection and are stable to high temperatures such as a hot sunny day. For installations in harsh environments the Prusament PC Blend filament, though somewhat expensive, is a fantastic material to print with and produces a Flood Dog case that is pretty much as strong as steel - this stuff is seriously tough! For indoor or sheltered installations PETG will be the filament of choice due to its ease of printing and its thermal range. I am also experimenting with flexible material to 3D print the gaskets. This would be amazing from a customization standpoint but flexible materials are not for the faint of heart - I suspect some experience is required; I will update this post with the results.

To efficiently print in ASA or PC one needs an enclosure and an air filtration system. The enclosure will keep the thermal envelope free of drafts which can cause layer splitting. The air filtration system is needed to remove smells and toxic fumes! Neither of these require expensive solutions. The most popular setup, and the one I chose, uses IKEA LAK tables which run $10 each - I needed three. Most of the parts are 3D printed and it’s easy to build. Any decent air filter can be fitted - there are a hundred 3D solutions on Thingiverse. It helps to monitor the temperature inside the enclosure so I use an Argon with the Grove sensors. And please make sure you install a smoke detector in the very very unlikely event of a meltdown.

The Reality
3D printing a project case of this magnitude does have some challenges. It does take considerable time to print a single case; perhaps as much as 22 hours in high quality. Print time can be reduced greatly by reducing layer height or using a larger nozzle. Both will also impact the quality of the print in positive and negative ways so you have to balance your speed vs. quality. Keeping in mind I’m only making <150 of these cases, I maintain that if I ordered custom cases from China and modified them further to suit my exact needs it would take on average far longer than 22 hours each.

It does some skill level to make these cases. I’ve tried to create a design that’s easy to produce but 3D printing can often feel like part science part voodoo and the unexpected is bound to ruin a few runs -it happens!

The good news is that with a Raspberry Pi, Octoprint and small camera one can keep an eye on the print process from anywhere. The vast majority of the time 3D printing just runs and all that’s needed is quick look see when possible.

If I was ordering 50,000 cases I would engage a manufacturer directly but with a production run in the hundreds that’s not possible and since I am iterating all the time it’s not practical. There are online services that will allow you to create a unique design which you can print yourself but this doesn’t seem fully satisfying. I have invested a stupid amount of time learning how to make my own designs but having done so I find it very rewarding and empowering.

PIR Sensor Capsule
Still slightly under development is an optional timeline path for a PIR sensor with a threaded opening to accept a threaded detector capsule.

A 3D printing trick for testing is too slice the model into sections in Fusion360 and output only bits of the model. To only print the PIR corner of the top saves so much test time.

The Finished Product
The current working version is available on the Flood Dog GitHub site. You are welcome to download tinker and print your own versions under MIT License stuffs. Enjoy!



Thank you for sharing this enclosure with the community. I have enjoyed “going along for the ride” as you worked through the iterations (81!) to get this right. I wanted share my build photos and confirm that this case is an outstanding choice for outdoor applications. I printed my first case in ASA and plant to try one using PETG to see how well it stands up to the sun.

Thank you again for sharing your great work here!


1 Like

@phillycheeseman - First congrats on the mini grant. Very cool! Great to see projects like this especially open sourcing the data collected to the community!

  • Yeah I do all my design work in Fusion 360 as well. Took a little bit to learn but certainly worth taking the time to learn it. I also love the parameters and timeline. I recently used python scripting to iterate through a csv file of parameters to quickly generate a bunch of STLs. Lots of fun to be had with Fusion and 3D Printing!

I also print many things via a Prusa MK3S. I currently have 4 of them to print various things both IoT and otherwise. I always prototype the enclosures, brackets and other parts of my IoT projects by 3D printing. I’ve been very happy with Prusa.

150 cases * 22 hours per case / 1 printer = ~150 days? If you are ever in a crunch and need some assistance in cranking out the cases send me a PM. I’m happy to help out especially another member of the Particle Community! My Prusa’s are normally setup with 0.6 mm Nozzle and I normally print PETG but if needed can swap it back to 0.4mm. 1 of the 4 are in a Lack enclosure for other filament types. My printers normally have some whitespace these days.

Keep us posted on the longevity/waterproofness of the enclosure over the course of this project. I haven’t been brave enough yet to deploy a 3D printed enclosure for a long term duration fully exposed outside with electronics on the inside. I’ve done brackets and other odds and ends just not something with electronics on the inside. Would be very interested to learn if this works out well for you just for some other future projects I have in mind. Thanks for sharing!

jgskarda thanks for the comments.

I knew when I wrote that it takes roughly 22 hours to print one project case I would raise eyebrows. That is of course a reasonable overstatement. I print my ‘test’ prints at the highest quality so I can always dial it down; there are several threaded parts so quality does sorta matter however there is a sweet spot between time and print quality and success.

My first test prints were at .15 layer height, 80% speed with the standard 4mm nozzle. I found the detail was actually too much for ASA and PC - they cool very quickly and caused hardened blobs to form on the retraction points which led to ‘crash detect errors’. I back it off to .20 layer height and it hummed along with no issues. There were probably a few other adjustments I could have made but .15 was too fine a detail regardless.

As you point out a 6mm nozzle or larger could be used. This translates into possible higher layer heights and much reduced print times at the expense of print detail. I am sure a .3 layer height with a 6mm nozzle is exponentially faster - I even have an 8mm nozzle which I could try. Interestingly larger layer heights lead to better water resistance and overall strength; less layers means less places for the material to split allowing water to penetrate and it will have fewer fracture points.

As I ramp up in the next few days I will experiment with lowering print quality to increase speed. I will update this thread as I go…


Yeah sounds like you’ve identified the key parameters for print speed and quality. Now just finding the right combination of speed vs quality vs ruggedness/waterproof. One consideration is to use variable layer height. I.e. simply decrease the layer height where you need the detail (maybe the thread pattern) and increase layer height where there is no detail needed (straight walls going up). Prusa Slicer 2.0 - Variable Layer Height - YouTube

Also, if you didn’t upgrade to the latest Prusa Slicer it’s worth it. Gives you a break down of time by print type (in fill vs solid infill vs perimiter) so you know where the time is being spent. Many times I print with a 0.6mm nozzle but still at 0.2mm layer height to get some level of detail. Another benefit is you may only need 2 perimeters vs 3-5 with 0.4mm nozzle. That saves quite a bit of time as well. The objects I print are similar size and shape. Here is what I mostly print: labelslayer.com Going from 0.4 to 0.6, increasing speeds and using variable layer height I was able to cut print time by 50%-60% % or so. Really helped with throughput of getting things printed off while maintaining quality. If you want to bounce off any ideas or share any of your learnings feel free to reach out.

1 Like

HI @phillycheeseman

Thank you for sharing.

I am busy designing one that will indeed be “dropped into the ocean” (well not quite but you get the just of it) so I can fully appreciate the 81 iterations. With a little bit of luck I will be able to share my case, but I will have to get approval first as it is under quite a strict NDA at the moment.

I am curious, how was your experience printing with ASA? As challenging as ABS? Why not CPE?

Bets of luck and keep up the great work!

Regards, Friedl.

Flood Dog Outdoor Water Resistant Project Case 3.0

I am currently working on a pilot project called Flood Dog in which we will be installing 42 Borons with sensors across the Toronto Islands to measure Ground, Surface and Lake water levels for the next three years. This requires a tough, UV stable, heat resistant and reasonably water resistant case to hold the Boron, Carrier Board, Custom Capacitance Sensor PCB and a LiPo Battery. After 21 major versions and numerous sub-versions (over 120 attempts created and tested) the result is a Project Case that is a ‘thing of beauty’!

(“Post Mount” version side view showing strap holes, post mount option)

(“Post Mount” version bottom view showing wire gland (one in this case) and the locking pin with M3 screw for security)

The case is made of four 3D printed parts: Top, Mount, Bottom and a Locking Pin. It features one, two or no passthrough water tight cable glands for solar power wires and sensor cables to enter the case. The Bottom is a screw on cap with an o-ring seal which provides some water and weather resistance; as this is a custom design, even the o-ring is 3D printed using rubber filament! The Mount slides in/out along a guide track in the Top holding the internal electronic components safely and securely (Carrier Board, Cellular Boron, Water Sensor PCB and Battery).

(Top, Bottom with Gasket, Mount and Locking Pin)

(Mount with Boron, Carrier Board and LiPo)

It’s also somewhat attractive compared to commercially available cases and frankly this is important - just ask Apple. The rounded design makes the case inherently strong; a test case printed with PolyMaker ASA filament was struck with a hammer at its weakest point and after 6 heavy blows the case was only dented, protecting the valuable electronics inside.

Flood Dog cases can be mounted on a post or a pole. The post mount version has a passthrough for either C-clamps, zip ties or wood screws. The zip tie option has been tested and it has proven to be an excellent method for installation. The pole mount design is currently being tested on a Frisbee Golf course and the pole mount has performed well. The latest version features a vandal resistant mounting system to protect these valuable devices from theft.

The most important fact about this work is that everything necessary to build a Flood Dog can be made from locally sourced materials and 3D printed by anyone, anywhere, anytime. While it does take some time to print all the parts for an entire case (14h 40m) the total material cost is under $8. One cannot buy a similar case commercially for this price and certainly not a case that is customized for the application.

Every file and version created is available under an open source license and can be accessed on GitHub. 3D print files and custom printed circuit boards CAD files are available through the Flood Dog repository:

Three Prusa MK3S+ 3D printers have been dedicated to printing the enclosures. To date, over a dozen finished cases have been produced and printing will continue until all 42 Flood Dog enclosures are made!

Thanks to Chip for all his input and experience. I hope everyone finds this a useful project.


Wow, incredible project. I think I can recognize Chip’s open source carrier there too.
Congrats @phillycheeseman and @chipmc !

@phillycheeseman ,

This is a great case. Thank you for all the great work you have done here and for sharing it with the community!

Here it is in use at a local frisbee golf course where we are helping the Town of Morrisville perform a three month test to decide if the course should be made permanent.

It has been a great leanring experience to see Philly iterate this design. He has inspired me to uplevel my Fusion360 skills! Also, printing for outdoor use brings special challenges. I am testing with PETG to see how well it holds up to the NC summer sun.




This Gland Is My Gland, This Gland Is Your Gland…

A ‘cable gland’ is a part that allows a wire such as the Voltaic Systems power line to enter the project case. It should hold the wire snuggly and provide some level of water resistance. The Project Case design relied on third party cable glands screwed into the Top piece; as the work progressed it became clear that not all manufacturers used the same threading and this became an issue. The goal was to make the Flood Dog project completely open source and this was definitely a weak link.

(far gland is commercial, close gland is a Flood Dog design)

I had wanted to make my own cable gland design but I couldn’t justify the investment in time. When the 3rd party glands became an issue I realized that even if I spent 6 hours designing a gland I will save that in time and money I would have spent ordering parts from Amazon via China! It became a win win.

In theory the way a gland works is fairly simple as is the parts needed to make one. A threaded cylinder screws into the project case; often the gland will feed through an open hole and be secured by a nut on the inside. The wire goes through a locking cap with a rounded top and then through the cylinder. The cylinder has fingers that extend from the top; when the locking cap screws down it forces the finger to tighten down on a rubber seal around the wire holding it in place and sealing the opening.

The art of making such a set of parts was technically simple but as it turned out the devil was in the details. The tolerances and fit were critical and it took many iterations to achieve the final working design which is somewhat tailored to the Voltaic Systems power cord; with slight modifications to the Fusion360 parameters it could be customized to any wire type or threading. In future designs the cylinder will be merged with the Top case and only the cap and rubber parts will be separate.

To 3D print the cable glands I needed two materials. I use Polymaker ASA for the threaded parts; PLA or PETG could be used but ASA should last longer. For the rubbery parts I use NinjaFlex TPU; the same stuff as the rubber o-ring. I can’t say enough about the NinjaFlex filament - it feels rubbery but yet it’s strong and prints well. It’s fantastic stuff.

After dozens of attempts and adjustments to the design I arrived at the final .stl files posted on the Flood Dog GitHub site. I will continue to test the Project Case and now the Cable Glands and report back with successes and failures.

1 Like

Wow… impressive modeling skills, nice work and thanks for sharing!

I had similar issues with sourcing the same part repeatedly for this. I was ordering from amazon and was frustrated when the part had a slightly larger thread then what I ordered previously. For now, I decided to go to DigiKey and order chord grips from them. There are a lot of options and then you know for sure you are getting the identical part and parts that are typically in stock. Only downside is it seemed expensive for a chord grip (~$2 each).

You may want to do some stress tests on that thing. Due to how it’s printed, I’d be concerned with layer to layer adhesion on the threads being the weakest link. Overall, I’m still a HUGE fan of 3D printing especially for prototyping but robustness can be a concern depending on how it’s used.

Over all, nice work and thanks for sharing!

The 3D layers and infill actually make the case stronger in some ways - they act like pockets of absorption for impact. The infill pattern also matters both to print time and to the strength of the case. In previous tests I beat the case with a hammer and while the outside shell began to cave (after the 4th blow btw) the ASA material held the internal components safely. I am surprised at how good the ASA is proving to be. Polycarbonate is even better but is somewhat cost prohibitive for the Flood Dog project. For a detailed analysis of layer adhesion and stress tests have a look at CNC Kitchen. Stefan is the gold standard of 3D print testing:

My thought on strength is simple: I need to make the case strong enough to withstand even tough treatment. The locking pin and screw (still a work in progress) should keep the unit safe from curious hands and the mounting strap through-holes must be designed to make prying the unit from a post or pole difficult. From my simple field testing I can say that the Flood Dog Project Case seems to pass all the above requirements. What I can’t predict or guard against is someone who really wants to destroy or steal a unit. Ask any bicycle owner if they want your bike they will take it no matter how well you lock it - same with these devices. The cases have to withstand at least 1-3 years in mildly harsh Canadian conditions (-20c for about 2-3 weeks every winter) which requires some more testing to protect against.

So, after 150+ versions I am finally ready to print 42 Flood Dog Project Cases. Let the games begin!

1 Like

I have no doubt in your case… that thing looks great. I appreciated the hammer stress test you put it through previously! That’s great! I was thinking maybe right here:

As it’s skinny with what looks to be only a few perimeters wide and might be a stress point. Just speaking in my experience. Although I also don’t have any experience with ASA, I do everything in PETG. That said, as long as that cable doesn’t get knocked or pulled or the thing hit somehow, I would think you’d be fine!

Happy Printing! Looks like an awesome project!

Thanks for the feedback; shear points such the one you indicate are a problem. I often add a chamfer or fillet to an edge so that the base of a join is slightly ‘buttressed’. In this case the thread would make that hard so I left it a clean extrusion.

What I am relying on is the fact that the cable gland is tucked in behind the bottom cap and therefore greatly protected on most sides from tangential blows. In the next design - where I don’t have to match the dozen cases I have already printed - I have incorporated the threaded cylinder into the Top of the case. That makes the cap the only exposed stress point and it will be lower so even more protected by the Bottom part!


Because I am not Stefan from CNC Kitchen, I decided to try showing the case from a balcony to the cement patio ground.

The first toss hit an Aluminium table. The second toss landed and bounced into the stream.

The results are encouraging. The direct table hit on edge only dented the side where the strap through holes are - arguably the weakest point on the case. The second toss only caused a mild scrape across the side! Otherwise, apart from the jarring impact, the Boron and Carrier Board would be completely protected.

Using ASA has been a surprising treat - it is so strong and not very hard to print once setup - easier than PETG in some ways. So my conclusion is that unless someone is trying to destroy the Project Case it’s a pretty solid design.


Impressive effort on getting the case and glands 3D printed. Thank you for sharing.
I am curious about the robustness tests you are doing on the case. It’s great that it survives the hits, but I wonder what happens to the electronics. For example, the EL cap on the carrier may sheer off the PCB. The Boron is probably not tested for such g forces.
I don’t know the application’s requirements, so you probably thought of this already.