(edit 1/27/2019, Improved components: Latch Arm v2.stl is slightly longer, making it easier to open. Latch cam v2.stl is now symmetric, but functionally identical. New type of hinge; hinge_single_axis.stl, if you use this, only the top half of the hinge will open, making the box less floppy when it is open. Added assembly diagrams.)
(edit 3/10/2019, I've have made the lugs tougher by adding more material on the outside of the screw holes, roughly doubling the thickness there. This should also help them print better by avoiding very short extrusions. Only the boxes changed, the fixtures are the same. f3d files are also updated. I've also put the old f3d files back, since they behave a bit differently when out of range parameters are put in, see the comments for more detail.)
(edit 3/24/2019, I've added an f3d file for customizing the o-ring.)
This is a rugged box with hinges and latches. It can be made waterproof by printing a seal in flexible filament, such as TPU, or by cutting a large 2mm thick o-ring to the appropriate length. (There is also a version without the seal ring.)
The latches and hinges are held in place with 20mm M3 screws. You need 8 screws in total. The hinges are springy, so they apply static pressure to the seal when the box is closed. There are two types of latch, one is a simple clip, the other is a two part mechanism which acts as a cam, which can apply significant static pressure to the seal. You can swap out the latches after assembly, so you can try both and choose which you prefer.
Here is a video of the latch operation:
You can adjust how tight the mechanism is by scaling the x&y size of the latches or hinges in your slicer, (a change of 2% is enough to make a significant difference). There are also two thickness options for the seal. The thinner one takes less force to close, and should be good for keeping dust and spray out. By using the thicker seal and tight latches, this can be made waterproof. I printed this with three perimeters, the thick seal, and tight latches, then submerged it under 10cm of water for 10 minutes, without any leakage. (With to thinner seal about 10ml of water leaked in during the same test, so it is still pretty good.)
Printing the box:
I recommend 3 perimeters to improve the strength of the walls. Use 5 or more top and bottom layers to ensure it is water tight, and at least 30% infill to give the bottom and top strength. Both PLA and PETG work well.
Printing the latches and hinges:
Use three perimeters and >30% infill. I recommend using PETG, but I also tested PLA. PLA works fine after printing, but there is a risk it will creep over time, making it looser and degrading the quality of the seal. I suggest printing both the provided sizes at first, so you can decide how tight/loose you want the closure to be.
Printing the o-ring:
The challenge here is making sure it is compliant enough to form a good seal. I used TPU with 1 perimeter and no infill, (there is a cross section photo above). Make sure you are not under-extruding, or water could leak through the printed seal itself. A very smooth bed, such as glass, will help get a good seal.
Orient the hinges and latches according to the cross-section images, be careful to line up with the hole in the latch and the hole on the opposite side. If you are using an electric screwdriver, go slowly or you might melt the holes with friction. I recommend installing the seal with the domed surface (top) facing into the groove, and the flat surface(base) exposed.
You cannot scale the box directly in your slicer, or the screw holes will no longer be correct. I have included the fusion 360 f3d archive files.These are parameterized, so you can adjust the size by changing the Length, Width, and Height parameters. You can also edit the "Path" sketch to make non-rectangular boxes. You could also add more tabs if you need more hinges or latches. There are two versions of the f3d files, the "low height" one has slightly different filleting on the tabs. Use this if you want to use heights below 38mm.
Enjoy, and please share any customizations you make.