Dev board enclosure maker
Printable two-part case for a Pi, Arduino, ESP32 or your own board
Screenshot of the tool as it opens; it is a real capture, not a mockup.
Thanks, your report was sent.
Report a problem or a newer version
What it makes
Two binary STLs in millimetres: a base with rounded corners, standoffs sized for M2, M2.5 or M3 heat-set inserts or self-tapping screws (or cradle clips for boards without holes), and port openings placed from the board's layout; and a lid with a snap-fit lip or screw holes, optional vent slots and your own cutouts, already turned over for printing. Ports that stick out past the wall get open-top slots so the board drops in, and tabs on the lid fill them. A design JSON records every setting.
How to use it
- Pick a board. The Raspberry Pi 4 is the default; Custom board starts from a blank outline.
- Check the board against the real thing with calipers, and fix anything under Board data: outline, holes, ports and tall parts.
- Set the wall and floor thickness, clearance, room above the tallest part and standoff height, then choose the screw size and whether it goes into inserts or self-tapped holes.
- Turn ports on or off and adjust their openings; add buttons, LEDs or cable glands under Extra cutouts.
- Choose a snap-fit lip or screw posts, vents and wall-mount ears, then your printer and nozzle.
- Clear anything red in Checks, then download the base STL, the lid STL and the design JSON.
Build notes
- Board presets follow the makers' mechanical drawings where they exist (Raspberry Pi, Pico datasheet, Arduino reference, Feather spec, Espressif guide). Hole patterns are firm; some jack and header positions on the Uno, Feather and DevKitC are approximate. Measure yours.
- Hole sizes: inserts M2 3.2 mm, M2.5 3.6 mm, M3 4.0 mm; self-tapping pilots M2 1.6 mm, M2.5 2.1 mm, M3 2.5 mm. Printed holes run small, so test one.
- The wall check takes line width as 1.125 × the nozzle and wants at least two lines.
- Geometry is built with @jscad/modeling (MIT), then welded and checked so every edge is shared by exactly two faces.
- Works fully offline once opened; nothing is fetched.