PDLVDS-RX — photodiode LVDS receiver

Clean-room receiver for the Miniscope Zero optical uplink: Excelitas C30737LH Si APD → OPA657 TIA → LMH7220 comparator (LVDS out, DAC-set threshold) → ADN2813 CDR → STM32H723 + USB3300 USB-HS. Design target: 50 Mbps line rate, 8b/10b (40 Mbps payload); the paper's mode: 8 Mbps Manchester (16 Mbaud), as transmitted. LT3757 flyback APD bias 150–420 V. USB-C powered; verify on any laptop over USB, no FPGA attached.

Pass 151

2026-11-06 04:08 PST (2026-11-06T12:08:41Z UTC) · commit 3030246 (30302465aea7f7706223e922ee6139ef4d95fe78)

ADOPTED

CDR_SQUELCH/X1.2 shorts closed by an obstacle-model fix. Root cause: the heal/router item model registered every pad with footprint rotation ADDED to the pad orientation, but KiCad 8 pad.GetOrientationDegrees() is already board-absolute – non-square pads on 90/270-degree footprints were modelled with axes swapped (X1.2 modelled y[8.75,10.75], real y[7.5,12.0]), so heal laid the squelch web through the real pad corner and re-healing reproduced the short exactly. Model fixed in all four registration copies + regression test (tools commit 32c44dc, fail-old/pass-new). Board: ripped the 11 web segments clipping X1.2, re-healed CDR_SQUELCH with the corrected model; it detoured around the pad. KiCad DRC exp180 -> exp181: violations 167 -> 156, shorting_items 6 -> 0, solder_mask_bridge 5 -> 0, unconnected items 82 UNCHANGED, clearance 0, dangling 0. Remaining classes: silk 148, copper_edge 7, holes_co_located 1 (two co-located NEG_RAW vias).

Nets fully routednot recorded
Pins failednot recorded
Clearance violations70
Unconnected nets40
Audit verdictFAIL

Routes — all copper layers and each layer

F.Cu In1.Cu In2.Cu B.Cu

Top

Pass 151 — top

Bottom

Pass 151 — bottom

← Pass 150 · all passes · Pass 152 →