Record Accepted PCB Placement And Fit

Align component groups, repair affected routing, and add preservation
audits.
Assign the confirmed U2 footprint and update pull-ups to 2 kΩ across
design files.
Document user acceptance, switch to an A3 worksheet, and refresh PCB
exports.
This commit is contained in:
2026-09-22 10:28:08 +02:00
parent 901afbe754
commit c257158ada
42 changed files with 29500 additions and 17205 deletions
+58 -43
View File
@@ -10,11 +10,26 @@ See **[pcb-draft-notes.md](../../docs/devel/hardware/PCB/pcb-draft-notes.md)** f
mechanical assumptions and validation. A review drawing is `pcb-placement-draft.pdf`.
The schematic contains the complete ESP32 development-board interface, MAX3243
breakout logic interface, I²C OLED, three Omron B3F-1000 buttons and three 2.2 kΩ
breakout logic interface, I²C OLED, three Omron B3F-1000 buttons and three 2 kΩ
button pull-ups. USB connectors, regulator, reset/boot circuit, DE-9 and MAX3243
charge pump are already on their respective modules and are not duplicated on
the carrier. All 3.3 V and ground connections are explicit named nets.
## Current user acceptance and placement
See [user-acceptance.md](../../docs/devel/hardware/PCB/user-acceptance.md) for the exact group placements, nominal body clearances and evidence limits. Common body centreline is carrier-local X=56.970 mm; resistor bodies are centred in the RS-232/OLED gap with 2.0815 mm nominal clearance to each PCB. U1, U2, outline, carrier holes and USB placement are unchanged. R1–R3 are purchased 2 kΩ 1% metal-film parts; Omron B3F-1000 switches are also purchased.
The user accepts visual fit/USB clearance, male module mapping, M3 carrier/daughterboard and M2 display hardware, current RF reserve and power/ground routing. Intended/reported assembled module elevation is 10 mm, not an independently verified sum of the 8.5 mm female and described 2.5 mm male contributions. USB nonisolation is accepted; backfeed safety, regulator margin and RF qualification are not established. OLED backside pull-ups are confirmed by user, but their values/rail are unmeasured. Earlier pending-status language below is historical where superseded by this record.
PCB presentation uses **A3 landscape (420 × 297 mm)** instead of A4; the
carrier stays at absolute X=100…182, Y=100…180 mm. No origin, footprint,
routing or zone was moved. The 1:1 placement PDF includes the worksheet/title
block, clear of the PCB; `validation/pcb-placement-page.png` previews the full
page. Print at actual size on A3 for the 1:1 fit check, not “fit to A4”.
`update_presentation.py` removes the accepted USB/geometry/pinout/assembly
pending labels with lock/concurrent-edit guards and an exact-content audit.
RF qualification and connector/case-cutout cautions remain.
## Files and use
| File | Purpose |
@@ -76,12 +91,11 @@ modify footprints. The generated KiCad files are the editable design artifacts.
matching board markings. This is photo/label evidence, not a continuity test:
verify actual pin-to-function mapping before release, especially on clones.
- DS1 pins 1–4 are GND, VCC, SCL, SDA, front/display view with header at top.
- U2 pin numbering follows published Adafruit **5988 female** CAD as a provisional
reference for the selected **6253 male** module. Its footprint is deliberately
**unassigned in the schematic** until the actual male header and mechanics are
verified. The PCB draft assigns `Carrier:MAX3243_Reference_Provisional` on the
PCB only, causing one documented footprint-parity warning. Its reference nets
are routed for review, not male-board qualification. See [adafruit-research.md](../../docs/devel/hardware/PCB/adafruit-research.md)
- U2 pin numbering follows published Adafruit **5988 female** CAD for the selected
**6253 male** module. The user confirmed the same pinout, header mapping and
footprint as the reference. Both schematic and PCB now assign
`Carrier:MAX3243_Reference_Provisional`; clean footprint parity is required.
The identifier is unchanged; this assignment is not hardware or fabrication qualification. See [adafruit-research.md](../../docs/devel/hardware/PCB/adafruit-research.md)
and [pcb-draft-notes.md](../../docs/devel/hardware/PCB/pcb-draft-notes.md); this is not a generic DE-9 footprint.
- No-connect crosses mean unused on the carrier, not disconnected internally.
Native USB GPIO19/20, UART0 GPIO43/44, memory-conflicting GPIO35–37 and the 5 V
@@ -92,8 +106,8 @@ modify footprints. The generated KiCad files are the editable design artifacts.
bidirectional pad; firmware **must use open-drain mode** for OFF. ERC does not
enforce that configuration or model the breakout's internal OFF pull-up.
- Selected buttons are Omron B3F-1000 with their verified KiCad THT footprint.
Added R1–R3, **2.2 kΩ, 1%, at least 0.125 W**, from each button input to 3.3 V.
They provide nominal 1.5 mA contact current / 4.95 mW dissipation while pressed,
Added R1–R3, **2 kΩ, 1%, at least 0.125 W**, from each button input to 3.3 V.
They provide nominal 1.65 mA contact current / 5.445 mW dissipation while pressed,
rather than relying on the internal pull-up for the silver-contact rated load.
Firmware's internal pull-ups and debouncing remain enabled; no firmware changes
are required. Final supply tolerance/load budget still needs checking.
@@ -118,9 +132,9 @@ the user. This does **not** validate connector drills, male RS-232 geometry,
electrical operation, power budget, procurement or fabrication.
The routed PCB draft has **0 physical DRC violations and 0 unconnected items**;
a fresh netlist-to-PCB check passes. One deliberate U2 footprint-parity warning
remains (PCB reference footprint versus blank schematic assignment). No added
DRC exclusions hide this warning. Missing courtyards are ignored by default DRC
a fresh netlist-to-PCB check passes with **zero schematic-parity issues**,
including the user-confirmed U2 footprint assignment. No DRC exclusions were
added. Missing courtyards are ignored by default DRC
and remain a manual release check. Run `/usr/bin/python3 -B
hardware/PCB/validate_pcb_draft.py` from the repository root; see
[pcb-draft-notes.md](../../docs/devel/hardware/PCB/pcb-draft-notes.md) for the complete verification scope and remaining gates.
@@ -133,10 +147,10 @@ Repository sources: `../../docs/wiring.md`, `../../src/board_pins.h`,
| Assembly | Repository identification | Footprint status |
|---|---|---|
| ESP32 development board | User confirmed HW-678 V0.0.0 markings and S3-N16R8 shield, two USB-C ports | Two 22-pin rows; nominal 2.54 mm pitch and 25.40 mm row spacing supported by simultaneous breadboard fit. Mechanical outline registration and socket/drill selection remain pending. |
| RS-232 module | Adafruit MAX3243 full-pinout breakout; male is product 6253, female is 5988 | Eagle pin map/PCB geometry and STEP metal dimensions extracted. User confirms identical male/female external dimensions; actual fit and male electrical map remain release checks. Reference footprint used on PCB only. |
| ESP32 development board | User confirmed HW-678 V0.0.0 markings and S3-N16R8 shield, two USB-C ports | Two 22-pin rows; nominal 2.54 mm pitch and 25.40 mm row spacing supported by simultaneous breadboard fit. Measured planar outline and visual fit accepted by user; finished-hole process remains unqualified. |
| RS-232 module | Adafruit MAX3243 full-pinout breakout; male is product 6253, female is 5988 | Eagle pin map/PCB geometry and STEP metal dimensions extracted. User confirms identical male pinout/header/footprint, visual fit and pin-by-pin review. Reference footprint assigned in schematic and PCB. |
| Display | 128×64 yellow/blue I²C OLED, address 0x3c; Amazon ASIN B0F13SSSFB | 26 mm square board, 22.50 mm hole spacing, Ø2 mm holes and centred header 1.50 mm from top edge are user-fit-verified. Local footprint assigned; header pad/drill selection remains provisional. |
| Three buttons | Omron B3F-1000; previous, select, next; normally open to ground, active low | Datasheet and `Button_Switch_THT:SW_TH_Tactile_Omron_B3F-100x` pad mapping verified. External 2.2 kΩ pull-ups included. Live distributor stock remains unverified. |
| Three buttons | Omron B3F-1000; previous, select, next; normally open to ground, active low | Datasheet and `Button_Switch_THT:SW_TH_Tactile_Omron_B3F-100x` pad mapping verified. Purchased per user; external purchased 2 kΩ 1% metal-film pull-ups included. |
Adafruit manufacturer CAD starting point:
https://learn.adafruit.com/adafruit-rs-232-full-pinout-level-shifter-breakout/downloads
@@ -147,8 +161,9 @@ The original files and CC BY-SA 3.0 notices are retained in `reference/`; they
remain under their upstream license. Omron reference documents retain their
manufacturer notices. The CAD-parts repository's STEP and MIT license are separately
retained under `reference/db9-cad/`. External metal geometry is used for the male
module on the user's explicit equivalence confirmation; this does not validate
its electrical map, connector threads, tolerances, assembly fit or case cutout.
module on the user's explicit equivalence confirmation. The user separately
confirmed electrical mapping and visual fit; connector threads, tolerances and
final case cutout are not independently qualified.
## Verified logical connections for the existing firmware profile
@@ -181,11 +196,11 @@ The wiring guide warns that compatible ESP32 boards may have different layouts.
- Keep UART0 / GPIO43 and GPIO44 available through the onboard USB-UART bridge.
- Reserve GPIO19 and GPIO20 for onboard native USB.
- Existing firmware profile powers RS-232 Vin and OLED VCC from 3.3 V, not 5 V.
- Confirm the exact development board's regulator capacity and USB power-path
behavior before finalizing the power design, especially with both USB ports attached.
- Display pull-up presence, resistance and termination rail must be checked on
the actual module. Do not select external pull-up values without this information.
- Firmware enables internal button pull-ups; this carrier additionally uses 2.2 kΩ
- User reports successful 3.3 V module operation and accepts nonisolated USB power.
Regulator margin and USB backfeed safety remain unverified, especially with two powered hosts.
- User confirms backside OLED I²C pull-ups and operation without extras.
Resistance and termination rail are unmeasured; no external values are invented.
- Firmware enables internal button pull-ups; this carrier additionally uses 2 kΩ
external pull-ups for the selected buttons' contact-current requirement.
- RS-232 OFF uses the breakout's onboard pull-up; GPIO9 releases it to enable.
- The breakout is not galvanically isolated; signal grounds are common.
@@ -198,17 +213,18 @@ The wiring guide warns that compatible ESP32 boards may have different layouts.
- OLED purchase: https://www.amazon.de/dp/B0F13SSSFB — I²C, not SPI.
- Both Amazon URLs returned an access-check page on inspection; the ASINs alone
do not establish a verified manufacturer drawing or footprint.
- Use the male Adafruit breakout. User reports male/female board dimensions match;
verify the selected male board against its manufacturer CAD.
- Use the male Adafruit breakout. User confirms dimensions, pinout/header/footprint
equivalence and completed a pin-by-pin module connection review.
- Carrier for complete modules: soldered module headers for final assembly,
sockets for beta testing without a case. Header pitch, row spacing, drill size
and socket clearance must be validated against selected hardware.
- Power only through the ESP32 development board's USB connectors, typically a
powerbank or the serial peer's USB port, with common ground. Do not introduce
another carrier power input or assume simultaneous USB supplies are isolated.
- Select readily available THT buttons; the existing random switches need not be reused.
- Case will be 3D-printed after PCB finalization. Include mounting provisions in
the layout, but screw size, hole diameter and insert bosses are not yet selected.
- User purchased Omron B3F-1000 THT buttons and 2 kΩ 1% metal-film resistors.
- Case will be 3D-printed after PCB finalization. User approves M3 carrier holes,
10 mm brass standoffs into heat inserts, M3 daughterboard screws and M2 display
hardware. Exact insert/boss dimensions and screw lengths are not supplied.
## User-supplied mechanical evidence
@@ -233,7 +249,7 @@ The wiring guide warns that compatible ESP32 boards may have different layouts.
- 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.
User accepts USB placement and mating-plug clearance visually; shell depth/height 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
@@ -271,20 +287,19 @@ The wiring guide warns that compatible ESP32 boards may have different layouts.
Crosshairs denote header centres, not specified pad or drill diameters. This
template is not a KiCad footprint or a fabrication file.
## Remaining mechanical/electrical checks
## Current acceptance checklist and evidence limits
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. 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.
- [x] Component dimensions and visual physical fit accepted by user, including USB placement/clearance and RS-232 prong clearance.
- [x] Male Adafruit pinout/header/footprint equivalence and pin-by-pin module connection review confirmed by user; existing U2 schematic assignment retained with clean parity.
- [x] M3 carrier holes, 10 mm brass standoffs into heat inserts, M3 daughterboard screws and M2 display hardware approved.
- [x] Omron B3F-1000 and 2 kΩ 1% metal-film resistors purchased per user.
- [x] Existing 3.3 V supply operation and OLED onboard pull-ups reported; no extra I²C pull-ups needed in reported operation.
- [x] Nonisolated USB power, existing RF reserve and power/ground routing accepted by user.
- [ ] Independently verified regulator margin, USB backfeed safety, OLED pull-up resistance/rail and manufacturer RF/EMC qualification are not available.
- [ ] Detailed fastener lengths/insert dimensions, final case cutout, tolerance/height envelopes and fabrication-process qualification remain outside this acceptance.
The native schematic, local libraries and routed two-layer PCB draft are present.
Before fabrication, finish the above checks, qualify the male RS-232 module map
and footprint, and confirm procurement. The carrier now proposes an 82 × 80 mm
stepped outline and four Ø3.2 mm M3 mounting holes; case hardware is not yet fixed.
The PCB's RF reserve is a draft design allocation, not a verified module antenna
keepout. Module/USB/DE-9 clearances must still be established from actual hardware.
The intended/reported 10 mm assembled elevation is not independently measured;
8.5 + 2.5 = 11 mm is not evidence of actual mated height. User acceptance closes
the corresponding review gates, not these factual evidence limits. Missing
module courtyards still limit automated assembly checks. No new hardware tests,
firmware changes, Gerbers, order or certification are implied.