An outdoor enclosure for the two-board receiver: two Seeed XIAO ESP32-S3 modules side by side on one carrier PCB, fed by a single USB. Parametric source in three variants — on-board antenna, external dipole, and a vertical wall-mount — so you can change the parts that depend on how yours is put together.
Nobody has printed this yet. The geometry is verified —
both meshes are watertight and the dimensions check out — but it has never come off a
bed, and one number in it is a guess. comp_h is set to 12 mm and
should be the height of the tallest parts on your populated carrier — the USB-C
housings and the through-hole pin tails usually win, not the modules. Measure it with
calipers and set it before printing.
Three variants of the same 60 × 30 mm carrier box. Print the base and lid; the source is there if you want to change a dimension.
On-board antennas radiating through the front wall. Start here.
Two tilted SMA bulkheads on the back wall for screw-on 2.4 GHz dipoles, spaced apart to cut BLE/Wi-Fi desense — the higher-gain option.
The dipole box with its mounting ears on the front face, so it hangs flush on a wall with the drain still at the true low point.
The dipole box reclined on a wedge foot so it sits on a window sill — antennas up-and-out, accessible USB-C for power, no mount or weatherproofing.
Change a dimension in the source and re-export a part (swap in the dipole or wall-mount source the same way):
openscad -D 'part="base"' -o base.stl cielotrack-carrier-case.scad openscad -D 'part="lid"' -o lid.stl cielotrack-carrier-case.scad
Not PLA. An enclosed box in direct sun passes PLA's softening point and sags; this one lives outdoors in Texas. ASA if it is in full sun, for the UV.
Never carbon-filled filament. Carbon fill is conductive and will detune or shield the antenna. That is the worst kind of failure here, because nothing looks wrong: the board boots, reports healthy, and quietly hears less than it should.
Three perimeters at a 0.4 mm nozzle matches the 2.4 mm walls. No supports needed — the openings are all on vertical faces.
| Feature | Reason |
|---|---|
| Antenna bulkhead on a 35° boss | Signal at this site peaks around 30–40° of elevation and falls away on both
sides, so an antenna forced vertical points above where the aircraft are. The boss
also gives the nut a flat face to seat against, and a hole that is not horizontal
does not collect water. It is one parameter — sma_tilt — and most
rubber-duck antennas hinge at the base anyway. |
| One tall USB slot, not two ports | The boards are stacked, so their USB-C connectors sit one above the other at the same end. A single slot reaches both and cannot misalign with either. They are flashed one at a time, and with the 5 V rails linked they must never both be plugged in at once. |
| Vents low on the sides, drain at the bottom | Nothing open faces upward. Condensation kills more outdoor electronics than rain does, so it needs somewhere to leave. |
| Mounting ears outside the box | So no screw passes through the sealed volume. |
| 18 mm of slack for the pigtail | 1.13 mm coax is lossy at 2.4 GHz and unhappy about tight bends. Short lead, gentle loop. |
Two boards, three conductors: data on D9 to D10, a shared
ground, and UUSB linked so one USB supply runs the pair. A keyed 3-pin
connector — JST-XH suits the 2.54 mm pitch — matters more once the 5 V rails
are tied, because a reversible plug can put 5 V on the data pin.
Confirm continuity from the USB connector's 5 V to the
UUSB pin with a meter before relying on it.