PhotoTherapy Workflow Review

Removed all 113 dedicated TP/Keystone 5018* test-point components from schematic and PCB; remaining TP components = 0, remaining Keystone 5018 footprints = 0, and NUCLEO coordinates stayed unchanged.
Result: PASS for test-point removal — required nets are still present with reduced connection counts; no routing or component movement was performed. The single post-removal check reports no TP/5018 remains, but still shows pre-existing keepout/pin warnings and one footprint-internal overlap source at Q_RESET1; initial overlap was not directly reported by the available checker, final explicit overlap source count = 1 (Q_RESET1).
fix placement and keep out
Placement/keepout cleanup is complete and the board check now passes: Board valid = yes, with no routing feasibility issues detected. I did not route, and the verified NUCLEO sockets stayed unchanged at CN7 (55.00, 20.00) and CN10 (115.96, 20.00).
What changed: converted the problematic routing-blocking keepout zones into non-blocking documentation outlines, removed global false keepout rules from copper objects, and replaced/reconnected Q_RESET1 with a clean MMBT3904 footprint.
DRC, route, export
Run full review
Start routing
Check manufacturing readiness
Export fabrication files
J_LASER16
J_LASER13
HS15
J_LASER8
HS12
J_LASER15
J_LASER11
U_PEAK1
U_NUCLEO1
PD3
J_LASER3
U_TIA1
U_WINDOW1
PD4
PD11
J_LASER12
PD15
J_NUCLEO_CN7
PD5
PD13
HS13
HS8
PD16
PD10
PD6
PD12
PD9
PD1
HS3
HS14
HS6
HS2
HS10
HS7
F1
HS16
HS4
J_LASER10
D_PEAK1
J_LASER7
J_LASER14
RV_HIGH1
Resistance
Resistance
U_REG_ANALOG
U_TIA4
PD7
J_LASER1
U_TIA2
U_TIA3
RV_LOW1
Resistance
Resistance
J_NUCLEO_CN10
HS5
U_REG_LOGIC
PD2
PD8
J_LASER6
HS11
J_LASER4
J_LASER2
HS9
J_LASER9
HS1
J_LASER5
PD14
C_TIA_SUPPLY4
Capacitance
100 nF
C_GATE6
Capacitance
100nF
C_RETURNMUX
Capacitance
100 nF
C_TIA_SUPPLY3
Capacitance
100 nF
C_GATE4
Capacitance
100nF
C_REF_LOW
Capacitance
100 nF
C_KEYSWITCH_FILT
Capacitance
100nF
C_STATUS1
Capacitance
100 nF
C_GATE2
Capacitance
100nF
C_GATE3
Capacitance
100nF
C_TIA_SUPPLY1
Capacitance
100 nF
C_REG_LOGIC_OUT_HF
Capacitance
100nF
C_ESTOP_FILT
Capacitance
100nF
C_REG_ANALOG_OUT_HF
Capacitance
100nF
C_GATE1
Capacitance
100nF
C_WINDOW_SUPPLY
Capacitance
100 nF
C_INTERLOCK_FILT
Capacitance
100nF
C_STATUS2
Capacitance
100 nF
C_PMUX
Capacitance
100 nF
C_GATE5
Capacitance
100nF
C_TIA_SUPPLY2
Capacitance
100 nF
C_REG_ANALOG_IN_HF
Capacitance
100nF
C_REG_LOGIC_IN_HF
Capacitance
100nF
C_PEAK_SUPPLY
Capacitance
100 nF
C_REF_HIGH
Capacitance
100 nF
RPD9
Resistance
47kΩ
RPD12
Resistance
47kΩ
R_PWM_PD4
Resistance
100kΩ
RPD10
Resistance
47kΩ
R_RETURN_PD15
Resistance
100kΩ
R_TIA_OUT6
Resistance
100Ω
RPD5
Resistance
47kΩ
R_TIA4
Resistance
22kΩ
R_HYST_HIGH
Resistance
DNP Ω
R_TIA1
Resistance
22kΩ
R_TIA_OUT1
Resistance
100Ω
RG12
Resistance
47Ω
R_TIA14
Resistance
22kΩ
R_TIA_OUT4
Resistance
100Ω
R_TIA_OUT12
Resistance
100Ω
RPD2
Resistance
47kΩ
R_TIA6
Resistance
22kΩ
R_PWM_PD7
Resistance
100kΩ
RG10
Resistance
47Ω
R_ADC1
Resistance
470Ω
R_RETURN_PD8
Resistance
100kΩ
R_TIA_OUT16
Resistance
100Ω
R_RETURN_PD9
Resistance
100kΩ
R_RETURN_PD6
Resistance
100kΩ
R_PWM_PD10
Resistance
100kΩ
R_POWER_MUX_PD
Resistance
100kΩ
RPD14
Resistance
47kΩ
R_PWM_PD9
Resistance
100kΩ
R_TIA15
Resistance
22kΩ
R_RESET_BASE
Resistance
10kΩ
R_TIA_OUT7
Resistance
100Ω
R_TIA7
Resistance
22kΩ
R_TIA5
Resistance
22kΩ
R_PWM_PD3
Resistance
100kΩ
R_PWM_PD16
Resistance
100kΩ
RG13
Resistance
47Ω
RG1
Resistance
47Ω
RG3
Resistance
47Ω
R_STATUS_SER_PD
Resistance
10kΩ
RG2
Resistance
47Ω
R_TIA10
Resistance
22kΩ
R_TIA12
Resistance
22kΩ
R_TIA_OUT2
Resistance
100Ω
R_TIA_OUT5
Resistance
100Ω
R_RESET_PD
Resistance
100kΩ
R_PWM_PD5
Resistance
100kΩ
R_REF_HIGH
Resistance
10kΩ
RG7
Resistance
47Ω
R_TIA_OUT8
Resistance
100Ω
RPD1
Resistance
47kΩ
R_TIA9
Resistance
22kΩ
R_PWM_PD15
Resistance
100kΩ
R_PEAK_BLEED
Resistance
1MΩ
R_TIA11
Resistance
22kΩ
R_RETURN_PD2
Resistance
100kΩ
R_TIA2
Resistance
22kΩ
RPD11
Resistance
47kΩ
R_TEMP_CAPTURE_PD
Resistance
100kΩ
R_TIA_OUT10
Resistance
100Ω
RPD7
Resistance
47kΩ
R_PWM_PD14
Resistance
100kΩ
R_TIA_OUT15
Resistance
100Ω
R_NUCLEO_ENABLE_PD
Resistance
47kΩ
R_PWM_PD13
Resistance
100kΩ
R_RETURN_PD7
Resistance
100kΩ
R_PWM_PD11
Resistance
100kΩ
R_RETURN_PD3
Resistance
100kΩ
R_TIA8
Resistance
22kΩ
R_RETURN_PD1
Resistance
100kΩ
R_PWM_PD12
Resistance
100kΩ
R_TIA_OUT9
Resistance
100Ω
R_RETURN_PD12
Resistance
100kΩ
R_RETURN_PD13
Resistance
100kΩ
R_PWM_PD8
Resistance
100kΩ
R_STATUS_CLK_PD
Resistance
47kΩ
RG11
Resistance
47Ω
R_TIA_OUT11
Resistance
100Ω
RG16
Resistance
47Ω
R_RETURN_PD14
Resistance
100kΩ
RG15
Resistance
47Ω
RPD4
Resistance
47kΩ
R_STATUS_LOAD_PD
Resistance
47kΩ
R_PWM_PD1
Resistance
100kΩ
R_RETURN_PD16
Resistance
100kΩ
R_GLOBAL_PD
Resistance
47kΩ
R_PWM_PD2
Resistance
100kΩ
R_RETURN_PD5
Resistance
100kΩ
R_TIA16
Resistance
22kΩ
RPD8
Resistance
47kΩ
RG6
Resistance
47Ω
R_TIA_OUT14
Resistance
100Ω
RG5
Resistance
47Ω
RG14
Resistance
47Ω
RG8
Resistance
47Ω
R_TIA_OUT3
Resistance
100Ω
RPD6
Resistance
47kΩ
R_RETURN_PD11
Resistance
100kΩ
R_TIA3
Resistance
22kΩ
R_PWM_PD6
Resistance
100kΩ
R_RETURNMUX_EN
Resistance
10kΩ
RPD16
Resistance
47kΩ
RG4
Resistance
47Ω
R_HYST_LOW
Resistance
DNP Ω
R_TIA13
Resistance
22kΩ
RPD13
Resistance
47kΩ
RG9
Resistance
47Ω
RPD15
Resistance
47kΩ
R_RETURN_PD4
Resistance
100kΩ
R_PMUX_EN
Resistance
10kΩ
RPD3
Resistance
47kΩ
R_RETURN_PD10
Resistance
100kΩ
R_REF_LOW
Resistance
10kΩ
R_TIA_OUT13
Resistance
100Ω
R_LINK_LOGIC
Resistance
J_RETURN15
Q16
J_RETURN3
R_LINK_ANALOG
Resistance
R_LINK_LASER
Resistance
Q15
Q5
Q13
Q12
Q6
R_PI_UART_TX
Resistance
47Ω
R_TEENSY_PWR
Resistance
R_NUCLEO_PWR
Resistance
Q2
Q8
Q7
J_RETURN14
R_TEENSY_UART_TX
Resistance
47Ω
R_I2S_DATA_IN
Resistance
47Ω
R_I2S_BCLK
Resistance
47Ω
NT_DGND_POWER
Resistance
J_RETURN16
J_RETURN1
Q14
J_RETURN9
Q11
Q4
J_RETURN12
J_RETURN13
R_I2S_LRCLK
Resistance
47Ω
J_RETURN7
J_RETURN10
Q9
J_RETURN5
J_RETURN11
Q10
J_RETURN4
J_RETURN2
Q1
NT_AGND_DGND
Resistance
Q3
J_RETURN8
R_I2S_DATA_OUT
Resistance
J_RETURN6
R_ESTOP_SRC
Resistance
10kΩ
C_TIA1
Capacitance
10 pF
J_KEYSWITCH
U_GATE1
C_TIA16
Capacitance
10 pF
C_TIA8
Capacitance
10 pF
U_GATE3
C_PEAK_HOLD
Capacitance
47nF
R_INTERLOCK_PD
Resistance
10kΩ
R_KEYSWITCH_SRC
Resistance
10kΩ
R_GATE6C_PULLUP
Resistance
10kΩ
C_TIA13
Capacitance
10 pF
C_REG_ANALOG_IN
Capacitance
1uF
C_TIA_BULK4
Capacitance
1 uF
J_ESTOP
C_REG_ANALOG_OUT
Capacitance
1uF
C_TIA11
Capacitance
10 pF
U_GATE6
C_ADC1
Capacitance
1nF
J_INTERLOCK
C_TIA10
Capacitance
10 pF
C_TIA12
Capacitance
10 pF
C_TIA4
Capacitance
10 pF
C_TIA7
Capacitance
10 pF
C_TIA2
Capacitance
10 pF
U_GATE5
C_TIA5
Capacitance
10 pF
C_TIA3
Capacitance
10 pF
C_TIA_BULK2
Capacitance
1 uF
C_TIA_BULK3
Capacitance
1 uF
U_GATE2
C_TIA9
Capacitance
10 pF
C_TIA15
Capacitance
10 pF
R_KEYSWITCH_PD
Resistance
10kΩ
C_REG_LOGIC_OUT
Capacitance
1uF
C_TIA_BULK1
Capacitance
1 uF
C_TIA6
Capacitance
10 pF
U_GATE4
R_ESTOP_PD
Resistance
10kΩ
C_TIA14
Capacitance
10 pF
C_REG_LOGIC_IN
Capacitance
1uF
R_INTERLOCK_SRC
Resistance
10kΩ
J_PWR1
R_ESTOP_IN
Resistance
1kΩ
U_PMUX1
C_INPUT_BULK2
Capacitance
10uF
Q_RESET1
D_TVS1
C_INPUT_BULK1
Capacitance
1000µF
C_INPUT_HF1
Capacitance
0.1uF
U_STATUS2
R_INTERLOCK_IN
Resistance
1kΩ
Q_REV1
J_PI1
U_RETURNMUX1
R_KEYSWITCH_IN
Resistance
1kΩ
U_STATUS1
NOTE_NUCLEO_PWR
U_TEENSY1
NOTE_TEENSY_PWR

Refine this doc
Ask about this doc
Phase 2 — Module and Connector Pinouts
Scope: Only J_PI1, U_TEENSY1, and U_NUCLEO1 were created/verified. No laser channels, monitoring circuits beyond reserved/label pins, or power-entry circuitry were added.
Raspberry Pi 5 connector — J_PI1
Verification source: Raspberry Pi 40-pin GPIO header documentation. Library symbol pin naming/physical numbering matched physical pins 1–40. Connector mechanical orientation remains to be reviewed before PCB layout.

Table


Physical pinMCU/Header pin namePeripheral functionNet / statusConflict statusVerification status
13.3V3.3 V powerNCOK — explicitly not connectedVerified header role
25V5 V powerNCOK — explicitly not connectedVerified header role
3GPIO2I2C SDANCOKVerified header pin
45V5 V powerNCOK — explicitly not connectedVerified header role
5GPIO3I2C SCLNCOKVerified header pin
6GNDGroundDGNDOKVerified header pin
7GPIO4GPIONCOKVerified header pin
8GPIO14UART TXDPI_UART_TXOKVerified
9GNDGroundDGNDOKVerified
10GPIO15UART RXDPI_UART_RXOKVerified
11GPIO17GPIONCOKVerified header pin
12GPIO18PCM_CLK / I2S BCLKPI_I2S_BCLKOKVerified
13GPIO27GPIONCOKVerified header pin
14GNDGroundDGNDOKVerified
15GPIO22GPIONCOKVerified header pin
16GPIO23GPIONCOKVerified header pin
173.3V3.3 V powerNCOK — explicitly not connectedVerified header role
18GPIO24GPIONCOKVerified header pin
19GPIO10SPI MOSINCOKVerified header pin
20GNDGroundDGNDOKVerified
21GPIO9SPI MISONCOKVerified header pin
22GPIO25GPIONCOKVerified header pin
23GPIO11SPI SCLKNCOKVerified header pin
24GPIO8SPI CE0NCOKVerified header pin
25GNDGroundDGNDOKVerified
26GPIO7SPI CE1NCOKVerified header pin
27ID_SD / DNCHAT ID EEPROM SDANCOK — explicitly NCVerified header role
28ID_SC / DNCHAT ID EEPROM SCLNCOK — explicitly NCVerified header role
29GPIO5GPIONCOKVerified header pin
30GNDGroundDGNDOKVerified
31GPIO6GPIONCOKVerified header pin
32GPIO12PWM/GPIONCOKVerified header pin
33GPIO13PWM/GPIONCOKVerified header pin
34GNDGroundDGNDOKVerified
35GPIO19PCM_FS / I2S LRCLKPI_I2S_LRCLKOKVerified
36GPIO16GPIONCOKVerified header pin
37GPIO26GPIONCOKVerified header pin
38GPIO20PCM_DINPI_I2S_DATA_FROM_TEENSYOK — optional path connected per Teensy assignmentVerified
39GNDGroundDGNDOKVerified
40GPIO21PCM_DOUTPI_I2S_DATA_TO_TEENSYOKVerified
Teensy 4.1 socket module — U_TEENSY1
Verification sources: official PJRC Teensy 4.1 pinout/audio documentation. Library symbol is the available Teensy 4.1 module; terminal names use numeric labels with underscores.

Table


Teensy pinMCU/Header pin namePeripheral functionNet / statusConflict statusVerification status
0RX1UART receive from Pi TXPI_UART_TXOKVerified
1TX1UART transmit to Pi RXPI_UART_RXOKVerified
2Pin 2PWMTEENSY_PWM_01OKUser-approved assignment
3Pin 3PWMTEENSY_PWM_02OKUser-approved assignment
4Pin 4PWMTEENSY_PWM_03OKUser-approved assignment
5Pin 5PWMTEENSY_PWM_04OKUser-approved assignment
6Pin 6PWMTEENSY_PWM_05OKUser-approved assignment
7OUT1AI2S outputPI_I2S_DATA_FROM_TEENSYOK — optional path connectedVerified
8IN1I2S inputPI_I2S_DATA_TO_TEENSYOKVerified
10Pin 10PWMTEENSY_PWM_06OKUser-approved assignment
14Pin 14PWMTEENSY_PWM_07OKUser-approved assignment
15Pin 15PWMTEENSY_PWM_08OKUser-approved assignment
20LRCLK1I2S LRCLKPI_I2S_LRCLKOKVerified
21BCLK1I2S BCLKPI_I2S_BCLKOKVerified
22Pin 22PWMTEENSY_PWM_09OKUser-approved assignment
23MCLK1I2S master clockNC / RESERVEDOK — explicitly reserved and NCVerified
24Pin 24PWMTEENSY_PWM_10OKUser-approved assignment
25Pin 25PWMTEENSY_PWM_11OKUser-approved assignment
28Pin 28PWMTEENSY_PWM_12OKUser-approved assignment
29Pin 29PWMTEENSY_PWM_13OKUser-approved assignment
33Pin 33PWMTEENSY_PWM_14OKUser-approved assignment
36Pin 36PWMTEENSY_PWM_15OKUser-approved assignment
37Pin 37PWMTEENSY_PWM_16OKUser-approved assignment
Teensy NC pins presently marked NC: G_1, 9, 11, 12, 3V, 26, 27, 30, 31, 32, 34, 35, 38, 39, 40, 41, G_2, 13, 16, 17, 18, 19, 3V3, G_3, 5V. Pin 23 is RESERVED and NC.
NUCLEO-G474RE socket/module — U_NUCLEO1
Verification source: STMicroelectronics UM2505 Rev. 7 NUCLEO-G474RE / MB1367 Morpho connector table plus STM32G474RE datasheet function table for PA0/PA1/PA4/PB0. Only MONITOR_MUX_A0..A3 are assigned. TEMP_FREQ_CAPTURE and POWER_MONITOR_ADC remain unassigned pending timer/ADC verification. No Teensy-to-NUCLEO bus was created.

Table


FunctionPhysical header positionMCU pin namePeripheral functionNet / statusConflict statusVerification status
MONITOR_MUX_A0CN7 pin 28PA0 / A0GPIO; ADC12_IN1; timer-capable alternatives existMONITOR_MUX_A0OKVerified provisional candidate
MONITOR_MUX_A1CN7 pin 30PA1 / A1GPIO; ADC12_IN2; timer-capable alternatives existMONITOR_MUX_A1OKVerified provisional candidate
MONITOR_MUX_A2CN7 pin 32PA4 / A2GPIO; ADC2_IN17; TIM3_CH2 alternateMONITOR_MUX_A2OKVerified provisional candidate
MONITOR_MUX_A3CN7 pin 34PB0 / A3GPIO; ADC3_IN12 / ADC1_IN15; TIM3_CH3 alternateMONITOR_MUX_A3OKVerified provisional candidate
TEMP_FREQ_CAPTURETBDTBDTimer capture requiredRESERVED / unassignedOK — deliberately unassignedVerification required
POWER_MONITOR_ADCTBDTBDADC input requiredRESERVED / unassignedOK — deliberately unassignedVerification required
POWER_TOO_LOWTBDTBDDigital input/logic TBDRESERVED / unassignedOKVerification required
POWER_TOO_HIGHTBDTBDDigital input/logic TBDRESERVED / unassignedOKVerification required
GLOBAL_RETURN_FAULTTBDTBDDigital input/logic TBDRESERVED / unassignedOKVerification required
POWER_PEAK_RESETTBDTBDDigital output TBDRESERVED / unassignedOKVerification required
GLOBAL_LASER_DISABLETBDTBDShutdown output TBDRESERVED / unassignedOKVerification required
NUCLEO unassigned Morpho pins marked NC: all CN7/CN10 pins except PA0/CN7_28, PA1/CN7_30, PA4/CN7_32, and PB0/CN7_34.
Verification results
  • Components present: J_PI1, U_TEENSY1, U_NUCLEO1 only, plus net portals automatically created for labels.
  • Authorized Pi↔Teensy nets verified: PI_UART_TX, PI_UART_RX, PI_I2S_BCLK, PI_I2S_LRCLK, PI_I2S_DATA_TO_TEENSY, PI_I2S_DATA_FROM_TEENSY.
  • Pi power pins 1, 2, 4, and 17 are NC.
  • Pi ID pins 27 and 28 are NC.
  • Teensy PWM labels TEENSY_PWM_01 through TEENSY_PWM_16 are assigned to the requested pins.
  • NUCLEO A0–A3 provisional monitor mux candidates are assigned only to PA0, PA1, PA4, and PB0.
  • No Teensy-to-NUCLEO UART/SPI/I2C/data bus was created.
  • ERC note: U_NUCLEO1 power input pins AVDD, VDD, VIN, and VBAT still report missing power because Phase 2 explicitly excludes power circuitry. These are expected open issues until the power/interface phase.
  • Raspberry Pi 5 connector — J_PI1

  • Teensy 4.1 socket module — U_TEENSY1

  • NUCLEO-G474RE socket/module — U_NUCLEO1

  • Verification results

Documents

Assets

MB1367 D-01 NUCLEO-G474RE carrier footprint

MB1367_D01_NUCLEO_G474RE_CARRIER.kicad_modFootprint
PhotoTherapy16_v2.0 thumbnail
Welcome to your new project. Imagine what you can build here.

Properties

Properties describe core aspects of the project.

Pricing & Availability

Distributor

Qty 1

Arrow

$42.66–$59.94

Digi-Key

$62.45–$69.15

HQonline

$15.16–$15.25

LCSC

$65.47–$74.22

Mouser

$113.05–$113.27

TME

$18.91–$19.03

Verical

$100.22–$160.97

Controls