Files
ESP32_Serial_Swiss_Army_Knife/hardware/PCB/db9-mechanical-notes.md
T
Commander1024 c0f7a1ad51 Integrate A1 carrier PCB CAD updates
- Add pinned STEP-derived DE-9 mechanical measurements and provenance
- Refresh placement, routing, silkscreen, and nominal CAD envelopes
- Document provisional dimensions, assumptions, and validation status
2026-09-21 12:31:24 +02:00

15 KiB
Raw Blame History

DE-9 mechanical reference — pinned Adafruit 5988 STEP

Research: 2026-09-21. Nominal CAD geometry, not a toleranced connector drawing or physical fit qualification. No board, schematic, footprint, application dependency or main README changes.

User-confirmed assumption: male and female modules have identical external dimensions; use the external geometry below for mechanical planning of the male module on that basis. This is not independent male-CAD verification and does not verify the male pin map. The source explicitly identifies DE9-F / F09HP (5988). Do not infer contact numbering from gender, the model, or the front view.

Sources, attribution and licensing

Original SHA-256
5988 RS-232 Level Shifter.step 8eab9dc591a985fc987ceec2d7534e5e259263c73bebc64c0c3cd847e135906f
LICENSE f60436644e066301d4c2e8f1f0674a157b1f60e4fd5586717b99dde255cc18cd
README.md 9ed9beac7600623b7b9bd0d02e1fdcd86610ce22966723179e6c6b618e399dce

The CAD repository root license is MIT, Copyright (c) 2016 Adafruit Industries; root README merely describes STEP/Fusion/STL parts. No part-specific license file is present in the four-file directory. Retain the original MIT notice and warranty disclaimer with redistribution. This assessment follows the repository's stated license, not an independent audit of any imported vendor geometry. F3D, STL and JPG were listed but not downloaded or used; no image-derived dimensions or mesh fallback were needed.

The separate Eagle board reference is from Adafruit-RS-232-Level-Shifter-Breakout-PCB, commit 63c6200bb3ef17d491089cfa6441b1810d79bb20; its local .brd hash was rechecked (6a7b35ef909f5a2d243c326c34db3957aaa01275bf2aac8e0c749ff18162e870). Eagle-derived registration/hole information is attributed to Limor Fried/Ladyada for Adafruit Industries, under CC BY-SA 3.0 Unported; retain reference/README.md and reference/license.txt. The Eagle-derived portions of these notes use that license. Do not silently substitute the CAD-parts repository's MIT license for the Eagle design license.

Extraction method and confidence

Used Python/OpenCascade (cadquery-ocp==7.9.3.1.1) in the isolated project .cache/cad-tools/venv; no application dependencies changed. The initially attempted older OCP wheel was unavailable for this Python; the pinned installed version succeeded.

  • reference/db9-cad/extract.py: STEPControl import with assembly placements applied; BRepBndLib.AddOptimal with triangulation and shape-tolerance enlargement disabled; analytic planes/cylinders via BRepAdaptor_Surface. No tessellation used for measurement.
  • geometry.json: all 15 solids and their faces, bounds, validity, analytic cylinder radii/axes, plane normals. All 15 pass BRepCheck_Analyzer.
  • validate.py: checks original hashes, all 12 header centres against actual Eagle XML, board bounds, mounting holes and selected front-face geometry; writes measurements.json containing explicit face selections and their bounds.
  • For unique PCB/connector bodies, STEP CLOSED_SHELL face order is associated with import face order, checking face counts, every surface type and every cylinder radius. Appearance assignments corroborate feature identification; colour is not a material certification.
  • Imported solid 12 = STEP #101 / Body2, the main connector. It fuses housing/insert, contacts, flange, shell and front hex posts; its whole-solid bounds are not metal-only dimensions. Solids 13/14 = #102/#103 (Body3/Body4), separate anchor brackets.
  • Front shell/flange/hex-post faces have the shared Opaque(245,245,246) appearance and the expected geometric continuity. The report measures those face subsets, excluding plastic, contacts, PCB and ICs. There is no separate hollow metal shell solid from which to certify wall thickness.

High confidence: numerical nominal positions/bounds/radii of identified modeled features and STEP-to-Eagle board registration. Moderate confidence: physical fidelity of the simplified connector model and material boundaries; the contact/tail geometry differs from Eagle. Unverified: manufacturing tolerances, actual purchased-part fit, threads, male electrical mapping, cable/backshell envelope and final enclosure cutout. Extra decimal places below support reproducibility, not manufacturing accuracy.

Coordinate system and orientation

All dimensions are mm. Use (X,Y,Z) in the imported STEP assembly:

  • X rightward in component/top view; Y toward the connector/cable, Z above the PCB.
  • Bare breakout PCB: X 0…31.750, Y 0…29.337, Z 0…1.570. PCB front edge is Y = 29.337; underside is Z = 0, component-side surface Z = 1.570.
  • Logic header hole row: Y = 2.667, X = 1.905 + 2.540 × (N1), N = 1…12. No installed header/socket body is modeled; this is the hole-axis datum, not a plastic-header edge.
  • STEP XY is already Eagle board XY: identity transform, no scale, rotation or translation. Verified by all 12 header holes, both mounting holes and PCB bounds. STEP connector symmetry alone would not establish this registration.
  • Existing carrier footprint coordinates (header pad 1 origin, Y downward): x = X 1.905; y = 2.667 Y. Height above module PCB top: h = Z 1.570. Add the chosen module-top elevation later to get case/carrier height; socket/standoff stack is not yet selected.
  • Connector front/mating approach is along Y, parallel to the PCB, not down into it. A cable approaches from +Y and inserts toward Y. A front view looks along Y with +Z up; +X then appears to the viewer's left, unlike component/top view. Do not reuse top-view left/right pin numbering as front-view numbering.

Metal feature dimensions — selected subsets, not assembly bounds

The Z centre of the D profile and front screw-lock axes is 7.84762024, or 6.27762024 above the PCB top. Connector centre X = 15.875 (carrier-local x = 13.970).

Feature X bounds Y bounds Z bounds Nominal dimensions / evidence
Front metal flange, exposed faces 0.475…31.275 27.007…27.407 1.572620…14.122620 30.800 wide × 12.550 high × 0.400 axial thickness; solid 12 faces 8, 1114
D-shell straight outer wall region 8.035981…23.714019 28.007…32.607 3.897620…11.797620 15.678038 wide × 7.900 high, straight axial length 4.600; faces 1825
D-shell outer surface including root blend and rounded front lip 7.435981…24.314019 27.407…33.207 3.297620…12.397620 16.878038 wide × 9.100 high × 5.800 axial extent; faces 1825, 8188, 103110
Left front hex screw-lock post 0.719189…6.030811 27.407…32.207 5.547620…10.147620 4.600 across flats, 5.311622 across corners, 4.800 long; faces 5361, 89
Right front hex screw-lock post 25.719189…31.030811 27.407…32.207 5.547620…10.147620 Same dimensions; faces 6270, 90

The flange is centred laterally on the PCB, inset 0.475 from each side. Its lower edge is only 0.002620 above the modeled PCB top, upper edge 12.552620 above it. Preserve this tiny source offset in registration; do not interpret it as a designed assembly clearance.

The D-shell has sloping side planes at 10° from vertical in the front cross-section (|normal X| = cos 10°, |normal Z| = sin 10°), corner-cylinder radii 1.700, root/lip rounding radius 0.600. The wider side is upper (+Z). The maximum 16.878038 × 9.100 envelope occurs at the root blend, not uniformly along the projecting nose. These are bounding dimensions of a D shape, not a rectangular cutout prescription. Shell wall thickness / actual hollow cavity geometry is not verified by this fused representation.

Front cable screw-lock holes: actual modeled cylinders, not thread specifications

  • Axes parallel to Y, at (X,Z) = (3.375,7.84762024) and (28.375,7.84762024).
  • Axis spacing = 25.000, symmetric ±12.500 about X = 15.875.
  • Carrier-local axis x = 1.470 and 26.470; post front plane y = 29.540.
  • Solid 12 faces 60 / 69, raw STEP faces #13822 / #13831, are inward-facing cylindrical hole surfaces: radius 1.500, diameter 3.000, Y = 27.407…32.007 (straight cylindrical length 4.600).
  • Mouth cones (faces 89 / 90) run Y = 32.007…32.207, growing to diameter 3.400 at the front: 0.200 axial × 0.200 radial chamfer. Front mouth plane Y = 32.207.
  • Flat modeled bottoms at Y = 27.407 (faces 61/70): total modeled mouth-to-bottom depth 4.800 including chamfer.
  • No helical threads modeled. Do not call this M3, 4-40, a tap drill, minor/major thread diameter, or usable engagement depth. Actual screw standard, pitch, engagement and tolerances require a connector drawing or physical check.

Front planes, PCB overhang and header offsets

There is no single interchangeable “front plane”. The flange, hex-post mouth and shell lip differ. The shell's foremost geometric plane is a useful mating-face reference, but the source does not establish a manufacturer's functional fully-mated datum or panel seating specification.

Reference plane STEP/Eagle Y Forward of PCB front edge Y=29.337 Forward of header row Y=2.667 Carrier-local y
Flange rear face 27.007 2.330 24.340 24.340
Flange front face / shell root 27.407 1.930 24.740 24.740
Straight shell begins 28.007 1.330 25.340 25.340
Breakout PCB front edge 29.337 0 26.670 26.670
Front hex-post mouth faces 32.207 +2.870 29.540 29.540
Straight shell ends / rounded lip begins 32.607 +3.270 29.940 29.940
Foremost shell lip / modeled insert face 33.207 +3.870 30.540 30.540

Thus the modeled shell nose projects 3.870 beyond the breakout PCB; the hex posts project 2.870, ending 1.000 behind the shell nose. The flange itself is 1.930 behind the PCB front edge. Do not position a case wall at the flange while ignoring that the PCB extends 1.930 beyond it.

For later unrotated, component-up carrier placement with header pad 1 at (x0,y0):

  • Breakout front edge: y0 26.670.
  • Flange front: y0 24.740.
  • Hex mouths: y0 29.540.
  • Shell nose: y0 30.540.
  • If the breakout PCB front edge is aligned with carrier top edge ytop, choose y0 = ytop + 26.670; shell nose is then at ytop 3.870, hex mouths at ytop 2.870.
  • If instead the shell nose is aligned with that edge, choose y0 = ytop + 30.540; breakout front edge is then 3.870 inward. These are different choices, not a recommended final layout.

Three distinct mechanical systems — do not interchange

System Axes / coordinates Spacing Diameter or geometry Purpose
Front cable screw-lock holes Y axes; X 3.375 / 28.375, Z 7.847620 25.000 Modeled bore Ø3.000, mouth Ø3.400; no thread qualification Retain mating cable at connector front
Breakout PCB mounting holes Z axes; (3.810,11.430) / (27.940,11.430) 24.130 Eagle drill Ø3.000 / plated copper Ø3.600; STEP hole cylinders Ø3.000 Mount module to carrier/standoffs
Connector shell/anchor PCB holes G1/G2 Z axes; Eagle (3.3528,17.907) / (28.3972,17.907) 25.0444 Eagle drill Ø3.302 / copper Ø5.080; STEP rounds X to 3.353 / 28.397 Receive connector anchor legs, not carrier mounting or cable screws

Separate metal anchor brackets and underside clearance

Solids 13/14 represent the bent anchor brackets/legs, not the front hex posts. Per bracket whole-solid bounds (leg-only components, not whole assembly):

  • Right: X 25.875…30.875, Y 17.907…24.307, Z 2.230…10.122620.
  • Left: X 0.875…5.875, same Y and Z.
  • Each bracket envelope: 5.000 wide × 6.400 deep × 12.352620 high. Bent sheet regions are 0.500 thick; the lower two fingers occupy Y = 17.907…18.407, not a circular screw shank.
  • Tips reach 2.230 below the module underside, i.e. 3.800 below the module top. This needs carrier/case underside clearance; do not turn these bounds into a mounting-hole drill recommendation.
  • Bracket symmetry centres X = 3.375 / 28.375, lower sheet midplane Y = 18.157. Relative to Eagle G1/G2, centre offsets are respectively +0.0222 / 0.0222 in X and +0.250 in Y. These are source-model differences, not a reason to move the Eagle pads.
  • Main fused body's signal tails separately reach Z = 1.607380. Their modeled rows are Y = 16.467 / 19.307, versus Eagle 16.637 / 19.177; horizontal pitch also differs (model 2.770 versus Eagle 2.7432). The 3D model is not suitable as electrical pin/drill authority.

No complete all-metal rear housing reconstruction is claimed: only the explicitly selected front surfaces and separate anchor brackets above. Main solid 12's 30.800 × 18.200 × 15.730 bounds include plastic/contact tails and must not be relabeled as a shell-only envelope.

Validation, reproduction and release boundary

From project root:

.cache/cad-tools/venv/bin/python -B hardware/PCB/reference/db9-cad/extract.py
python3 -B hardware/PCB/reference/db9-cad/validate.py

Both successfully ran; validation reported PASS for original hashes, 15 valid solids, all 12 Eagle header centres, PCB bounds, mounting holes, metal-appearance subsets and front lock cylinders. Extraction artifacts retain unrounded floating-point values. No firmware build, board DRC, hardware measurement or physical mating test was performed (research-only task).

Ready for nominal placement planning: metal flange dimensions, shell outer envelope, front hex-post dimensions and bore geometry, their distinct front planes, 25.000 front-axis spacing, PCB/header registration and overhang, anchor-leg underside extent. The A1 PCB now aligns the breakout front edge with the carrier top edge. Nominal metal bounding projections and screw-lock axes appear on Dwgs.User; companion layout/footprint notes have been updated. Neither projection nor nominal bound is an enclosure cutout or clearance qualification.

Before fabrication / final case design: verify actual male pin map; check physical connector profile and overhang against these nominal values; select header/socket and standoff heights; establish manufacturing/assembly clearances, cable backshell/tool access, wall thickness and cutout shape; verify thread standard and retention; perform a 1:1 fit/mating check. In particular, do not use exact-fit nominal bounds as an enclosure clearance or assume the CAD's Ø3.000 lock bore specifies a real screw thread.