Embryo Heartbeat Detector PCB Design


I attempted the remaining routing fixes, but the board is still not DRC-clean.
Final live review:
  • Airwires: 10 errors remain
  • Dangling traces: 0 reported
  • Floating copper: 0 reported
  • Copper overlaps: 0 reported
  • Invalid layers: 0 reported
  • ERC warnings: 2 stale J1:0 USB-C floating-pin warnings remain
Main blockers:
  • AFE4404 BGA escape for ADC_RDY and TX1 / LED_K could not be routed by the available point-router.
  • USB-C duplicate D−/GND pad tie errors remain as physical airwires, although they are logically on the same schematic nets.
  • I removed exposed dangling/floating fragments; I did not export Gerbers.
Optical/sensor answers:
Q1. Is there an optical sensor in the project?
No actual optical emitter/photodiode part is present on the main board. The project has J3, a connector intended for an optical daughterboard, but no OSRAM SFH7050, SFH 4736, VEMD8080, or equivalent optical sensor is currently placed in the schematic.
Q2. What does J3 connect to?
Current J3 mapping:
  • J3 pin 1: 3V3 / sensor supply rail
  • J3 pin 2: LED_K → AFE4404 TX1
  • J3 pin 3: PD1_A → AFE4404 INP
  • J3 pin 4: AGND
  • J3 pin 5: PD2_A → AFE4404 INM
  • J3 pin 6: AGND
Q3. Do AFE4404 optical pins route to a connector/sensor?
Logically:
  • INP routes to J3 pin 3.
  • INM routes to J3 pin 5.
  • TX1 routes to J3 pin 2.
  • TX2 and TX3 are not used for the current connector path.
Physically, TX1 / LED_K still has an unresolved PCB airwire.
Q4. What needs to be added if no optical sensor exists?
Add a small optical daughterboard with an integrated sensor such as OSRAM SFH7050, or discrete IR LED + photodiode(s). For the current J3 wiring, use:
  • LED anode / sensor LED supply → J3 pin 1
  • LED cathode driven by AFE → J3 pin 2 / AFE TX1
  • Photodiode terminal 1 → J3 pin 3 / AFE INP
  • Photodiode terminal 2 → J3 pin 5 / AFE INM
  • Shield/analog return → J3 pins 4 and 6 / AGND
For SFH7050 specifically, verify the exact OSRAM package pinout before layout; the current 6-pin connector only supports one LED drive channel unless the daughterboard adds routing/muxing.
Q5. Which STM32 pin does ADC_RDY connect to?
AFE4404 ADC_RDY connects to STM32F303 PB0. PB0 is interrupt-capable via STM32 EXTI line 0, so firmware can trigger on the AFE data-ready edge.
Fix routing and sensor
Add optical daughterboard
Fix BGA fanout
Fix USB-C ties
Explain BGA escape
Review sensor path

Board Bring-Up Plan — OVA Pulse Embryo Heartbeat Detector
Current Fabrication Status
Do not order fabrication yet. The PCB is partially routed but not DRC-clean.
Latest validation state after cleanup routing:
  • Board: 60 mm x 50 mm rectangular, 4 copper layers.
  • Stackup intent: Top signal / Layer 2 GND / Layer 3 3.3 V power / Bottom signal.
  • Autorouting completed two passes.
  • Remaining blockers: 15 airwire errors and 5 dangling-trace warnings.
  • Manufacturing export was intentionally not generated because unrouted electrical connections remain.
Prerequisites
Equipment:
  • Current-limited bench supply or USB current meter
  • Digital multimeter
  • Oscilloscope, preferably 100 MHz or higher
  • ST-LINK or compatible SWD programmer
  • USB-C cable and host PC
  • Optical test fixture or known reflective target/egg mock-up
Safety notes:
  • USB VBUS input is 5 V nominal.
  • 3.3 V rail is generated by AP2112K-3.3.
  • AFE4404 inputs and photodiode nodes are sensitive analog nodes; use ESD precautions.
  • Do not drive optical LED continuously at peak pulse current without firmware current/duty-cycle control.
1. Visual Inspection
  • Verify USB-C connector J1 solder joints and shell pads.
  • Verify AP2112K regulator U3 orientation.
  • Verify STM32F303RET6 U1 LQFP pin alignment and no bridges.
  • Verify AFE4404 U2 BGA placement/reflow quality.
  • Verify TFT connector J2, optical connector J3, and SWD header J4 orientation.
  • Check button and LED polarity/orientation.
  • Inspect 0402/0603 passives around U1 and U2 for tombstoning.
2. Power Rail Verification

Table


RailSourceExpected VoltageMeasure AtCurrent LimitPass Criteria
VBUSUSB-C J15.0 VJ1 VBUS / C1100 mA first power-on4.75–5.25 V, no overheating
3V3AP2112K-3.3 U33.3 VU3 VOUT / C2 / MCU VDD caps100 mA first power-on, then 500 mA max USB budget3.20–3.40 V
AFE supplies3V3-derived AFE rails3.3 V nominalU2 decoupling caps C12–C16100 mA first power-onStable, low ripple
TX_SUP / LED driveAFE LED driver supply3.3 V nominalC16 and optical connector J3Firmware-controlled pulses onlyNo continuous overcurrent
Procedure:
  1. With no power, measure resistance from VBUS to GND and 3V3 to GND.
  2. Apply USB power through a current-limited source.
  3. Confirm 3V3 appears before connecting SWD/programmer.
  4. Check AP2112K temperature under USB power.
  5. Scope 3V3 near U1 and U2; excessive ripple or dips indicate layout/assembly issues.
3. Critical Signal Verification

Table


SignalNetExpected StateMeasure AtNotes
ResetNRSTHigh after reset RC delayU1 NRST / J4 RSTLow pulse when reset asserted
Boot selectBOOT0LowU1 BOOT0Ensures flash boot
SWD clockSWCLKActive during programmingJ4 SWCLK3.3 V logic
SWD dataSWDIOBidirectional during programmingJ4 SWDIO3.3 V logic
HSE clockHSE_IN/HSE_OUT8 MHz if firmware enables HSEY1/U1 pinsOptional clock source
LSE clockLSE_IN/LSE_OUT32.768 kHz if firmware enables LSEY2/U1 pinsRTC clock
AFE interruptAFE_ADC_RDYPulses when AFE conversions readyU2 ADC_RDY / U1 PB0Currently one routing blocker in layout review
4. Connector and Interface Tests

Table


ConnectorTypePins/SignalsTest Method
J1USB-CVBUS, GND, D+, D-, CC1, CC2USB power, continuity, USB enumeration
J4SWD 1.27 mmSWDIO, SWCLK, RST, GNDST-LINK target detect
J36-pin opticalVLED, LED_K, PD1_A, PD1_K, PD2_A, AGNDContinuity to optical board; verify LED current path
J214-pin TFT FFCSPI, control, backlightTFT init and test pattern
5. Programming and Debug
  1. Power from USB-C and confirm 3V3.
  2. Connect ST-LINK to J4.
  3. Use STM32CubeProgrammer to read device ID.
  4. Program a minimal firmware image that toggles LED1/LED2 and prints USB CDC status.
  5. Verify NRST and BOOT0 behavior if programming fails.
6. Functional Validation

Table


TestComponentsExpected Result
USB CDC enumerationJ1, D1, U1Device enumerates on host
I2C scanU1, U2, R9/R10 pull-upsAFE4404 responds at configured address
AFE interruptU2 ADC_RDY to U1 PB0Interrupt toggles during sampling
TFT displayU1, J2, Q1Display initializes, backlight PWM works
ButtonsSW1, SW2, pull-upsGPIO state changes on press
RGB/status LEDLED2, series resistorsFirmware can drive R/G/B channels
Optical LED pulseU2, J3 optical LED pathLED pulses only under firmware control
Photodiode inputU2, J3 PD linesAFE readings change with optical signal
7. Manufacturing Blockers to Resolve Before Ordering
  • Clear all remaining airwires.
  • Clear dangling-trace warnings.
  • Re-check USB D+/D- differential pair routing and length matching.
  • Verify AFE4404 BGA escape routing; the ADC_RDY net required a local fine-pitch exception.
  • Assign exact manufacturer part numbers for generic passives or approve generic BOM sourcing.
  • Re-run DRC/ERC until there are zero unresolved fabrication blockers.
  • Only then export Gerber, BOM, pick-and-place, and STEP/3D files.
Pass/Fail Summary

Table


SectionResultNotes
Schematic functional blocksPartial passMajor blocks exist, but final datasheet signoff still recommended for AFE4404
PCB placementPassComponents fit in 60 mm x 50 mm outline
RoutingFail15 airwires remain after two autoroute passes
DRCFailDangling traces remain
Manufacturing readinessFailExports intentionally withheld
Board Status: Requires routing cleanup before fabrication.
  • Current Fabrication Status

  • Prerequisites

  • 1. Visual Inspection

  • 2. Power Rail Verification

  • 3. Critical Signal Verification

  • 4. Connector and Interface Tests

  • 5. Programming and Debug

  • 6. Functional Validation

  • 7. Manufacturing Blockers to Resolve Before Ordering

  • Pass/Fail Summary