Integrate Measured ESP32 PCB Geometry

- Add measured F.Fab bounds and USB mouth markers
- Add guarded preservation and regression validation
- Refresh review exports and remove draft presentation labels
This commit is contained in:
2026-09-21 22:54:37 +02:00
parent ab6a8010ba
commit 901afbe754
25 changed files with 20490 additions and 850 deletions
+25 -6
View File
@@ -26,8 +26,11 @@ the carrier. All 3.3 V and ground connections are explicit named nets.
| `validation/pcb-draft.png`, `validation/pcb-draft-3d.png` | Copper/fab preview and carrier-only 3D render |
| `validate_pcb_draft.py` | Fresh schematic-to-PCB net checks, bounds/layers and DRC/parity report |
| `generate_pcb_draft.py`, `route_pcb_draft.py` | Optional destructive-regeneration tools with explicit overwrite guards |
| `add_device_silkscreen.py` | Refresh board-local OLED/RS-232 outlines and ESP32 header guides after placement/routing; preserves copper and project settings |
| `add_device_silkscreen.py` | Refresh board-local OLED/RS-232 and measured ESP32 outlines/USB mouth markers after placement/routing; preserves copper and project settings |
| [db9-mechanical-notes.md](../../docs/devel/hardware/PCB/db9-mechanical-notes.md), `reference/db9-cad/` | STEP-derived metal dimensions, originals, source licenses and repeatable extraction/validation |
| `update_u1_graphics.py`, `validate_u1_update.py` | Guarded measured-U1 graphics integration and exact pre-update preservation / geometry / silkscreen regressions |
| `export_placement_pdf.py` | 1:1 PDF from saved board geometry; refuses stale embedded U1 graphics |
| `remove_draft_markers.py` | Guarded presentation-label cleanup with exact-content preservation audit; does not qualify fabrication |
| `add_db9_envelope.py` | Refresh nominal connector metal projections on Dwgs.User; not a case cutout or assembly clearance |
| `Carrier.kicad_sym`, `sym-lib-table` | Project-local module, switch and resistor symbols |
| `Carrier.pretty/`, `fp-lib-table` | OLED/ESP32/RS-232-reference provisional footprints; standard KiCad 10 switch/resistor/mounting-hole library references |
@@ -217,9 +220,24 @@ The wiring guide warns that compatible ESP32 boards may have different layouts.
rows fit a standard breadboard simultaneously without forcing. Use nominal
2.54 mm pitch (53.34 mm over 21 intervals) and 25.40 mm row spacing based on
that fit check, not the raw caliper measurements. Verify with a 1:1 print before fabrication.
- ESP32 seller drawing states 28 mm width and annotates 63 mm length; its 20 mm
arrow is not header row spacing. Antenna extent and header-to-outline offsets
are not fully dimensioned.
- ESP32 actual user measurements supersede the seller's 28 × 63 mm drawing:
main PCB **56.07 × 28.09 mm**, excluding the antenna projection. Top/component
view, antenna up and USB down: antenna projects **6.89 mm** above the main PCB,
inset **5.41 mm left / 5.05 mm right**. Derived antenna width **17.63 mm**,
overall length **62.96 mm**, antenna centre **0.18 mm right** of PCB centre.
- Header end offsets were initially approximately 1.5 mm; user accepted **1.365 mm**
top/bottom to preserve the breadboard-confirmed 53.34 mm span. Left-edge-to-left-row
centre distance is also approximately **1.365 mm**. Preserve 25.40 mm row spacing:
the resulting right margin is **1.325 mm**, not an independently measured offset.
These modelling offsets are not a claim of micron-level measurement accuracy.
- Both USB-C metal shells are **8.87 mm wide**, with opening faces flush with the
main PCB bottom edge. Left shell's outside left edge is **4.16 mm** from the PCB
left edge; right shell's outside right edge is **3.66 mm** from the PCB right edge.
Shell depth/height and mating-plug clearance remain unmeasured.
- The library and routed board's embedded U1 now record these bounds on F.Fab;
USB mouths are width spans only, not complete connector outlines. Measured
board-local silkscreen, 1:1 placement PDF and SVG/PNG/3D previews are refreshed. See
`../../docs/devel/hardware/PCB/footprint-notes.md` for coordinates and limits.
- OLED actual PCB outline measured by user: 26 × 26 mm, superseding the seller's
28.7 × 27.8 mm dimensions. Seller's 4.1 mm height remains unverified.
- OLED front view, connector at top: GND, VCC, SCL, SDA from left to right,
@@ -258,8 +276,9 @@ The wiring guide warns that compatible ESP32 boards may have different layouts.
1. OLED outline, mounting-hole placement, revised header position and display
outline are user fit-verified. Select carrier header/socket pads and drills
from the actual connector drawings.
2. Before final module outlines/courtyards, establish their registration to header
centres, connector overhang and display position from drawings or measurements.
2. ESP32 planar body/antenna bounds and USB mouth positions are now recorded in
the library and embedded board footprint. Verify a 1:1 fit; complete module heights, USB depth/height, mating-plug clearances and
assembly courtyards. Measured antenna bounds do not establish an RF keepout.
3. Verify power-path schematic/regulator capacity and OLED pull-up implementation.
Photos alone do not establish those electrical properties.