Accordion M1 main board — R1. Successor to R0 prototype (id=13). USB-C PD 20V input, TPS259474 E-Fuse protection, regulated outputs 5V/12V/3.3V/2.5V/1.8V/2.5VREF. Module connectors: SO-DIMM (J9), M2 (J15), N-Top (J10/J11/J12), Comtop (J3). I2C bus mux, ADC monitoring, fan control, LED driver, RTC. Hammond enclosure.
Milestones
| Code | Title | Status | Target | Achieved | TC |
|---|---|---|---|---|---|
| MS-001 | Tape-out | achieved | 2026-06-15 | 2026-06-18 | 0 / 3 |
| MS-002 | Bring-Up | marker | 2026-06-29 | — | 0 / 9 |
| MS-003 | Phase 1 Verification | marker | 2026-07-03 | — | 0 / 12 |
| MS-004 | Phase 2 Verification | marker | 2026-07-10 | — | 0 / 21 |
| MS-005 | Batch 1 Order | marker | 2026-07-17 | — | 0 / 2 |
Items (57)
| Code | Status | Severity | Kind | Title | Date |
|---|---|---|---|---|---|
| E-009 | open | warning | notice | M3×16mm N-Top screws cause collisions — length needs evaluation | 2026-06-02 |
| E-031 | open | warning | notice | TPS2373 PG pin unrouted — GPIOs available for future connection | 2026-06-11 |
| E-032 | open | warning | notice | LM76005 PG pin unrouted — GPIOs available for future connection | 2026-06-11 |
| E-057 | open | warning | notice | 1V8 & 2V5 copper routed on GND reference plane — reference-plane discontinuity, defer to R2 | 2026-06-18 |
| E-058 | open | warning | notice | Verify custom-connector LCSC auto-matches J9 / J15 before trusting the order | 2026-06-18 |
| E-012 | open | info | decision | Push button / power-on MCU rejected for R1 | 2026-06-09 |
| E-014 | open | info | decision | 12V rail removed from Accordion M1 R1 — AMENDED by E-025 (rail repurposed to 20V VIN) | 2026-06-09 |
| E-015 | open | info | decision | 7805 retained in R1 — always-on 5V supply for 74HCS74 power latch | 2026-06-10 |
| E-016 | open | info | decision | 5V to RPi: fuse ∥ R147 (two mounting variants) | 2026-06-10 |
| E-019 | open | info | concept | M1 connector — full R1 pinout (44-pin RPi header) | 2026-06-10 |
| E-021 | open | info | decision | decision: Bulk cap replacement: 1× Samsung CL32Y106KCV6PNE per position on VBUS and VPOE | 2026-06-11 |
| E-022 | open | info | concept | Future tech study: ESP32 as power-on / telemetry engine | 2026-06-11 |
| E-023 | open | info | notice | DL-012 RPi header fit — evaluate mechanical retention vs. connector reselection | 2026-06-11 |
| E-025 | open | info | decision | 12V rail repurposed to carry 20V (VIN) — amends E-014 | 2026-06-11 |
| E-027 | open | info | decision | LM76005 CIN: 1× EGP10001944 (10µF/100V) — footprint constrains to single cap | 2026-06-11 |
| E-028 | open | info | decision | TPS2373 CLSA: 62Ω used instead of 63.4Ω for Class 4 classification | 2026-06-11 |
| E-029 | open | info | decision | TPS2373 CLSB: 91Ω used (equivalent to 90.9Ω) for Class 3 dual-event classification | 2026-06-11 |
| E-030 | open | info | decision | TPS2373 AMPS_CTL: 1kΩ 0603 to VSS — auto-MPS enabled as load supplement | 2026-06-11 |
| E-035 | open | info | decision | LM76005 design parameters: feedback, inductor, switching frequency | 2026-06-11 |
| E-048 | open | info | notice | [Accordion M1 R1 — pre-layout review SUMMARY (status of findings)] SUMMARY of the pre-layout schematic+BOM review (board 5, no ODB++). 13 s… | 2026-06-15 |
| E-056 | open | info | decision | Accordion M1 R1 PCBA ordered at JLCPCB (2026-06-17) — order record + BOM near-misses | 2026-06-18 |
| E-037 | closed | blocking | issue | U3 (ECS-3225MV) has wrong EGP in BOM — EGP10000946 belongs to ADS7828 | 2026-06-12 |
| E-001 | closed | warning | notice | [TBD] PoE input strategy decision needed | 2026-06-02 |
| E-002 | closed | warning | notice | [TBD] Push button / power-on MCU decision needed | 2026-06-02 |
| E-003 | closed | warning | notice | [TBD] MCU signals to module slots — routing decision needed | 2026-06-02 |
| E-005 | closed | warning | notice | [TBD] 12V rail inclusion decision needed | 2026-06-02 |
| E-034 | closed | warning | notice | JTAG pins 16/18: TDI=GPIO23, TMS=GPIO24 confirmed correct — Group 5 swap was an error | 2026-06-11 |
| E-038 | closed | warning | notice | C50 voltage rating marginal — 220µF/6.3V electrolytic on 5V rail | 2026-06-12 |
| E-055 | closed | warning | issue | Independent re-verification of the R1 post-layout findings (E-054) — confirms 86/87, finds 1 missed defect: U7.1 floating Schmitt input | 2026-06-16 |
| E-006 | closed | info | notice | REQ-011 implementation: Q8 removed, 5V routed via R147 | 2026-06-02 |
| E-007 | closed | info | notice | REQ-004 implementation: current limit set via R39 = 680Ω | 2026-06-02 |
| E-008 | closed | info | notice | REQ-005 implementation: dVdT ramp component values | 2026-06-02 |
| E-010 | closed | info | decision | PoE input strategy: active PoE 802.3at (45W) retained for R1 | 2026-06-09 |
| E-011 | closed | info | decision | PoE PD controller selected: TPS2373-4RGWR (TI, EGP10001943) | 2026-06-09 |
| E-013 | closed | info | notice | 7805 footprint / part inconsistency suspected — verify before layout sign-off | 2026-06-09 |
| E-017 | closed | info | notice | M1 connector has 12 functional pin assignment errors — scope wider than DL-017 | 2026-06-10 |
| E-018 | closed | info | notice | M1 RPi connector pinout changes — full review required before tape-out | 2026-06-10 |
| E-020 | closed | info | notice | R53 NM for R1 — latch held by R54→VCC; SHDN_N is from PI4IOE (U1), not RPi GPIO13 | 2026-06-10 |
| E-024 | closed | info | notice | Bus routing topology — SPI0 / SPI1 / UART / JTAG to module connectors | 2026-06-11 |
| E-026 | closed | info | notice | RPI_ON net must have a test point in schematic | 2026-06-11 |
| E-033 | closed | info | decision | JTAG TMS/TDI not swapped in R1 — retain old-product/R0 wiring (reverts E-018/E-019 swap) | 2026-06-11 |
| E-036 | closed | info | notice | I2C address 0x0C unresolved — verify device and CH224Q address (0x22 vs 0x23) during netlist review | 2026-06-12 |
| E-039 | closed | info | notice | U17 (LM76005) pins 7 and 23 floating without NC markers | 2026-06-12 |
| E-040 | closed | info | notice | U18 (DS1813R-10) and S3 removed — HRESET_N served no purpose | 2026-06-12 |
| E-041 | closed | info | issue | D3 (DOWO SRV05-4LA) pin 5 is NC by design — not a VRAIL (false alarm) | 2026-06-12 |
| E-042 | closed | info | notice | Schematic R1 out for colleague review — priority focus: M1 RPi pinout & Secondary Power In | 2026-06-15 |
| E-043 | closed | info | notice | ADS7828 (U24) 2 spare ADC channels — connect: board temp (TMP236) + 3V3 monitor | 2026-06-15 |
| E-044 | closed | info | notice | [Accordion M1 R1 — pre-layout schematic walk] Pre-layout schematic+BOM review (board 5, no ODB++ yet). Walked 7 active sheets (1 RPi & Bus,… | 2026-06-15 |
| E-045 | closed | info | notice | U13 (7805) regulates the VIN bus (~21V) down to VCC (5V) — a ~16V linear drop on the always-on rail. Verify before layout: (1) worst-case d… | 2026-06-15 |
| E-046 | closed | info | notice | Layout DRC reviewed (2026-06-15) — no blocking errors; confirm 7 vias-under-SMD-pads before sign-off | 2026-06-15 |
| E-047 | closed | info | notice | J15 (Accordion M2 slot) exposes a VBatt rail (pin 75, fed by a 'VBAT' rail label), but the M1 mainboard has no on-board battery or charger.… | 2026-06-15 |
| E-049 | closed | info | notice | ERC-C01: I2CSEL3 (M1-31, GPIO6) and I2CSEL4 (M1-33, GPIO13) are single-pin nets — the signal names imply intended I2C-mux selection bits bu… | 2026-06-16 |
| E-050 | closed | info | notice | ERC-C08: RPi connector pins M1-1 and M1-17 are inconsistent with the recorded pinout table (E-019 / entry 410) which marks both as '3V3 Pow… | 2026-06-16 |
| E-051 | closed | info | notice | ERC-C02: S2 (push-button PBH2UOANAHX) pins 4, 5, 6 are unconnected in the netlist AND lack the (by TERM) marker that every other intentiona… | 2026-06-16 |
| E-052 | closed | info | notice | ERC-D03: PG5 net (TPS259474 U16-3 Power Good output) is pulled up to 3V3 via R68 10k but has no consumer. The pull-up is wired, but no down… | 2026-06-16 |
| E-053 | closed | info | notice | Schematic PDF (ESH10000597_SCH.pdf, 2026-06-15 export) has inconsistent sheet-count footers: sheets 1-8 read 'SHEET X of 12' while sheets 9… | 2026-06-16 |
| E-054 | closed | info | notice | [design-review summary (R1 post-layout take)] DESIGN REVIEW — Accordion M1 R1, post-layout take (ODB++ + BOM + schematic). Verdict: WARNING… | 2026-06-16 |
Requirements
| Code | Status | Category | Title | Statement | Acceptance |
|---|---|---|---|---|---|
| REQ-001 | approved | Functional | USB-C PD 20V Supply | The design shall accept USB-C 20V PD as primary power input. | VIN at U10 input = 20V ±5% with USB-C 20V supply connected. |
| REQ-002 | approved | Functional | 20V Supply Overvoltage Protection | E-Fuse U10 (VDD) OVLO divider shall be set with trip point >21V. | OVLO does not trip at 20V; U10 output live at nominal input voltage. |
| REQ-003 | approved | Functional | 5V Rail Overvoltage Protection | E-Fuse U16 (5V) OVLO divider shall be set with trip point >5.5V. | OVLO does not trip at 5V; U16 output live at nominal 5V rail. |
| REQ-004 | approved | Functional | 20V Supply Current Limit Protection | E-Fuse current limit (ILIM) shall be set to 5A. | U10 trips at 5A ±10%; verify with load sweep. |
| REQ-005 | approved | Functional | 20V Supply Current Ramp | E-Fuse dVdT ramp shall be correctly configured on all E-Fuses. | Output ramp rate on all E-Fuse outputs verified to be within datasheet specification; confirmed during bring-up verification. |
| REQ-006 | approved | Performance | 5V Rail Load Stability | 5V regulated rail shall be present and stable under load. | 5V rail = 5.0V ±3% from no-load to rated load. |
| REQ-007 | approved | Performance | 3V3 Rail Load Stability | 3.3V regulated rail shall be present and stable. | 3.3V rail = 3.3V ±3%. |
| REQ-008 | approved | Performance | 2V5 Rail Load Stability | 2.5V regulated rail shall be present and stable. | 2.5V rail = 2.5V ±3%. |
| REQ-009 | approved | Performance | 1V8 Rail Load Stability | 1.8V regulated rail shall be present and stable. | 1.8V rail = 1.8V ±3%. |
| REQ-010 | approved | Performance | Precision voltage reference 2.500V | Precision voltage reference shall output 2.500V. | VREF = 2.500V ±0.05%. |
| REQ-011 | approved | Functional | 5V Supply to RPI | 5V shall be routed to the Raspberry Pi. | 5V present at RPi connector; supply path functional. |
| REQ-012 | approved | Interface | RPi Enable Control | RPi 3V3 output (M1 pin 1) shall be routed as net RPI_ON. | Net RPI_ON present in schematic connected to M1 pin 1; routed in layout. |
| REQ-014 | approved | Functional | PoE Input — Active 802.3at (45W) | The design shall support active PoE (IEEE 802.3at Type 2, Class 4) as an alternative power input, providing up to 45W. A PD controller (TPS2373-4RGWR, EGP10001943) shall perform the 802.3at detection and classification handshake with the upstream PSE. The PoE rail shall feed the existing LM76005 buck converter to produce the 20V main bus. | - TPS2373-4RGWR successfully completes 802.3at Class 4 negotiation with a compliant 802.3at switch/injector. - 20V main bus present and within REQ-001 tolerance when powered via PoE only. - PoE input does not interfere with USB-C PD or Phoenix connector input paths. - MON_VPOE rail readable via U24 ADC within ±5% (per REQ-040). |
| REQ-015 | approved | Manufacturing | Bulk capacitors fabricator-compatible | Bulk capacitors shall use a part compatible with the fabricator's assembly process. | Bulk cap part confirmed mountable by fabricator; no assembly issue. |
| REQ-016 | approved | Functional | Push Button Power On/Off | Push button shall toggle system power on/off. | Press button: system powers on (20V supply present). Press button again: system powers off fully (0V). |
| REQ-017 | approved | Functional | Power via pin-strap w/o MCU Firmware | Power enable shall be achievable via pin-strap without MCU firmware. | A defined pin-strap (jumper or resistor strap) bypasses MCU and enables system power for bring-up. |
| REQ-019 | approved | Mechanical | PCBA Enclosure Fit | PCBA shall fit and mount correctly in Hammond enclosure. | PCBA mounts in enclosure with all standoffs engaged; no mechanical interference. |
| REQ-020 | approved | Mechanical | N-Top Mechanical Fit | N-Top modules shall fit properly, without interfering with other modules or parts during mounting. | No mechanical collision with top components; no screw collision through the mounting holes. |
| REQ-021 | approved | Mechanical | SO-DIMM Mechanical Fit | SO-DIMM connector shall seat correctly with latch engagement. | SO-DIMM module seats and latches without force. |
| REQ-022 | approved | Mechanical | M2 Mechanical Fit | M2 module shall seat and screw down correctly. | M2 module seats and screws down; no interference with adjacent connectors. |
| REQ-023 | approved | Mechanical | Comtop Mechanical Fit | Comtop connector shall seat correctly. | Comtop module seats correctly. |
| REQ-024 | approved | Mechanical | Fan Mount Mechanical Fit | Back panel fan screws shall not collide with the PCB edge or any mounted modules. | All four fan screws mounted with back panel installed; no collision with PCB edge or modules. |
| REQ-025 | approved | Mechanical | Top Panel Standoffs | Standoff heights shall be defined for both comm-top and no-comm-top assembly variants. | Assembly BOM specifies standoff part number and height for each variant. |
| REQ-026 | approved | Mechanical | RPi Header No Rattle | RPi header shall have no perceptible rattling when mated. | RPi header mated; no rattle observed when device is handled. |
| REQ-027 | approved | Mechanical | RPi Connector Alignment | RPi connectors shall be flush with or recessed behind the front panel surface. | RPi connectors do not protrude beyond front panel outer face; measured ≤0mm protrusion. |
| REQ-028 | approved | Mechanical | Panel break tab mouse bites on PCB side | Panel break tab mouse bites shall be on the PCB side. | All break tab mouse bites located on PCB side; clean PCB edge after depanelling. |
| REQ-029 | approved | Functional | Silkscreen reads 'Accordion M1' | Silkscreen shall read 'Accordion M1'. | Silkscreen text confirmed 'Accordion M1' in Gerber/fabrication files. |
| REQ-030 | approved | Functional | U3 silkscreen pin-1 / polarity marker | U3 silkscreen shall include a visible pin-1 / polarity marker. | Pin-1 dot or polarity indicator for U3 visible in silkscreen. |
| REQ-031 | approved | Functional | I2C devices 7-bit address annotated in schematic | All I2C-addressed devices shall have their 7-bit address annotated in the schematic. | Every I2C device on the schematic has a text annotation showing its resulting 7-bit address. |
| REQ-032 | approved | Functional | I2C bus mux channels Ch0–Ch4 functional | I2C bus mux channels Ch0–Ch4 shall be functional. | I2C scan on each channel returns ACK from all expected devices. |
| REQ-033 | approved | Functional | R23 non-mounted to configure ADS7828 at 0x49 | R23 shall be non-mounted (NM) to configure ADS7828 address to 0x49. | R23 absent from BOM and PCB; ADS7828 responds at 0x49. |
| REQ-034 | approved | Interface | UART GPIO routing per ESH10000539 R1 | UART GPIO routing shall match the correct RPi UART pin assignment per ESH10000539 R1. | M2TxD and M2RxD routed to correct RPi GPIO pins per ESH10000539 R1; UART communication functional on D.06. |
| REQ-035 | approved | Functional | Pull-up resistors 4.7kΩ on UART nets at J9 | Pull-up resistors (4.7kΩ to 3V3) shall be present on M2TxD, M2RxD, M2RTS, M2CTS. | Pull-up resistors present on all four UART nets at J9; confirmed in schematic and BOM. |
| REQ-036 | approved | Interface | T1DATA[0:95] bidirectional bus routes correctly | SO-DIMM ↔ N-Top bidirectional data bus T1DATA[0:95] shall route correctly in both directions. | All 96 signals toggle correctly in both directions. |
| REQ-037 | approved | Interface | SPI connectivity to SO-DIMM J9 functional | SPI connectivity to SO-DIMM J9 shall be functional (SPI0_SCK, MOSI, MISO, CS0_N, CS1_N). | Correct SPI response received for both CS lines. |
| REQ-038 | approved | Interface | UART connectivity to SO-DIMM J9 functional | UART connectivity to SO-DIMM J9 shall be functional (M2TxD, M2RxD, M2RTS, M2CTS). | Known data pattern transmitted and received correctly in both directions. |
| REQ-040 | draft | Performance | U24 voltage monitoring within ±5% of actual | U24 (AD5593R) voltage monitoring channels shall read within ±5% of actual rail voltage. | MON_VIN, MON_5V, MON_VPOE, MON_VBUS ADC readings within ±5% of true rail voltages. |
| REQ-041 | draft | Performance | U24 current monitoring within ±10% of actual | U24 current monitoring channels shall read within ±10% of actual current. | MON_IIN, MON_C5V ADC readings within ±10% of known applied currents. |
| REQ-042 | approved | Functional | MON_5V divider no ADC saturation | MON_5V voltage divider shall not saturate the ADC at nominal rail voltage. | Scaled voltage at ADC input ≤2.5V (ADC reference) with 5V rail at nominal. MON_12V divider resistor (R145 or R146 — confirm in schematic) shall be NM or removed from BOM. (MON_12V removed — 12V rail not present in R1, see E-014.) |
| REQ-043 | approved | Functional | Fan controller U21 regulates fan speed via I2C | Fan controller U21 (MAX6650) shall regulate fan speed via I2C. | Fan runs at full speed at boot; speed reduces to regulated level when accordion process is running. |
| REQ-044 | approved | Functional | LED driver LP5012 controllable via I2C | LED driver LP5012 shall be controllable via I2C. | All LED channels respond to brightness commands (off / full / mid) via I2C. |
| REQ-045 | approved | Functional | RTC and battery backup excluded from R1 | RTC (PCF8523) and battery backup shall NOT be included in R1. | U32, battery connector, and all associated passives absent from schematic, BOM, and layout. |
| REQ-046 | approved | Manufacturing | ≤40 unique component types per PCB side | Design shall use no more than 40 unique component types per PCB side. | BOM unique component count per side ≤40 at time of layout sign-off. |
| REQ-047 | approved | Documentation | BOM released and revision-controlled | A complete Bill of Materials shall be released and under revision control before prototype order. | BOM file exists, is revision-controlled, and covers all components on the assembled board. Released before Tape-Out. |
| REQ-048 | approved | Documentation | Assembly drawing released | An assembly / placement drawing shall be released before prototype order. | Assembly drawing (or placement drawing) exists and is released, showing component placement and orientation for all parts. Released before Tape-Out. |
| REQ-049 | approved | Documentation | Schematic released as PDF and Gerber | The schematic shall be released as a PDF and Gerber package before prototype order. | Schematic PDF and Gerber package exist, are revision-controlled, and match the ordered BOM. Released before Tape-Out. |
| REQ-050 | approved | Documentation | PCB fabrication notes and stackup spec released | PCB fabrication notes and stackup specification shall be released before Batch 1 order. | Fabrication notes and stackup spec document exists, is revision-controlled, and has been reviewed. Released before Batch 1 Order. |
| REQ-051 | approved | Documentation | Test procedure document released | A test procedure document covering bring-up, Phase 1, and Phase 2 verification shall be released before Batch 1 order. | Test procedure document exists, is revision-controlled, and covers all verification phases. Released before Batch 1 Order. |
Test Cases
| Code | Status | Category | Title / Signal | Target | Pass Criterion | Linked REQ |
|---|---|---|---|---|---|---|
| TC-A-00 | open | performance | U24 voltage monitoring accuracy ±5% | — | MON_VIN, MON_5V, MON_VBUS ADC readings within ±5% of true rail voltages measured simultaneously with calibrated DVM. | REQ-040 |
| TC-A-01 | open | performance | U24 current monitoring accuracy ±10% | — | MON_IIN, MON_C5V ADC readings within ±10% of known applied currents; current set with calibrated programmable load. | REQ-041 |
| TC-A-02 | open | performance | MON_12V and MON_5V divider — no ADC saturation | — | Scaled voltage at U24 ADC input ≤2.5V with 5V rail at nominal; R145 and R146 = 2kΩ confirmed in BOM; ADC raw counts below full-scale. | REQ-042 |
| TC-D-00 | open | functional | I2C bus mux channels Ch0–Ch4 functional | — | I2C scan on each of Ch0–Ch4 with correct channel selected; all expected devices ACK; no ghost addresses. | REQ-032 |
| TC-D-01 | open | functional | R23 NM — ADS7828 responds at 0x49 | — | R23 absent from assembled board; I2C scan returns ACK at address 0x49 (ADS7828); no response at other ADS7828 addresses. | REQ-033 |
| TC-D-02 | open | functional | UART GPIO routing per ESH10000539 R1 | — | M2TxD and M2RxD traced to correct RPi GPIO pins per ESH10000539 R1 schematic; UART loopback test passes (known pattern sent and received correctly). | REQ-034 |
| TC-D-03 | open | functional | UART net pull-up resistors at J9 | — | 4.7kΩ pull-up resistors to 3V3 present on M2TxD, M2RxD, M2RTS, M2CTS at J9; confirmed in schematic BOM audit and net continuity. | REQ-035 |
| TC-D-04 | open | functional | T1DATA[0:95] bidirectional bus signal routing | — | All 96 T1DATA signals toggle correctly in both SO-DIMM→N-Top and N-Top→SO-DIMM directions; verified via loopback or signal-level test. | REQ-036 |
| TC-D-05 | open | functional | SPI connectivity to SO-DIMM J9 | — | SPI0_SCK, MOSI, MISO, CS0_N, CS1_N connected to J9; correct SPI response received for both CS lines with a known SPI peripheral. | REQ-037 |
| TC-D-06 | open | functional | UART connectivity to SO-DIMM J9 | — | M2TxD, M2RxD, M2RTS, M2CTS at J9; known data pattern transmitted and received correctly in both directions. | REQ-038 |
| TC-DOC-00 | open | documentation | BOM released and revision-controlled | — | BOM file exists, is revision-controlled, and covers all components on the assembled board. Confirmed before Tape-Out. | REQ-047 |
| TC-DOC-01 | open | documentation | Assembly drawing released | — | Assembly/placement drawing exists and is released, showing component placement and orientation for all parts. Confirmed before Tape-Out. | REQ-048 |
| TC-DOC-02 | open | documentation | Schematic released as PDF and Gerber | — | Schematic PDF and Gerber package exist, are revision-controlled, and match the ordered BOM. Confirmed before Tape-Out. | REQ-049 |
| TC-DOC-03 | open | documentation | PCB fabrication notes and stackup spec released | — | Fabrication notes and stackup spec exist, are revision-controlled, and have been reviewed. Confirmed before Batch 1 Order. | REQ-050 |
| TC-DOC-04 | open | documentation | Test procedure document released | — | Test procedure document exists, is revision-controlled, and covers Bring-Up, Phase 1, and Phase 2 verification. Confirmed before Batch 1 Order. | REQ-051 |
| TC-K-00 | open | functional | Silkscreen reads 'Accordion M1' | — | Silkscreen text 'Accordion M1' confirmed in Gerber output and fabrication files before ordering. | REQ-029 |
| TC-K-01 | open | functional | U3 pin-1 / polarity marker in silkscreen | — | Pin-1 dot or polarity arrow for U3 visible and correctly oriented in silkscreen layer of Gerber/fabrication files. | REQ-030 |
| TC-K-02 | open | functional | I2C device 7-bit address annotations in schematic | — | Every I2C-addressed device on the schematic has a text annotation showing its resulting 7-bit address; confirmed by schematic review. | REQ-031 |
| TC-M-00 | open | functional | PCB fit and mounting in Hammond enclosure | — | PCB mounts in Hammond enclosure with all standoffs engaged; lid closes; no mechanical interference at any connector or edge. | REQ-019 |
| TC-M-01 | open | functional | N-Top fixation screws — no SO-DIMM zone protrusion | — | M3×16mm screws installed; visual and physical inspection confirms no screw tip protrudes below PCB into J9 clearance zone. | REQ-020 |
| TC-M-02 | open | functional | SO-DIMM connector J9 seating and latch | — | SO-DIMM module inserted and latches correctly without excessive force; latch engagement confirmed on both sides. | REQ-021 |
| TC-M-03 | open | functional | M2 slot J15 seating and screw-down | — | M2 module seats fully; M2 screw engages standoff; no interference with adjacent connectors. | REQ-022 |
| TC-M-04 | open | functional | Comtop connector J3 seating | — | Comtop module seats correctly; no interference with adjacent components or PCB edge. | REQ-023 |
| TC-M-05 | open | functional | Back panel fan screws — no PCB edge collision | — | All four fan screws installed with back panel; no screw contacts PCB edge; confirmed by physical inspection. | REQ-024 |
| TC-M-06 | open | functional | Standoff heights — both assembly variants in BOM | — | Assembly BOM lists standoff part number and height for both comm-top and no-comm-top variants; confirmed in BOM audit. | REQ-025 |
| TC-M-07 | open | functional | RPi header — no rattle when mated | — | RPi module mated to header; device handled and tilted; no perceptible rattle from RPi header connection. | REQ-026 |
| TC-M-08 | open | functional | RPi connectors flush with or recessed behind front panel | — | Front panel installed; RPi connector faces measured; protrusion beyond outer face ≤0mm. | REQ-027 |
| TC-M-09 | open | functional | Panel break tab mouse bites on PCB side | — | All panel break tabs depanelled; mouse bites confirmed on PCB side only; no bites on panel side; clean PCB edge. | REQ-028 |
| TC-MF-00 | open | functional | Bulk capacitors fabricator assembly compatibility | — | Bulk capacitor part number confirmed mountable by fabricator; assembly confirmation received before PCB order placed. | REQ-015 |
| TC-MF-01 | open | functional | ≤40 unique component types per PCB side | — | BOM unique component count per PCB side ≤40 at layout sign-off; verified by BOM audit before fabrication release. | REQ-046 |
| TC-P-00 | open | functional | USB-C 20V PD input voltage at U10 | — | VIN at U10 input pin = 20V ±5% (19.0–21.0V) with USB-C 20V PD supply connected. | REQ-001 |
| TC-P-01 | open | functional | U10 VDD E-Fuse output and OVLO verification | — | U10 output live at 20V nominal input; OVLO does not trip below 21V; trips above 21V threshold. | REQ-002 |
| TC-P-02 | open | functional | U16 5V E-Fuse output and OVLO verification | — | U16 output live at 5V nominal; OVLO does not trip below 5.5V; trips above 5.5V threshold. | REQ-003 |
| TC-P-03 | open | functional | E-Fuse ILIM current trip at 5A | — | U10 current limit trips at 5A ±10% (4.5–5.5A) during load sweep; confirmed via load step or programmable load. | REQ-004 |
| TC-P-04 | open | functional | E-Fuse dVdT ramp component audit | — | R1/R19/R63 = 0Ω confirmed in BOM and schematic; C24/C46/C51 = 330pF confirmed; output ramp time within datasheet range. | REQ-005 |
| TC-P-05 | open | performance | 5V regulated rail stability under load | — | 5V rail = 5.0V ±3% (4.85–5.15V) from no-load to rated load. | REQ-006 |
| TC-P-06 | open | performance | 3.3V regulated rail voltage | — | 3.3V rail = 3.3V ±3% (3.20–3.40V) at nominal load. | REQ-007 |
| TC-P-07 | open | performance | 2.5V regulated rail voltage | — | 2.5V rail = 2.5V ±3% (2.43–2.58V) at nominal load. | REQ-008 |
| TC-P-08 | open | performance | 1.8V regulated rail voltage | — | 1.8V rail = 1.8V ±3% (1.75–1.85V) at nominal load. | REQ-009 |
| TC-P-09 | open | performance | Precision voltage reference 2.500V accuracy | — | VREF = 2.500V ±0.05% (2.4988–2.5013V) measured with calibrated DVM. | REQ-010 |
| TC-P-10 | open | functional | 5V to RPi via R147; Q8 circuit absent | — | Q8 and associated components absent from schematic and BOM; 5V measured at RPi via R147 with system powered. | REQ-011 |
| TC-P-11 | open | functional | RPI_ON net schematic and layout routing | — | Net RPI_ON present in schematic connected to M1 pin 1; continuity confirmed in layout/netlist. | REQ-012 |
| TC-S-00 | open | functional | Fan controller U21 (MAX6650) speed regulation via I2C | — | Fan runs at full speed at boot; I2C command to accordion process causes fan speed to reduce to regulated target; speed confirmed via tachometer or MAX6650 count register. | REQ-043 |
| TC-S-01 | open | functional | LED driver LP5012 brightness control via I2C | — | All LED channels respond to brightness commands: off (0%), mid (~50%), full (100%); no channels stuck or non-responsive. | REQ-044 |
| TC-S-02 | open | functional | RTC (PCF8523) and battery backup absent | — | U32, battery connector, and associated passives absent from schematic, BOM, and assembled board; I2C scan confirms no ACK at 0x68 (PCF8523 address). | REQ-045 |
| TC-SW-00 | open | functional | Push button S1 power on/off toggle | — | Press S1: U10 output goes live (system powered on); press S1 again: U10 output = 0V (system off). Both transitions confirmed. | REQ-016 |
| TC-SW-01 | open | functional | Pin-strap bring-up power enable (no MCU) | — | With pin-strap applied (jumper or resistor strap as defined), system power enabled without MCU firmware present; U10 output live at 20V. | REQ-017 |
Coverage Matrix
| REQ | Title | Category | Coverage | Linked Test Cases |
|---|---|---|---|---|
| REQ-001 | USB-C PD 20V Supply | Functional | approved | TC-P-00 |
| REQ-002 | 20V Supply Overvoltage Protection | Functional | approved | TC-P-01 |
| REQ-003 | 5V Rail Overvoltage Protection | Functional | approved | TC-P-02 |
| REQ-004 | 20V Supply Current Limit Protection | Functional | approved | TC-P-03 |
| REQ-005 | 20V Supply Current Ramp | Functional | approved | TC-P-04 |
| REQ-006 | 5V Rail Load Stability | Performance | approved | TC-P-05 |
| REQ-007 | 3V3 Rail Load Stability | Performance | approved | TC-P-06 |
| REQ-008 | 2V5 Rail Load Stability | Performance | approved | TC-P-07 |
| REQ-009 | 1V8 Rail Load Stability | Performance | approved | TC-P-08 |
| REQ-010 | Precision voltage reference 2.500V | Performance | approved | TC-P-09 |
| REQ-011 | 5V Supply to RPI | Functional | approved | TC-P-10 |
| REQ-012 | RPi Enable Control | Interface | approved | TC-P-11 |
| REQ-014 | PoE Input — Active 802.3at (45W) | Functional | approved | — |
| REQ-015 | Bulk capacitors fabricator-compatible | Manufacturing | approved | TC-MF-00 |
| REQ-016 | Push Button Power On/Off | Functional | approved | TC-SW-00 |
| REQ-017 | Power via pin-strap w/o MCU Firmware | Functional | approved | TC-SW-01 |
| REQ-019 | PCBA Enclosure Fit | Mechanical | approved | TC-M-00 |
| REQ-020 | N-Top Mechanical Fit | Mechanical | approved | TC-M-01 |
| REQ-021 | SO-DIMM Mechanical Fit | Mechanical | approved | TC-M-02 |
| REQ-022 | M2 Mechanical Fit | Mechanical | approved | TC-M-03 |
| REQ-023 | Comtop Mechanical Fit | Mechanical | approved | TC-M-04 |
| REQ-024 | Fan Mount Mechanical Fit | Mechanical | approved | TC-M-05 |
| REQ-025 | Top Panel Standoffs | Mechanical | approved | TC-M-06 |
| REQ-026 | RPi Header No Rattle | Mechanical | approved | TC-M-07 |
| REQ-027 | RPi Connector Alignment | Mechanical | approved | TC-M-08 |
| REQ-028 | Panel break tab mouse bites on PCB side | Mechanical | approved | TC-M-09 |
| REQ-029 | Silkscreen reads 'Accordion M1' | Functional | approved | TC-K-00 |
| REQ-030 | U3 silkscreen pin-1 / polarity marker | Functional | approved | TC-K-01 |
| REQ-031 | I2C devices 7-bit address annotated in schematic | Functional | approved | TC-K-02 |
| REQ-032 | I2C bus mux channels Ch0–Ch4 functional | Functional | approved | TC-D-00 |
| REQ-033 | R23 non-mounted to configure ADS7828 at 0x49 | Functional | approved | TC-D-01 |
| REQ-034 | UART GPIO routing per ESH10000539 R1 | Interface | approved | TC-D-02 |
| REQ-035 | Pull-up resistors 4.7kΩ on UART nets at J9 | Functional | approved | TC-D-03 |
| REQ-036 | T1DATA[0:95] bidirectional bus routes correctly | Interface | approved | TC-D-04 |
| REQ-037 | SPI connectivity to SO-DIMM J9 functional | Interface | approved | TC-D-05 |
| REQ-038 | UART connectivity to SO-DIMM J9 functional | Interface | approved | TC-D-06 |
| REQ-042 | MON_5V divider no ADC saturation | Functional | approved | TC-A-02 |
| REQ-043 | Fan controller U21 regulates fan speed via I2C | Functional | approved | TC-S-00 |
| REQ-044 | LED driver LP5012 controllable via I2C | Functional | approved | TC-S-01 |
| REQ-045 | RTC and battery backup excluded from R1 | Functional | approved | TC-S-02 |
| REQ-046 | ≤40 unique component types per PCB side | Manufacturing | approved | TC-MF-01 |
| REQ-047 | BOM released and revision-controlled | Documentation | approved | TC-DOC-00 |
| REQ-048 | Assembly drawing released | Documentation | approved | TC-DOC-01 |
| REQ-049 | Schematic released as PDF and Gerber | Documentation | approved | TC-DOC-02 |
| REQ-050 | PCB fabrication notes and stackup spec released | Documentation | approved | TC-DOC-03 |
| REQ-051 | Test procedure document released | Documentation | approved | TC-DOC-04 |
Trace Link Graph
■ Done ■ Partial ■ Not started ■ No test case
Verification Records
No verification records.
Concepts
Active exploration (2) — ideas still being shaped.
Complete R1 pinout for M1 (44-pin RPi 4B header, PRT_16764). See E-018 for change rationale and review flags.
📝 UPDATE (2026-06-11) — JTAG no-swap, per [[E-033]]: pins 16/18 reverted to the old-product / R0 wiring — TDI=GPIO23 (pin 16), TMS=GPIO24 (pin 18). The Pi is a bit-bang JTAG master (no BCM2711 hardware-JTAG constraint) and the downstream slave is unchanged, so the proven order is retained.
📝 UPDATE (2026-06-16) — pins 1/17 corrected (E-050) and I2CSEL3/4 disposed (E-049): the original table copied pins 1 and 17 as "3V3 Power" from the standard RPi spec, but M1 does NOT consume Pi 3V3 there — M1 generates its own 3V3 via U8/U30 AMS1117. As-built: M1-1 carries
RPI_ONto test point TP1 (high-Z monitor of the Pi's 3V3 output); M1-17 is no-connect. Schematic (done): M1-17 NC symbol added; M1-1 off-page RETAINED intentionally (RPI_ON/TP1 is a deliberate Pi-power monitor, see E-026) — Martin's "remove pin-1 off-page" is NOT applied. I2CSEL3 (pin 31) / I2CSEL4 (pin 33): required on those pins by the pinout spec; kept as named nets with explicit NC symbols (not routed to the muxes) — E-049.
Full Pinout
| Pin | GPIO | Signal (R1) | Note |
|---|---|---|---|
| 1 | — | RPI_ON | TP1 high-Z monitor of Pi 3V3 output — M1 does NOT receive 3V3 here; off-page retained (E-026/E-050) |
| 2 | — | 5V | Power |
| 3 | GPIO2 | SDA | I2C SDA |
| 4 | — | 5V | Power |
| 5 | GPIO3 | SCL | I2C SCL |
| 6 | — | GND | |
| 7 | GPIO4 | SRQ_N | Active-low SRQ |
| 8 | GPIO14 | TxD ✱ | UART TX — was CTS |
| 9 | — | GND | |
| 10 | GPIO15 | RxD ✱ | UART RX — was RTS |
| 11 | GPIO17 | RTS ✱ | UART RTS — was SPI1_CS1_N |
| 12 | GPIO18 | SPI1_CS0_N | |
| 13 | GPIO27 | GPDAT0 | |
| 14 | — | GND | |
| 15 | GPIO22 | TDO | JTAG |
| 16 | GPIO23 | TDI | JTAG — no swap (= R0/old product); see E-033 |
| 17 | — | NC | Pi 3V3 output not consumed by M1 (M1 has own 3V3 via U8/U30); NC symbol added (E-050) |
| 18 | GPIO24 | TMS | JTAG — no swap (= R0/old product); see E-033 |
| 19 | GPIO10 | SPI0_MOSI | |
| 20 | — | GND | |
| 21 | GPIO9 | SPI0_MISO | |
| 22 | GPIO25 | TCK | JTAG |
| 23 | GPIO11 | SPI0_SCK | |
| 24 | GPIO8 | SPI0_CS0_N | |
| 25 | — | GND | |
| 26 | GPIO7 | SPI0_CS1_N | |
| 27 | GPIO0 | I2CSEL1 | |
| 28 | GPIO1 | I2CSEL0 | |
| 29 | GPIO5 | I2CSEL2 | |
| 30 | — | GND | |
| 31 | GPIO6 | I2CSEL3 | Required by pinout spec; NC symbol added, not routed to mux (E-049) |
| 32 | GPIO12 | SPI1_CS1_N ✱⚠️ | Was TxD; software GPIO CS only — see E-018 |
| 33 | GPIO13 | I2CSEL4 ✱ | Was RxD; relocated from pin 36. Required by pinout spec; NC symbol added, not routed to mux (E-049) |
| 34 | — | GND | |
| 35 | GPIO19 | SPI1_MISO | |
| 36 | GPIO16 | CTS ✱ | UART CTS — was I2CSEL4 |
| 37 | GPIO26 | GPDAT1 | |
| 38 | GPIO20 | SPI1_MOSI | |
| 39 | — | GND | |
| 40 | GPIO21 | SPI1_SCK | |
| 41 | — | NC | |
| 42 | — | NC | |
| 43 | — | NC | |
| 44 | — | NC |
Summary
- 6 pins changed from R0 (✱): pins 8, 10, 11, 32, 33, 36
- 38 pins unchanged — includes JTAG pins 16/18, reverted to R0 per [[E-033]]
- UART pull-ups: TxD (8), RxD (10), RTS (11), CTS (36) — as-built uses 10kΩ (R15/R19/R24/R25); accepted per Martin schematic review 2026-06-16 (10k ratified)
- ⚠️ Pin 32 (GPIO12) SPI1_CS1_N: software GPIO CS only — hardware SPI1 CE1 unavailable (GPIO17 = RTS). Firmware review required.
- Pins 31 / 33 (I2CSEL3 / I2CSEL4): NC symbols added, names retained for pinout-spec traceability — E-049 resolved.
- Pins 1 / 17: pin 17 NC added; pin 1 RPI_ON/TP1 retained — E-050 resolved.
Open questions
- Firmware: confirm GPIO CS mode supported for SPI1_CS1_N on GPIO12
- JTAG: TMS/TDI order settled — no swap, TDI=GPIO23 / TMS=GPIO24, per [[E-033]]
- E-049 (CON-003): I2CSEL3 / I2CSEL4 — NC symbols added, names retained
- E-050 (CON-004): pin 17 NC added; pin 1 RPI_ON/TP1 retained (off-page NOT removed)
References
- E-017: original R0 pinout error analysis
- E-018: pinout change review notice
- E-033: JTAG no-swap decision (reverts pins 16/18)
- E-049 (CON-003): I2CSEL3 / I2CSEL4 disposition
- E-050 (CON-004): pin 1 / pin 17 disposition + this table update
- Source: reference_pinout.md + ESH10000597_R0_pinout_issues.md
Hypothesis
An on-board MCU (ESP32) could serve as a combined power-on controller and telemetry engine for Accordion M1 in a future revision — owning push-button power sequencing, the always-on housekeeping rail, and aggregation/reporting of the U24 ADC monitoring channels (rail voltages/currents, fan, etc.) over a digital interface, rather than relying on the 74HCS74 (U11) hardware latch + RPi-host polling used in R1.
This is recorded as a future tech study, not a committed change. It does not affect R1.
Context / why deferred
Per decision [[E-012]] the push-button / power-on MCU (ESP32 or ATtiny 3227) was rejected for R1 because:
- it adds an MCU programming step in assembly,
- it needs a 3V3 rail independent of power state (currently the 7805, see [[E-015]]),
- the prime customer runs always-on with no push-button need.
The power-latch path (U11) + 7805 always-on rail was retained for R1 instead. The feature was explicitly not ruled out for future revisions — this entry captures that follow-up.
Alternatives considered
- ESP32 — most capable (WiFi/BT, ample telemetry headroom) but heaviest firmware/programming burden.
- ATtiny 3227 — lighter weight, but still adds an assembly programming step and the independent rail requirement.
- Status quo (R1) — hardware latch + host-side telemetry; zero firmware burden, no power-on intelligence or autonomous telemetry.
Open questions
- Scope of telemetry the MCU should own vs. the RPi host (does it replace U24 host polling, or sit alongside it?).
- Independent housekeeping rail strategy — reuse 7805 vs. dedicated regulator.
- Manufacturing impact of the in-line programming step (cost, test fixture, provisioning).
- Whether this belongs in a future Accordion M1 revision or a new product platform.
Next step
Spin up a dedicated tech-study project/spike when prioritised; evaluate ESP32 vs ATtiny against telemetry scope, power-state independence, and assembly cost. No R1 action.
Issues
Problem
BOM line for U3 (ECS-3225MV oscillator) assigns EGP10000946, but SharpMES confirms EGP10000946 = ADS7828EB/2K5 (the ADC at U24).
- U3: ECS-3225MV → should be EGP10001799 (ECS-3225MV-200-BN-TR3)
- U24: ADS7828IPW → EGP10000946 ✓ (correct)
Impact
If BOM is submitted as-is, U3 position will be ordered/placed with ADS7828 ADC instead of the 20 MHz oscillator. Board will not function.
Required fix
Update BOM: U3 EGP → EGP10001799.
Fixed in the updated BOM: U3 line now reads EGP10001799 (ECS-3225MV); U24 reads EGP10000946 (ADS7828). Closed per engineer instruction.
Independent audit of every one of the 87 post-layout warnings on board 7 (Accordion M1 R1), re-checked against the ODB netlist + datasheets rather than trusting the E-054 dispositions. Result: the dispositions hold for 86 of 87 — but E-054's blanket "SinglePointNet x61 -> TRIAGED, no defects" is NOT correct: there is one real defect (U7.1), and several pins E-054 never enumerated (U6.1, U7.1/.6, U12.20, U17.11/.16) — all benign on inspection EXCEPT U7.1.
1. I2cPullupMissing x16 — FALSE POSITIVE (confirmed)
All 16 lines (SCL0-7/SDA0-7) pulled to 3V3 via resistor arrays R3/R4/R5/R6 (EXB-N8V103JX). Verified pin-by-pin. Rule only matches 2-pin discrete pull-ups and misses array packages -> system bug raised as Probe BUG-011.
2. BomLayoutMismatch x10
- J9 (SO-DIMM): REAL. Connected refdes silently dropped from the BOM export by "Part List Exclude: True". ACTION: add J9 to BOM. (Already the one open action from E-054.)
- NRD0-8 (9): benign — they sit on NO net (electrically inert); a BOM-completeness curiosity only. Identity still unexplained.
3. SinglePointNet x61
35 connector/header pins (J6, J9, J10, J13, J15, J4, M1.17/31/33, S2.4/5/6, D3.5) — benign by nature (unused connector I/O; named ones dispositioned in E-041/049/050/051).
26 IC pins — verified individually:
- BENIGN (datasheet/topology-verified): U14.1/.5 (TMP236 NC, labeled); U6.1 (74LVC1G14 single-inverter spare pin); U11.5/.6/.9 (74HCS74 unused-FF OUTPUTS — its inputs ARE tied); U21.6/.7 (MAX6650 GPIO0/1, X-marked NC); U19.5 (24AA02 NC); U4.6/U5.6 (CB3Q3251 mux NC); U17.7/.23 (LM76005 NC — datasheet says leave floating); U17.11 (LM76005 SS/TRK — datasheet: leave floating for internal soft-start); U17.16 (LM76005 PGOOD open-drain, no consumer); U12.13 (TPS2373 PG open-drain); U12.16 (TPS2373 UVLO_SEL input, internal pull-up, float OK); U12.17/.18/.19 (TPS2373 TPL/TPH/BT open-drain outputs); U12.20 (TPS2373 NC, "leave open"); U10.3 (TPS259474 PG open-drain); U2.5 (TPS54302 EN floats-to-enabled, engineer-confirmed); U7.6 (74LVC2G17 unused output 1Y).
- COULD NOT DATASHEET-VERIFY: U27.10 (CH224Q) — disposition "open-drain" is plausible but the CH224Q datasheet is not in Probe (it was in mpn_unresolved). Supply a datasheet URL to confirm.
- REAL DEFECT: U7.1 — see below.
REAL DEFECT — U7.1 floating Schmitt-trigger input
U7 = 74LVC2G17 (dual non-inverting Schmitt buffer). Only one channel is used: 2A(pin3) <- oscillator U3 (ECS-3225MV), 2Y(pin4) -> R82 -> CLK0P. The SECOND buffer is unused, and its DATA INPUT 1A (pin1) = net (Net0)-275 is left FLOATING (datasheet-confirmed pin1 = data input). U6 (74LVC1G14) inverts the same clock to CLK0N. Floating CMOS inputs draw shoot-through current and can self-oscillate; standard practice is to tie unused gate inputs to a rail. Contrast U11 (74HCS74), whose unused flip-flop has its inputs tied — that one is correctly handled, which is why it is benign and U7 is not. FIX: tie U7.1 (1A) to GND or 1V8. (U7.6 / 1Y is an open output — harmless.) Severity: warning (board functions; this is a reliability/EMI cleanliness fix for the next layout pass).
Follow-ups
- Raise a Probe concern on U7.1 so the fix federates and gates Green (not yet done).
- Supply a CH224Q datasheet URL to close the one unverifiable pin (U27.10).
- E-054 to be amended: its "SinglePointNet -> no defects" line is superseded by this U7.1 finding.
— Verification performed against board 7 ODB netlist + acquired datasheets (74LVC2G17, LM76005RNPR, TPS2373-4RGWR).
Real defect confirmed and FIXED. U7.1 (74LVC2G17 unused Schmitt-buffer input) was floating; engineer tied it off 2026-06-16 (to be reflected in the next netlist export). U6 cross-checked and confirmed benign — single-gate 74LVC1G14 whose gate is used (U6-2 in / U6-4 out); U6-1 is the package NC pin, not a logic input. Other E-055 points all confirmed: I2C-pullup false-positive (R3-R6 arrays), NRD0-8 electrically inert, J9 already added to BOM. Minor residual: U27.10 (CH224Q) open-drain disposition still datasheet-unverified — supply a CH224Q datasheet to fully close if desired.
Problem
D3 (SRV05-4, EGP10001794) pin 5 = VRAIL is unconnected. Confirmed in netlist (unconnected pin section, no "by TERM") and schematic page 9.
SRV05-4 SOT-23-6 pinout as used:
- Pin 1 = IO1 → CC1 ✓
- Pin 2 = GND ✓
- Pin 3 = IO2 → CC2 ✓
- Pin 4 = IO3 → USBDM ✓
- Pin 5 = VRAIL → FLOATING ✗
- Pin 6 = IO4 → USBDP ✓
Impact
Without VRAIL tied to a reference rail, the ESD clamp cannot properly clamp transients on CC1, CC2, USBDM, USBDP. USB-C ESD protection is non-functional.
Required fix
Connect D3-5 (VRAIL) to 3V3. Add 100n bypass cap between VRAIL and GND per datasheet.
Corrected rationale (supersedes prior resolution). EGP10001794 is a DOWO SRV05-4LA — a unidirectional, GND-referenced TVS array with no VRAIL pin. D3 pin 5 is no-connect by design, so leaving it floating is correct; the no-connect flag on D3-5 is cosmetic (ERC cleanliness) only. The earlier resolution incorrectly described pin 5 as a floating VRAIL.
Decisions
Decision
Keep PoE as an input power source on Accordion M1 R1. Implement active PoE (IEEE 802.3at, 45W) via an on-board PD controller IC (TPS2373-4RGWR).
Rationale
- Active over passive: Passive PoE is not considered attractive enough on the current market to justify the design effort. Active (802.3at) is the standard expected by infrastructure and end users.
- 45W throttle: High-power PoE supply scenarios are not anticipated for M1 use cases. 45W (802.3at Type 2) is sufficient for the expected load profile.
- Component choice (TPS2373-4RGWR): The design already requires an external buck converter (LM76005) to handle the external PSU input via Phoenix connector. Reusing the same LM76005 for PoE input means the PD controller only needs to provide the 802.3at interface — no integrated DC-DC required. TPS2373-4RGWR is a pure PD interface IC with an integrated 100V FET, minimal external components, and supports up to 90W (headroom above the 45W operating point).
Rejected alternatives
- Passive PoE: Not attractive enough on the market for the effort. No negotiation, no standards compliance, requires custom injector ecosystem.
- 90W (802.3bt): Not required for current use cases, but the selected component (TPS2373-4) supports 90W — this should be investigated if higher-power PoE scenarios emerge.
- Integrated PD + DC-DC (e.g. TPS23730, LT4275A): Unnecessary — LM76005 already handles step-down for the external PSU path.
Follow-up
- Update REQ-014 to reflect active PoE 802.3at, 45W, TPS2373-4RGWR.
- Add TPS2373-4RGWR (EGP10001943) to BOM.
- Investigate 90W (802.3bt) headroom if high-power PoE use case is identified.
Decision
Select TPS2373-4RGWR (Texas Instruments, EGP10001943) as the PoE PD controller for Accordion M1 R1.
Rationale
- The design requires an external buck converter (LM76005) to handle the external PSU input via Phoenix connector. This same converter handles the PoE rail step-down (48V → 20V bus), meaning the PD controller only needs to provide the 802.3at interface — no integrated DC-DC required.
- TPS2373-4RGWR is a pure PD interface IC: handles 802.3at detection, classification, inrush limiting, MPS, and overcurrent/overvoltage protection only.
- Integrated 100V N-channel FET — no external FET needed.
- Minimal external component count.
- Supports up to 90W — operating at 45W leaves significant headroom. 90W operation should be investigated if high-power PoE use cases are identified.
- Competitive unit price (~31.62 kr).
- Package: VQFN-20 (5×5 mm).
Architecture
PoE RJ45 → Magnetics → TPS2373-4RGWR → LM76005 → 20V bus
Phoenix connector → (protection) → LM76005 → 20V bus
Rejected alternatives
- TPS23730: integrated DC-DC — unnecessary given LM76005 is already in the design.
- LT4275A: integrated synchronous flyback — same reason.
- AG9805M (Silvertel module): larger footprint, higher cost.
Component library
- PLEASE component ID: 3469
- SharpMES: EGP10001943
- Datasheet: TPS2373 SLVSE09D (TI)
Decision
Do not implement a push button / power-on MCU (ESP32 or ATtiny 3227) in Accordion M1 R1.
Rationale
- Manufacturing complexity: requires an MCU programming step during board assembly, adding cost and process overhead not justified at this stage.
- Independent 3V3 rail required: the MCU would need a 3V3 supply independent of power state. This is currently handled by a 7805 — which has a suspected footprint/part inconsistency that must be verified (see E-012).
- No market pull: the prime customer operates in always-on mode and has no interest in a push button. Always-on is already supported without MCU involvement.
- Complexity not warranted: the level of design and validation effort is not justified by current market or user cases.
Rejected alternatives
- ESP32: more capable but even heavier programming/firmware burden.
- ATtiny 3227: lighter, but still adds assembly step and independent power rail requirement.
Future
This feature is not ruled out for future revisions or new products. Adding it later would not conflict with existing units in the field.
Impact
- REQ-018 remains withdrawn.
- Always-on power behaviour (existing) is the supported path for R1.
⚠️ AMENDED by [[E-025]] (2026-06-11): the rail is no longer removed — it is repurposed to carry 20V (VIN). The 12V generation (buck stage) is still removed, but the rail net/connector pins are retained and tied to the 20V bus. Read this entry together with E-025 for the current position.
Decision
Remove the 12V rail from Accordion M1 R1.
Rationale
- No current N-Top or Comtop modules in the Accordion M1 product lineup require 12V.
- The one known case where 12V was exposed (6×IDC N-Top module, single project) can be served by mounting a Mini-PSU (Comtop module), which generates configurable output from the 20V bus.
- If a future module requires 12V, it can generate it locally on the module from the 20V main bus — this does not tamper with module interface requirements.
- Removal simplifies the design, reduces BOM complexity, and reduces test scope.
Rejected alternatives
- Keep 12V rail: no justified demand in current product roadmap. Adds a buck converter stage with no active consumer.
Impact
- REQ-013 remains withdrawn.
- MON_12V monitoring channel (referenced in REQ-040 and REQ-042) is now redundant — these requirements should be reviewed and updated to remove 12V references.
- 20V main bus remains available as the high-voltage source for any module needing to generate its own 12V.
Decision
Retain the 7805 linear regulator in Accordion M1 R1.
Rationale
The 74HCS74-based power latch (U11) requires an always-on 5V supply (VCC) to hold flip-flop state and enable push-button power control. The 7805 is the intended supply for this always-on rail — it must remain regardless of the MCU decision.
The push button / power-on MCU was rejected (E-012), but the latch-based power circuit using U11 is retained for R1. The 7805 is its dedicated supply.
Rejected alternatives
- Remove 7805: not possible — U11 power latch loses its supply rail and power button becomes non-functional.
Impact
- 7805 must not be removed from R1 schematic or BOM.
- Footprint/part confirmed SOT-89 (LCSC C347258) — see E-013 (resolved).
Correction 2026-06-15
Earlier wording described this as the always-on "3V3" supply. That was incorrect: the part is a 7805 and the rail is VCC = 5V (the 74HCS74 is a 5V logic device). A 3.3V output would have dissipated more across the linear regulator, not less. Thermal disposition captured in [[E-045]].
Decision
Route 5V to RPi via a fuse in parallel with R147. Q8 and all associated passives removed.
Rationale
Parallel fuse + R147 gives two simple mounting solutions on the finished device:
- Fuse mounted, R147 NM: protected 5V path with overcurrent fuse.
- R147 mounted, fuse NM: direct 5V path, simpler assembly, no fuse.
Both options are supported by the same PCB footprint with no rework or design change between variants.
Fuse specification
- Rating: 2A
- Part: TBD — to be confirmed with final BOM.
Deviation from DL-020
DL-020 specified R147 alone as sufficient. This implementation retains R147 but adds a parallel fuse footprint for the protected variant.
Impact
- Q8 circuit removed as planned.
- BOM has two DNP options depending on assembly variant — document in assembly instructions.
- REQ-011 (5V to RPi) is satisfied by both variants.
Decision
Replace original bulk capacitors (TDK CKG57NX7S2A226M500JH, EGP10001337) on VBUS and VPOE with 1× Samsung CL32Y106KCV6PNE per position.
| Parameter | Original | Replacement |
|---|---|---|
| Part | CKG57NX7S2A226M500JH | CL32Y106KCV6PNE |
| Capacitance | 22µF | 10µF |
| Voltage | 100V | 100V |
| Dielectric | X7S | X7S |
| Package | 5750 (double-stacked) | 1210 |
| Height | 5.0mm ❌ | 2.0mm ✓ |
| EGP | EGP10001337 (consigned) | EGP10001944 |
| LCSC | — | C22380050 |
Rationale
- Original part (CKG57NX7S2A226M500JH) is a double-stacked capacitor (5.0mm height) — not mountable by the fabricator (REQ-015 violation).
- Single 10µF/100V X7S 1210 MLCC is fab-compatible and sufficient for bulk decoupling at these rail positions.
Rejected alternatives
- 2× 1210 per position: more capacitance but unnecessary; adds BOM complexity and PCB area.
- 22µF/100V single MLCC: not available in fab-friendly height on LCSC.
Impact
- VBUS bulk cap: 1× EGP10001944
- VPOE bulk cap: 1× EGP10001944
Decision
The rail previously slated for removal as the "12V rail" in [[E-014]] shall not be removed. Instead, that rail (its net, distribution copper, and module-connector pins) shall be repurposed to carry 20V (VIN / main bus).
This amends [[E-014]]: the 12V generation stage (buck converter producing 12V) is still removed — no 12V is produced on the board — but the physical rail/pins are retained and tied to the 20V VIN bus rather than being depopulated.
Rationale
- Keeps the rail/connector pins useful: modules get a direct 20V VIN feed on those pins instead of a dead/removed net.
- Directly realises E-014's intent ("any module needing 12V can generate it locally from the 20V bus") — those pins now are 20V.
- Avoids removing copper/pins that may be reused.
Impact
- ⚠️ Module interface contract change: connector pins formerly designated 12V now carry 20V. Every mating module must be reviewed — anything that previously assumed 12V on those pins would now see 20V.
- REQ-013 (12V rail) is withdrawn. Decide whether the 20V distribution needs its own requirement or is covered by [[REQ-001]].
- Monitoring: confirm the 20V feed is covered by MON_VIN / MON_VBUS; note [[REQ-041]] still lists
MON_C12V— fold this cleanup in.
R1 schematic check (2026-06-15, E-044 walk)
On-board side CONFIRMED: module-connector power pins are labelled VDD (= eFused ~20V VIN), not 12V — J10 (N-Top), J3 (Comtop), J15 (M2 slot); no 12V pin exists.
Disposition 2026-06-16 (engineer)
For the use cases we have so far, swapping those pins from 12V to 20V is not an issue — no current/known mating module is mis-fed by 20V on the VDD pins. The full cross-module audit (every possible N-Top/Comtop/M2 module) is a large, ongoing task that lives with each module's own design, not the M1 board. M1's obligation (rename/retie to 20V, document the contract change) is met. Remaining as a forward watch: whenever a new module is designed/mated, verify it expects 20V on the VDD pins. Severity downgraded — immediate concern cleared.
Decision
Use 1× EGP10001944 (Samsung CL32Y106KCV6PNE, 10µF/100V/X7S/1210) as CIN on LM76005 (PVIN pin).
Rationale
- TI datasheet (SNVSBK5A, Section 8.2.2.4) recommends 10µF–22µF ceramic for CIN, with voltage rating ≥ 2× VIN_max.
- Footprint allows only a single 1210 cap position — 2× parallel not possible.
- 10µF is at the lower bound of TI's recommended range but within spec.
- Voltage margin: 100V ÷ 57V (VPOE max) = 1.75× — slightly below TI's preferred 2× but acceptable for X7S dielectric.
- Same part as VBUS/VPOE bulk caps (E-021) — keeps BOM simple.
Rejected alternative
- 2× EGP10001944 (20µF): preferred electrically but not possible — only one 1210 footprint position available at LM76005 CIN.
Risk / layout note
- Per LM76005 datasheet Section 9: if LM76005 is located >5cm from input source, a 47–100µF electrolytic in parallel is recommended to damp input inductance ringing.
- Evaluate placement distance during layout. If distance exceeds ~5cm, add electrolytic bulk cap.
Decision
Use 62Ω (E24, 0402, ±1%) for CLSA resistor on TPS2373-4RGWR instead of the datasheet-nominal 63.4Ω (E96).
Rationale
63.4Ω is an E96 value not in stock and not immediately available on LCSC. 62Ω is a standard E24 value. The TPS2373 CLSA pin sources ~2.5V across the resistor; the resulting current must fall within the IEEE 802.3 Class 4 window (36.5–44mA). At 62Ω: I = 2.5V/62Ω = 40.3mA — comfortably within the window.
Rejected alternatives
- 68Ω: Marginal at minimum V_CLS — risk of falling below Class 4 floor. Rejected.
- 63.4Ω: Not in stock, no E24 equivalent. Not selected.
Follow-up
None required. Tolerance analysis confirms 62Ω safe across full V_CLS range.
Decision
Use 91Ω (E24, 0402, ±1%) for CLSB resistor on TPS2373-4RGWR. The datasheet-nominal value is 90.9Ω (E96).
Rationale
91Ω is a standard E24 value; difference from 90.9Ω is <0.1%, well within the ±1% resistor tolerance. The resulting classification current (2.5V/91Ω = 27.5mA) falls within the IEEE 802.3 Class 3 window (25.5–30.5mA). Values are functionally interchangeable.
Rejected alternatives
- 90.9Ω (E96): Not in stock. No practical benefit over 91Ω.
Follow-up
None required.
Decision
Connect AMPS_CTL to VSS via 1kΩ 0603 ±1% resistor to enable auto-MPS on TPS2373-4RGWR.
Rationale
Auto-MPS disabled (open) is fragile: if load drops below 10mA (bare board bring-up, RPi hot-removed, or future deep-sleep firmware), PSE cuts PoE port after ~400ms. 1kΩ adds I_pulse = 24V/1kΩ = 24mA peak, 3mA average at 12.5% duty cycle — supplements natural load current. Power dissipation = 72mW (within 0603 100mW rating). Simple, low-cost insurance.
Rejected alternatives
- Leave open: simpler but fragile under low-load scenarios.
- 300Ω: standalone 10mA compliance but requires 0805 ¼W package — unnecessary given M1 always draws significant current.
- 560Ω: 5.4mA average, 0805 ⅛W — overkill for supplemental use.
Follow-up
None required.
Decision
JTAG TMS/TDI shall NOT be swapped in R1. Retain the old-product / R0 wiring:
| Signal | GPIO | Pin |
|---|---|---|
| TDO | GPIO22 | 15 |
| TDI | GPIO23 | 16 |
| TMS | GPIO24 | 18 |
| TCK | GPIO25 | 22 |
This reverts the TMS/TDI swap introduced for R1 in [[E-018]] / [[E-019]] (which had TMS=GPIO23/pin16, TDI=GPIO24/pin18).
Rationale
- No hardware constraint. The Pi is the JTAG master, driving a slave device on the modules. The BCM2711 has no JTAG-master peripheral — the ALT4 "JTAG" pins are the Pi's own ARM debug slave TAP (wrong signal directions, cannot master a downstream chain). Mastering is software bit-bang (e.g. OpenOCD
bcm2835gpio), so the Pi imposes nothing on pin order or placement. - Slave unchanged (confirmed). The downstream JTAG slave is unchanged from the old product and expects TDI=GPIO23 / TMS=GPIO24. Keeping this order preserves continuity with the proven, working old-product/R0 bring-up and toolchain (OpenOCD GPIO map) with no re-validation.
- No defect drove the swap. There is no recorded R0 JTAG test failure and no DESIGN_LOG item requesting a swap. The swap in E-017/E-018 originated only from diffing R0 against the ESH10000539 R1 (cm32) reference and assuming it authoritative — but cm32 is not this product's slave, so it is not a requirement here.
Rejected alternative
- Adopt the cm32 swap (TMS=GPIO23, TDI=GPIO24): rejected. Breaks continuity with the unchanged slave and proven old-product/R0 wiring for no benefit; any adaptation could be handled in the OpenOCD config regardless.
Impact
- Schematic: revert pins 16/18 to TDI=GPIO23, TMS=GPIO24 before tape-out (MS-001, 2026-06-15). TDO=GPIO22 and TCK=GPIO25 are unchanged.
- Supersedes the JTAG portion of [[E-017]] / [[E-018]] / [[E-019]]. E-019's full-pinout table (pins 16/18) to be updated to match.
- Other pins still under the E-017/E-018 review (UART, etc.) are not affected by this decision and remain open.
Note
Speed is not a function of JTAG pin placement here (bit-bang master). If higher JTAG throughput is ever needed, the lever is SPI-assisted JTAG (TCK←SCLK, data←MOSI/MISO, TMS←GPIO), not the ALT4 block — tracked separately if pursued.
Decision
LM76005RNPR (EGP10001802) configured as follows for the 20V bus:
| Parameter | Value | Part |
|---|---|---|
| R_top (feedback) | 2×100kΩ in series (R75+R56) = 200kΩ | EGP10000121 ×2 |
| R_bot (feedback) | 10kΩ (R55) | EGP10000097 |
| VOUT (calculated) | 20.96V | VREF × (1 + 200k/10k) = 0.998 × 21 |
| Inductor | 2× 10µH in series = 20µH | EGP10001426 ×2 |
| CIN | 10µF/100V/1210 | EGP10001944 ×1 |
| COUT | 10µF/100V/1210 ×2 = 20µF | EGP10001944 ×2 |
| Switching frequency | 400kHz (RT floating = TI default) | — |
| RT footprint | 100kΩ DNP, 0402 | EGP10000121 |
| PG | Floating (E-032) | — |
Rationale
- VOUT 20.96V: Closest achievable with E24 resistors to 20V target. After E-Fuse forward drop the rail settles near 20.5V in practice. Acceptable.
- R_top as 2×100k series: R_top is implemented as two 100kΩ (R75 + R56) in series rather than a single 200kΩ — electrically identical (200kΩ total, same ratio), and avoids sourcing a separate 200kΩ part. This is the as-built schematic/BOM.
- Inductor: SRP7028AA-100M Irms=4A, Isat=5.5A. Peak inductor current at 4A load/400kHz/57V_max = 4.83A — within Isat with margin.
- RT floating: TI datasheet confirms 400kHz default when RT is not connected. 100kΩ DNP footprint added for future frequency tuning without schematic change.
Rejected alternatives
- Trimming feedback resistors to exact 20V: not achievable with E24-only constraint.
- RT resistor populated: not required for R1; left as DNP option.
- Single 200kΩ R_top: equivalent, but 2×100k retained as built (no 200kΩ part to source).
Follow-up
None required for R1.
Correction 2026-06-15
R_top value corrected from "1×200kΩ (EGP10000128)" to the as-built "2×100kΩ in series, R75+R56 (EGP10000121 ×2)" per E-044 colleague review. Electrically identical; engineer confirmed keeping 2×100k.
Accordion M1 R1 PCBA ordered at JLCPCB (qty 5) on 2026-06-17. Final upload BOM ESH10000597_BOM_JLCPCB.csv — 83 rows / 226 designators / 79 LCSC-assigned; 4 manual-or-DNP (B1, D14/D15, J8, S2).
Three near-misses caught during BOM prep (next-build checklist)
- JLCPCB did not expand hyphen designator ranges — first upload silently dropped 62 components (every
Cx-Cy/Rx-Ry/Dx-Dy/Qx-Qy/Jx-Jyrange). Rule: always expand ranges to comma format before upload. - R40 (124 Ω) auto-matched to 120 kΩ (FRC0402F1203TS) — corrected to 124 Ω (C2974005).
- 100 nF decoupling auto-matched to 16 V (C1525) but C11 on VDD (~20 V), C12 on VIN (~20 V), C20/21/56/63/68 on LM76005 ~21 V output → overvoltage. Original spec 50 V. Fixed: whole 100n group → C307331 (Samsung CL05B104KB54PNE, 100 nF 0402 50 V X7R).
Sourcing final state
Resolved via JLC matching: U4/U5 C2869261, U10/U16 C2864845, U11 C2866652, J4 C591322, J13 C3197888, AMS1117 C347224, SRP7028AA C3223565, M1 C22194615, J16 C3585882, F1 C70158, C60-62 C2167787. Hand-mount/consign: D14/D15 CD-MB210S (bridge), S2 PBH2UOANAHX (pushbutton). NM (not placed): B1, J8.
U24 grade
BOM ADS7828IPW (I) accepted as E-grade ADS7828E/2K5 (C701649) — TI only makes E (±1 LSB) and EB (±0.5 LSB), both −40…+85 °C; no real "I" grade; E fine for rail monitoring.
Re-created after the 2026-06-17 Trace server crash wiped that day's updates. Source:
DOCS/ESH10000597_R1_TRACE_RECOVERY_2026-06-17.md.
Notices
Requirement REQ-014 ("PoE Input — Active 802.3at (45W)") has no verifying test case. Add one with please_testcase_create and link it (verified_by).
PoE input strategy for R1 is undecided.
Open question: Keep or remove PoE? If kept — active or passive? 45W or 90W?
See DL-023. Originally tracked as REQ-014.
Push button / power-on management by MCU is undecided.
Open question: ESP32 or ATtiny 3227? Define scope of MCU functions.
See DL-025. Originally tracked as REQ-018.
MCU signal routing to module slots is undecided.
Open question: Which slots? Which signal types?
See DL-026. Originally tracked as REQ-039.
12V rail inclusion for R1 is undecided.
Open question: Include or remove the 12V rail?
See DL-022. Originally tracked as REQ-013.
Implementation detail for REQ-011 (5V Supply to RPI).
- Q8 and associated components shall be absent from schematic and BOM
- 5V routed to RPi via R147
Implementation detail for REQ-004 (20V Supply Current Limit Protection).
- Current limit (ILIM) set to 5A via R39 = 680Ω
Implementation detail for REQ-005 (20V Supply Current Ramp).
- R1/R19/R63 = 0Ω (ramp resistors strapped)
- C24/C46/C51 = 330pF (ramp capacitors)
Applies to all E-Fuses.
M3×16mm screws for N-Top fixation have been found to cause collisions and need to be evaluated before prototype order.
Alternative screw lengths should be assessed against the PCB stackup and clearance zones.
The 7805 linear regulator (used to generate a 3V3 rail independent of power state) is suspected to have a footprint or part inconsistency in the current design.
This must be verified before layout sign-off to avoid a board spin caused by a wrong footprint or incompatible part selection.
Full comparison of ESH10000597 R0 M1 connector vs ESH10000539 R1 reference (cm32_r1.pdf, Sheet 3) reveals 12 functional errors. DL-017 only captured the UART routing issue — the full scope is:
| Category | Pins affected | Count |
|---|---|---|
| UART signals on wrong GPIOs | 8, 10, 11, 33, 36 | 5 |
| JTAG TMS/TDI swapped | 16, 18 | 2 |
| Control signals replaced by I2C selects | 27, 29, 31 | 3 |
| Event/interrupt replaced by GPIO data | 13, 37 | 2 |
Net names are correct for the design convention (TxD/RxD/RTS/CTS, not the reference's TxD1/RxD1 etc.). The errors are purely wrong GPIO-to-signal mappings.
Confirmed correct as-is:
- Pin 7 (GPIO4): SRQ_N (active-low) is correct — reference SYSTEM_SRQ naming not adopted.
- Pin 42: NC is correct — reference 5V assignment not applicable to this design.
All 12 corrections are captured in PLAN-SCH-001 Group 5. Source documents: reference_pinout.md and ESH10000597_R0_pinout_issues.md (Please/ESH10000671_R0/DOCS/).
The M1 connector (44-pin RPi header) has been substantially reworked in R1 vs R0. All 8 signal reassignments must be reviewed and verified before tape-out sign-off.
Changes (8 pins)
| Pin | GPIO | Old (R0) | New (R1) | Reason |
|---|---|---|---|---|
| 8 | GPIO14 | CTS | TxD | Correct UART TX — GPIO14 is RPi hardware UART TX |
| 10 | GPIO15 | RTS | RxD | Correct UART RX — GPIO15 is RPi hardware UART RX |
| 11 | GPIO17 | SPI1_CS1_N | RTS | Correct UART RTS — GPIO17 is RPi hardware UART RTS; SPI1_CS1_N moved |
| 16 | GPIO23 | TDI | TMS | JTAG TMS/TDI were swapped in R0 — corrected |
| 18 | GPIO24 | TMS | TDI | JTAG TMS/TDI were swapped in R0 — corrected |
| 32 | GPIO12 | TxD | SPI1_CS1_N | GPIO12 freed from incorrect TxD; reused as software GPIO CS for SPI1 ⚠️ |
| 33 | GPIO13 | RxD | I2CSEL4 | GPIO13 freed from incorrect RxD; I2CSEL4 moved from pin 36 |
| 36 | GPIO16 | I2CSEL4 | CTS | Correct UART CTS — GPIO16 is RPi hardware UART CTS; I2CSEL4 relocated |
Confirmed unchanged (diverging from ESH10000539 R1 reference — intentional)
- Pin 13 (GPIO27): GPDAT0 retained
- Pin 27 (GPIO0): I2CSEL1 retained
- Pin 29 (GPIO5): I2CSEL2 retained
- Pin 31 (GPIO6): I2CSEL3 retained
- Pin 37 (GPIO26): GPDAT1 retained
Key review points
- SPI1_CS1_N on GPIO12 (pin 32) — hardware SPI1 CE1 is unavailable (fixed to GPIO17, now UART RTS). GPIO12 serves as software/GPIO chip select only. Verify firmware supports GPIO CS mode for this signal.
- JTAG swap (pins 16/18) — confirm TMS=GPIO23, TDI=GPIO24 matches debug toolchain configuration.
- UART pull-ups — 4.7kΩ to 3V3 required on TxD (pin 8), RxD (pin 10), RTS (pin 11), CTS (pin 36).
- Full connector net list — verify no net is left floating or duplicated after changes.
Reference documents
- reference_pinout.md (Please/ESH10000671_R0/DOCS/)
- ESH10000597_R0_pinout_issues.md (Please/ESH10000671_R0/DOCS/)
- E-017: original 12-error finding
Observation (corrected 2026-06-15)
R53 (NM) bridges SHDN_N to U11 (74HCS74) /CLR (pin 13).
Correction: SHDN_N is driven by the PI4IOE5V6416 I²C GPIO expander (U1-3) — NOT by an RPi GPIO. Netlist: SHDN_N = R53-1, U1-3, U3-1 (ECS-3225MV osc EN), J9-138 (SO-DIMM), R12-1. RPi GPIO13 / M1 pin 33 is I2CSEL4, a separate net. The earlier "RPi GPIO13 drives /CLR low early in boot" framing — also echoed in E-044 — is therefore incorrect.
Power-on behaviour
- U1 (PI4IOE5V6416) powers up with all I/Os as inputs (hi-Z) → U1-3 does not actively drive SHDN_N at POR.
- With R53 NM, U11 /CLR is held high by R54 (10k) → VCC ⇒ power latch holds, board powers on. This pull-up acts on /CLR only; it does not reach SHDN_N while R53 is unpopulated.
Decision (2026-06-15)
Leave R53 NM for R1. Latch held via R54→VCC; firmware soft-shutdown path intentionally disabled (consistent with the always-on direction, E-012/E-015). May experiment with populating R53 in a later build — doing so would both pull SHDN_N high (via R54) and enable the shutdown path.
Residual (RESOLVED 2026-06-15)
Pull-up added so SHDN_N defaults high (U3 oscillator enabled) at POR while U1 is hi-Z: R12 = 10kΩ from SHDN_N to 3V3 at the U3 (ECS-3225MV) EN input. Confirmed in schematic sheet 3, BOM (R12 now 10k, EGP10000097), and netlist (SHDN_N…R12-1, R12-2 = 3V3). NB: R12 was repurposed from a 0Ω strap at the TPS2373 MPS_DUTY pin (U12-9), which is now tied directly to GND — see follow-up question on that.
Follow-up
DL-012 (carried from R0 — RPi header loose fit, satisfied in R1 by [[REQ-026]] "no perceptible rattle when mated") should be resolved by a mechanical solution rather than by selecting a different/tighter connector component, if feasible.
Question to resolve
Can the RPi header rattle be eliminated mechanically — e.g. retention bracket/clip, board-to-board standoff or mechanical support, panel-side capture, or an interposer/spacer — instead of changing the connector part number?
Why prefer mechanical
- Avoids a connector reselection / footprint change this close to tape-out (MS-001, 2026-06-15).
- Keeps BOM and footprint stable; lower risk than a new component qualification.
- A mechanical fix may also address the related RPi connector alignment / protrusion requirement ([[REQ-027]], ex-DL-014) in one go.
Next step
- Mechanical to assess retention options against the Hammond enclosure stackup and front-panel interface before layout sign-off.
- If no mechanical solution is viable, fall back to connector reselection and capture the decision.
- Confirm chosen approach satisfies REQ-026 acceptance (no rattle when handled).
Update 2026-06-15
0.5 mm protrusion fixed — RPi connector repositioned in the layout (addresses the REQ-027 alignment/protrusion item). Still open: confirm whether the rattle / loose-fit (REQ-026) is also resolved by this move, or whether it still needs a mechanical retention solution.
Bus-to-connector routing intent (R1)
Captured allocation of the serial/debug buses across the module connectors — SO-DIMM (J9), M.2 (J15), N-Top (J10/J11/J12), Comtop (J3), RPi header (M1).
| Bus | Routing path |
|---|---|
| SPI0 | RPi → SO-DIMM → N-Top |
| SPI1 | M.2 → Comtop |
| UART + JTAG | M.2 → SO-DIMM → N-Top → Comtop |
Notes / to verify against schematic
- SPI0 serves the RPi-side module stack (SO-DIMM + N-Top); SPI1 is dedicated to the M.2 ↔ Comtop path.
- UART and JTAG are distributed to all four module connectors (M.2, SO-DIMM, N-Top, Comtop).
- Cross-check against related requirements: [[REQ-037]] (SPI0 to SO-DIMM J9 — SCK/MOSI/MISO/CS0_N/CS1_N), [[REQ-038]] (UART to SO-DIMM J9), [[REQ-036]] (T1DATA[0:95] SO-DIMM↔N-Top bus), and the M1 connector pinout in [[E-019]] (SPI0 pins 19/21/23/24/26; SPI1 pins 12/32/35/38/40; UART pins 8/10/11/36; JTAG pins 15/16/18/22).
- ⚠️ Confirm consistency with E-019 pin 32 (GPIO12 = SPI1_CS1_N, software GPIO CS only) for the SPI1→Comtop chip-select.
RPI_ON (RPi 3V3 output, M1 pin 1) must be connected to a test point in the schematic.
RPI_ON indicates that the Raspberry Pi is powered and running. A test point on this net is required for bring-up and debug verification of RPi power state.
Required action
- Add test point component to RPI_ON net in schematic.
- Include test point in BOM and layout.
Update 2026-06-15
Test point added to RPI_ON in the schematic — netlist now shows RPI_ON = M1-1 + $3I7770-1 (previously a one-pin net), and a TP symbol appears on sheet 1. Remaining: the symbol is still unannotated (TP? — no reference designator) and is not yet in the BOM. Keeping open until the test point has a refdes and is reflected in BOM + layout.
TPS2373-4RGWR PG (Power Good) output is currently left floating in R1 schematic. PG is open-drain and would require a pull-up resistor and connection to a monitoring input.
Routing to ADS7828 was considered but rejected: using 2.5VREF as pull-up risks destabilising the ADC reference; a 3.3V divider adds unnecessary complexity for R1.
GPIOs are available on the RPi 4B interface. A 10kΩ pull-up to 3.3V with direct GPIO connection is viable in a future revision. PG would enable firmware-level PoE power sequencing and fault detection.
LM76005RNPR PG (Power Good) output is currently left floating in R1 schematic. PG is open-drain and indicates when the regulated output has reached its target voltage.
Routing to an RPi GPIO with 10kΩ pull-up to 3.3V would allow firmware to confirm the 20V bus is stable before enabling downstream loads. GPIOs are available on the RPi 4B interface.
Consider routing in R2 alongside TPS2373 PG for a complete PoE power chain status view.
The Group 5 schematic correction swapped JTAG TMS/TDI on M1 connector pins 16/18, but this swap was incorrect. The original assignment was already right:
- Pin 16 (GPIO23): TDI ← correct, must be reverted in schematic
- Pin 18 (GPIO24): TMS ← correct, must be reverted in schematic
User confirmed 2026-06-12. Schematic to be updated accordingly.
During Group 8 I2C annotation work, two items could not be resolved from available sources:
- 0x0C — unknown device. LTC2992 (EGP10001605) uses 0x0C as its SMBus Alert Response Address — if LTC2992 is on this board, 0x0C is its ARA. Otherwise source is unknown.
- 0x22 vs 0x23 (CH224Q, U27) — datasheet states "0x22 or 0x23" for CH224Q/CH224A. Current hypothesis: CH224Q = 0x22, CH224A = 0x23 (variant-fixed). Needs confirmation against actual device behaviour or WCH errata.
Action: Confirm both during schematic/netlist review before tape-out.
Observation
C50 (EGP10001913, A700X227M006ATE007) is rated 6.3V and placed on the 5V output rail (confirmed schematic page 12: "220u, 6.3V").
6.3V / 5.0V = 1.26× derating ratio. Standard practice for aluminium electrolytics is minimum 1.5× (ideally 2×) to account for:
- Voltage ripple on rail
- Component tolerance
- Temperature-dependent voltage derating
Risk
Early capacitor failure; reduced service lifetime.
Recommendation
Replace C50 with a 220µF/10V (or higher) electrolytic. EGP number will need to be updated. C49 (EGP10001791, A782MS227M1VLAS020) is rated 35V on VIN — that part is correctly derated.
Observation
Netlist unconnected pin list includes U17-7 and U17-23 without "(by TERM)" — meaning no explicit NC flag was placed in the schematic for these pins.
The LM76005RNPR schematic symbol includes NC1–NC7 labeled pins (13, 14, 15, 29, 27, 21, 20) which are correctly marked unconnected. Pins 7 and 23 are separate and their function needs verification.
Risk
If pins 7 and 23 are functional (e.g., AGND, PGND, or SYNC/MODE) the converter may malfunction. If they are truly NC by datasheet, missing NC markers are an ERC cleanliness issue.
Required action
Check LM76005RNPR datasheet for physical pins 7 and 23 (WQFN-30 package). If NC: add NC flags in schematic to suppress ERC warnings. If functional: connect appropriately.
Observation
SharpMES EGP10001392 (DS1813R-10+T&R) has assetType=Consigned, consignee=GBox. This part is not in E-Sharp inventory — it belongs to GBox and cannot be freely used on other products.
Risk
BOM submission for ESH10000597 R1 will require GBox approval or sourcing of a non-consigned alternative. DS1813R-10 is the Analog Devices supervisory reset IC.
Recommendation
Either obtain GBox agreement for this BOM usage, or find an equivalent non-consigned supervisory reset (e.g., MAX809, MCP101, similar SOT-23 3-pin reset IC) and create a new EGP.
The ESH10000597 R1 schematic (updated 2026-06-15) has been sent to colleagues for peer review. Two areas are flagged as extra important and should get focused attention:
M1 RPi connector pinout — see open notices [[E-018]] (8 pin reassignments vs R0) and [[E-017]] (12 functional pin-assignment errors found vs ESH10000539 reference). Verify GPIO-to-signal mapping, JTAG TMS/TDI (pins 16/18), SPI1_CS1_N on GPIO12 (pin 32, software CS only), and UART pull-ups before tape-out.
Secondary Power In (schematic sheet 10) — PoE chain: U12 (TPS2373-4 PD controller) + U17 (LM76005 buck) fed from VPOE / external 24–60 V (J16). Review classification resistors, input-cap voltage ratings (100 V parts), and the PG-pin handling ([[E-031]], [[E-032]]).
Reviewers: record findings as Trace entries against this project.
Decision (2026-06-15)
Connect both spare ADS7828 channels:
- CH_temp — board temperature via TMP236A4DCKR (EGP10001708; TI analog temp sensor, SC-70-5, 3V3 supply, ~19.5 mV/°C). Output reaches the 2.5 V VREF ceiling at ~82 °C — accepted for board-ambient over-temp telemetry (saturation = over-temp flag).
- CH_3V3 — 3V3 rail monitor via ÷2 divider + RC.
Kept after RPi-sensor check (2026-06-16)
RPi SoC has its own die-temp sensor but reads the Pi die only; TMP236 monitors the M1 carrier / power-stage thermal domain the Pi cannot see. Retained. Layout: place near the power-stage hot zone.
Implementation verified
- TMP236 = U14: U14-4=3V3 (decoupled by C35), U14-2=GND, U14-3=OUT → R78 →
BOARD_TEMP(C32=100 nF to GND) → U24-3 (CH2). U14-1/-5 = NC. - R78 = 1 kΩ (changed from 30 Ω) → RC cutoff ~1.6 kHz; resolves the TMP236 capacitive-load stability concern (1 k series before the 100 nF). Still ~1000× the temperature bandwidth.
- C35 added as U14 V+ decoupling (3V3↔GND).
- 3V3 monitor: 3V3 → R77 (1 k) →
MON_3V3→ U24-4 (CH3) → R62 (1 k) → GND = ÷2 → 1.65 V. - Both spare ADS7828 channels connected; no longer in the unconnected-pin list.
Status
Schematic + netlist + BOM verified (2026-06-16). Layout placement + clean DRC still pending — close E-043 once those are done.
Pre-layout schematic+BOM review (board 5, no ODB++ yet). Walked 7 active sheets (1 RPi & Bus, 2 Monitor/LED, 3 Fan/EEPROM/Clock, 9 USB-C Power In, 10 Secondary Power In, 11 Power Control, 12 Local Power); understanding 214/217 parts. Grounded in the Trace intent.
VERIFIED — implementation matches the recorded decisions:
- E-033 JTAG: R1 wires TDO=GPIO22(15), TDI=GPIO23(16), TMS=GPIO24(18), TCK=GPIO25(22) = the retained R0 order. CORRECT.
- E-016 5V->RPi: F1 2A in parallel with R147 0R (two-variant footprint). Present.
- E-028/29/30 TPS2373: CLSA=62R, CLSB=91R, AMPS_CTL=1k. Match.
- E-027 LM76005 CIN 10u/100V; E-035 L3+L4=20uH, feedback ~21V. Match (see reconcile below).
- E-031 TPS2373 PG + E-032 LM76005 PGOOD: both NC. CONFIRMED.
- E-007 U10 ILIM R39=680R; E-008 dVdt ramp C24/C22. Match.
- E-041 D3 SRV05-4 pin5 NC (correct for the -4LA). CONFIRMED.
- E-043 ADS7828 (U24) CH2/CH3 unconnected. CONFIRMED (2 spare ADC channels).
RECONCILE / RESOLVE:
- E-036 I2C address map RESOLVED on I2C0 (SDA0/SCL0): U1 PI4IOE=0x20, CH224Q=0x22 (resolves the 0x22-vs-0x23 question -> 0x22), LP5012=0x14, MAX6650=0x48, ADS7828=0x49, 24AA02 EEPROM=0x50-0x57. No address collisions. NO device on the schematic uses 0x0C -> the '0x0C unresolved' note appears stale or refers to an off-board/module device; suggest closing the on-board part of E-036.
- E-035: decision text says R_top=1x200k, but the schematic implements the LM76005 feedback top as 2x100k in series (R75+R56). Same value/ratio (~21V) - update the decision text to match.
OPEN / VERIFY:
- E-020 CONFIRMED: R53 (1k) in the SHDN_N(GPIO13)->U11 /CLR path is NM, and /CLR is pulled to VCC via R54 10k -> firmware soft-shutdown is non-functional as drawn and the latch power-up state is indeterminate. Decide intended boot state / whether R53 must be populated.
- 7805 (U13): raised as CON-001 (21V->5V drop on the always-on rail; VCC=5V vs E-015 '3V3' wording; E-013 footprint). See the concern.
- VIN architecture (confirm intended): VIN is a diode-OR of PoE (D14/D15) + external 24-60VDC (J16/D18) + USB-C 20V PD (J13/D16).
NOT YET WALKED (lower priority, mostly connectors): sheets 6/7/8 (module connectors J10-12/J3/J15 - relevant to E-018 RPi/module pinout & E-025 20V-VIN-on-module-pins), 13 (HDMI J6/J8), 4/5 (blank/notes). M2/M3/M5 (SMTSO standoffs) should be classified non-functional.
— odb board 5 (pre-layout walk)
Subject: Accordion M1 R1 — pre-layout schematic walk
— odb board 5 (comment)
Correction (2026-06-15, gustav.kihlberg)
The E-020 line above is superseded: SHDN_N is driven by the PI4IOE5V6416 (U1-3), not RPi GPIO13 (M1 pin 33 / GPIO13 is I2CSEL4). U1 powers up hi-Z, so the "GPIO13 drives /CLR low at boot" root cause does not apply. See corrected/closed E-020: R53 left NM for R1, latch held by R54→VCC, and a pull-up added at U3 (ECS-3225MV) EN to define SHDN_N high at POR.
U13 (7805) regulates the VIN bus (~21V) down to VCC (5V) — a ~16V linear drop on the always-on rail. Verify before layout: (1) worst-case dissipation — VCC must be a micro-load (the U11 74HCS74 latch only) for a 7805 at 21Vin to be thermally OK, and VIN can rise under PoE/PD transients; confirm what else loads VCC. (2) E-013's suspected 7805 footprint/part inconsistency must be resolved. (3) E-015 calls this the 'always-on 3V3 supply', but the part is a 7805 and OUT=VCC=5V — reconcile whether the always-on rail is 5V, or a downstream 3V3 LDO is intended/missing.
Receipts: ["schematic:sheet9 U13 7805 IN=VIN OUT=VCC (C25 100n)", "schematic:VIN ~21V diode-OR (D14/D15 PoE, D16 USB-C VBUS, D18 ext 24-60VDC; LM76005 E-035)", "trace:E-013 7805 footprint/part inconsistency — verify before layout sign-off", "trace:E-015 7805 retained as always-on supply for U11 74HCS74 latch (describes it as '3V3')", "bom:U13 = 7805 (EGP10001679)"]
— odb board 5, concern CON-001
Summary
DRC on the ESH10000597 R1 layout (PCB file agent_mini.pcb). Headline count is high but the overwhelming majority are configuration artefacts and expected-by-design items. DrcViolationsErrorLog.txt is empty (0 bytes) — no item-level export.
Resolved (earlier runs)
- Unplaced parts → 0; dangling vias/jumpers → 0;
LM76005_OUTplane error → resolved; SMD-pad↔via clearance → No Hazards; vias-under-SMD-pads 7 → 2.
Reviewed and accepted by engineer (not defects)
- Trace hangers (25), trace loop (1), trace widths (4): inspected — not real violations. Recommend waiving/approving in the tool.
Open items before sign-off
- Vias under SMD pads: 2 — confirm intentional via-in-pad (filled/capped) or relocate.
- NEW (DRC re-run 2026-06-16 17:13) — 2 connectivity hazards from the added parts (both were "No Hazards" in the prior run):
- Unrouted Pins: 1 — one pin not yet routed.
- Plane Unrouted / Partially Routed Nets: 1 — a plane net (GND/3V3) not fully connected.
- Almost certainly the newly added temp-sensor / 3V3-divider / battery circuitry (BOARD_TEMP, MON_3V3, VBAT B1+R80, C35 decoupling) — finish routing and re-run. Item-level location not in export; identify in the tool.
Informational / expected (no action)
- Vias under top/bottom place outlines: ground-stitching / via-in-pad under components.
- Component courtyard overlaps: M1 (RPi header) / J9 (SO-DIMM) over intentionally-placed parts; type-to-type clearance rules undefined (0.1 mm default).
- Board outline ↔ mounting holes: edge tab/mounting features, expected.
J15 (Accordion M2 slot) exposes a VBatt rail (pin 75, fed by a 'VBAT' rail label), but the M1 mainboard has no on-board battery or charger. Verify the source/intent of VBatt: (a) reserved/unconnected on R1, (b) fed from an external source, or (c) expected to be supplied BACK by the mating M2 module. If unconnected, any module relying on VBatt sees a dead rail; if module-sourced, confirm direction + protection. Decide and annotate before layout.
Receipts: ["schematic:sheet8 J15.75 VBatt + 'VBAT' rail label feeding it", "bom:M1 has no battery connector and no charger IC", "context:J15 is the main M2 expansion slot (75-pin)"]
— odb board 5, concern CON-002
SUMMARY of the pre-layout schematic+BOM review (board 5, no ODB++). 13 sheets walked, 214/217 parts understood, grounded in Trace intent. All findings are now discrete, tracked Trace entries (not just notes):
FINDINGS — live status:
- E-045 (CON-001) 7805 (U13) 21V->5V always-on rail — RAISED & ANSWERED (engineer): SOT-89 ~400mW, VCC is a light load (latch + pull-ups + LED, ~25mA) so dissipation is within rating; 5V is correct (3.3V would dissipate more); footprint resolved (E-013 closed); E-015 '3V3' wording corrected. CLOSED-OUT.
- E-047 (CON-002) VBatt on the M2 slot (J15.75) — OPEN: M1 has no on-board battery/charger; verify whether VBatt is reserved/unconnected, externally fed, or module-supplied, and annotate. Action before layout.
- E-020 R53 NM soft-shutdown — CONFIRMED from sheet 11 (R53 NM, /CLR held by R54 -> SHDN_N can't clear the latch). OPEN pending the firmware GPIO13 boot-state characterisation.
- E-025 12V->20V on module pins — on-board side CONFIRMED (VDD~=20V on J10/J3/J15 power pins, no 12V pin). OPEN: module-SIDE review (every mating N-Top/Comtop/M2 module must expect 20V, not 12V) — needs the module pinouts.
- E-036 I2C address map — CLOSED (clean map on I2C0; CH224Q=0x22; no on-board 0x0C).
- E-035 LM76005 R_top — CORRECTED (2x100k series, as built).
VERIFIED correct, no action: E-007 (ILIM 680R), E-008 (dVdt ramp), E-016 (5V fuse||R147), E-027 (CIN 10u/100V), E-028/29/30 (TPS2373 62R/91R/1k), E-031/032 (PG pins NC), E-033 (JTAG TDI=GPIO23/TMS=GPIO24), E-041 (D3 pin5 NC), E-043 (ADS7828 CH2/3 spare).
E-042 (the review ask) addressed: RPi pinout (sheet 1, M1 header — E-018/E-033) and Secondary/Main Power In (sheets 9/10) both walked. VIN = diode-OR of PoE + external 24-60VDC + USB-C 20V PD.
STILL NEEDS A HUMAN / MODULE DATA: E-047 (VBatt source), E-025 (module-side 20V), E-020 (firmware GPIO13), and the E-018 mechanical/full RPi-pinout sign-off.
NOTE on scope: this is a pre-layout review — connectivity-level checks (shorts, single-point nets, drive conflicts) are NOT run yet; they light up automatically when the post-layout ODB++ take ingests onto this same design line, and diff/fix-report will then show what layout implemented + cleared.
— odb board 5 (pre-layout review summary)
Subject: Accordion M1 R1 — pre-layout review SUMMARY (status of findings)
— odb board 5 (comment)
ERC-C01: I2CSEL3 (M1-31, GPIO6) and I2CSEL4 (M1-33, GPIO13) are single-pin nets — the signal names imply intended I2C-mux selection bits but the wires never reach the muxes (U4/U5). Should they be wired to a real consumer, or carry explicit no-connect symbols? Martin's disposition: should have no-connect symbol if not used.
Receipts: ["netlist:ESH10000597_NET.qcv lines 325-326 - I2CSEL3 M1-31 and I2CSEL4 M1-33 single-node entries", "netlist:I2CSEL0 has 3 nodes (U5-11, M1-28, U4-11) - pattern confirms 3 select bits per mux", "datasheet:SN74CB3Q3251PWR FUNCTION TABLE shows 3 select bits + OE only", "netlist:GND net includes U4-7 and U5-7 (OE pins) - muxes always-enabled"]
— odb board 5, concern CON-003
ERC-C08: RPi connector pins M1-1 and M1-17 are inconsistent with the recorded pinout table (E-019 / entry 410) which marks both as '3V3 Power'. RPi 40-pin spec confirms pins 1 and 17 are 3V3 OUTPUTS from the Pi (sourced from Pi's onboard LDO). Netlist shows M1-1 on RPI_ON net (with TP1-1) and M1-17 in unconnected list without (by TERM) marker. M1 has its own 3V3 generation via U8/U30 AMS1117 so it does not consume the Pi's 3V3 output. Martin's disposition: remove off-page symbol for pin 1, add no-connect symbol for pin 17, update pinout table (E-019).
Receipts: ["netlist:RPI_ON net = M1-1 TP1-1 (2 nodes)", "netlist:unconnected pins list contains '/M1 M1-17' without (by TERM)", "trace entry id 410 (E-019) - pin 1 and pin 17 rows say '3V3 Power'", "BOM:U8 = AMS1117-ADJ, U30 = AMS1117-ADJ (M1 generates own 3V3)", "RPi 40-pin spec: pin 1 = 3V3 output, pin 17 = 3V3 output (same rail)"]
— odb board 5, concern CON-004
ERC-C02: S2 (push-button PBH2UOANAHX) pins 4, 5, 6 are unconnected in the netlist AND lack the (by TERM) marker that every other intentional NC pin in the design carries. S2-1/2/3 are functional contacts. Pins 5/6 on 6-pin tactile switches are commonly mechanical retention tabs that may require ground per datasheet. Martin's disposition: add no-connect symbol.
Receipts: ["netlist:ESH10000597_NET.qcv lines 328-330 - S2-4, S2-5, S2-6 in unconnected list without (by TERM)", "netlist:lines 331-378 - all other unconnected pins have (by TERM)", "BOM:S2 = PBH2UOANAHX (push button, 6 pins)", "netlist:S2-1 on $14N73, S2-2 and S2-3 on $14N50 (only 3 of 6 pins functional)"]
— odb board 5, concern CON-005
ERC-D03: PG5 net (TPS259474 U16-3 Power Good output) is pulled up to 3V3 via R68 10k but has no consumer. The pull-up is wired, but no downstream logic, indicator, or sequencer reads the PG signal. Either route PG5 to its intended consumer (RPi GPIO for firmware power-state detection, indicator LED, etc.) or remove the off-page label and pull-up if no consumer is planned. Martin's disposition: PG5 goes nowhere, remove off-page if intentional.
Receipts: ["netlist:'PG5' U16-3 R68-1 (only 2 nodes)", "netlist:3V3 net contains R68-2 (confirms pull-up to 3V3)", "BOM:U16 = TPS259474LRPW (eFuse with PG)", "BOM:R68 = 10k (EGP10000097 group)", "trace entry E-031 (TPS2373 PG floating) and E-032 (LM76005 PG floating) - related PG-handling decisions"]
— odb board 5, concern CON-006
Schematic PDF (ESH10000597_SCH.pdf, 2026-06-15 export) has inconsistent sheet-count footers: sheets 1-8 read 'SHEET X of 12' while sheets 9-13 read 'SHEET X of 13'. Total sheets = 13 (the 'of 13' value is correct). Likely cause: sheet 9 (PoE secondary input) was added partway through R1 design and older sheets' page-count fields were not refreshed. Cosmetic but visible to anyone reviewing the released PDF. Martin's disposition: sheet numbering wrong.
Receipts: ["pdf:ESH10000597_SCH.pdf sheets 1-8 footer = 'SHEET X of 12'", "pdf:sheets 9-13 footer = 'SHEET X of 13'", "pdf:13 sheets present in total (extracted by pdftotext)", "Trace entry E-048 confirms '13 sheets walked' from pre-layout review"]
— odb board 5, concern CON-007
DESIGN REVIEW — Accordion M1 R1, post-layout take (ODB++ + BOM + schematic). Verdict: WARNINGS — 0 errors, 87 warnings. Classification/understanding coverage ~100% (513/514 members); distinct from the verdict and from electrical sign-off.
FINDINGS (3 rule clusters):
- SinglePointNet x61 — nets reaching a single pin. Mostly unused connector / module-slot header pins (benign), but a subset may land on IC inputs (floating-input risk) — needs triage.
- I2cPullupMissing x16 — all 8 I2C channels (SCL0-7 / SDA0-7) flagged as lacking a 2-pin pull-up to a rail.
- BomLayoutMismatch x10 — placed but absent from BOM: J9 + NRD0-8 (9 no-load/DNP resistor positions).
INTENT: E-031 (TPS2373 PG) and E-032 (LM76005 PG) unrouted — confirmed; intended "GPIO for future". BOM linkage otherwise clean (225/225, 6 DNP incl. CR-1632 coin cell).
— odb board 7 (comment)
Dispositions 2026-06-16 (engineer + AI verify)
- I2cPullupMissing ×16 → FALSE POSITIVE. All 16 I2C lines have 10 kΩ pull-ups to 3V3 via resistor arrays: SDA0-3→R3, SDA4-7→R4, SCL0-3→R5, SCL4-7→R6 (EXB-N8V103JX, BOM line 36; R7/R8 = SRQ). Feed side on 3V3, signal side on SDA/SCL — verified in netlist. Review rule looked for discrete 2-pin pull-ups and missed the array packages. Pull-ups are ON-BOARD. Waived.
- BomLayoutMismatch J9 → REAL, being fixed. Root cause: J9 (SO-DIMM) had "Part List Exclude: True", silently dropping a real connector from the BOM export. Netlist↔BOM reconciliation confirmed J9 + TP1 as the only connected refdes missing (227 vs 225); TP1 is a benign bare-pad test point. Action: add J9 to the BOM. ← only open action from this review.
- NRD0-8 → could not be identified in netlist/schematic/BOM/layout; no function located. Disregarded.
- SinglePointNet ×61 → TRIAGED, no defects. Netlist = 52 single-connection pins (+ 9 NRD0-8 layout-only = 61). 29 are unused connector/switch/diode spares (J13/J15/J10/J6, M1-17/31/33, S2-4/5/6, D3-5 — already dispositioned E-041/049/050/051). 23 are IC pins, and EVERY one carries an explicit NC flag (by TERM) — no unmarked floating IC inputs. Of those: datasheet-NC (U14, U17, U19), open-drain PG outputs left open (U10-3, U12-13, U27-10), unused outputs/GPIO (U11-5/6/9, U21-6/7, U4-6/U5-6). Engineer-confirmed 2026-06-16: U12-16/17/18/19 (TPS2373 UVLO_SEL/TPL/TPH/BT — converter-control pins, unused since LM76005 does the buck) = NC by design; U2-5 (TPS54302 EN) = floats-to-enabled, always-on intended. No tie-offs required.
Found during R1 manual PCB review (2026-06-17): an earlier consultant routed copper for the 1V8 and 2V5 rails on/through a layer serving as a GND reference plane, breaking that plane's continuity.
Risk: a slotted reference plane under high-speed signals disrupts the return path — impedance discontinuity, crosstalk/EMI, degraded SI for any high-speed net crossing the affected region.
R1 disposition: NOT fixed in R1 (no time in the order timeline); assessed probably low impact; proceeded as-is.
Next-revision follow-up: reroute 1V8/2V5 off the reference layer (or re-pour a continuous GND plane); audit which high-speed nets cross the affected region; capture affected-net list + stackup detail.
Re-created after the 2026-06-17 Trace crash (was E-058).
JLCPCB's matcher auto-picked TE parts for the two custom E-Sharp connectors — these were machine "Select by System" matches, NOT engineer-confirmed:
- J9 (AccordionMPIO) → TE 2309413-1 (C2766246)
- J15 (Accordion M2 slot) → TE 2199230-5 (C4827729)
Action: confirm each is the correct mating connector (pinout, pitch, mechanical fit) for the custom part — or override / consign. Do not assume the auto-match is right.
Captured during R1 BOM review, 2026-06-17.
Design Rule Status
■ No violations ■ Warning ■ Error ■ Waived
Sign-offs
| Stage | Role | Signed By | Date | Statement |
|---|---|---|---|---|
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |
| approved | — | demo | 2026-06-10 | — |