main
Caleb fix: bottom silkscreen now renders; add project overview c32a9d6 1mo ago

FC Carrier v1.0 — Function

38.80 × 70.80 mm, 4-layer. Machine-pin datum 32.000 × 64.000 mm. Hosts the rp2350a-mini, bridges 5 V to two loads, and carries the E-stop.

Peripheral allocation

RP2350 has 2 UART, 2 SPI, 2 I2C, 3 PIO / 12 state machines. The cell needs three UARTs.

UART0 -> ESC            carries AM32 flashing
UART1 -> Motor module   carries DFU flashing
PIO   -> RX module      2 SM
PIO   -> DSHOT          1 SM
PIO   -> WS2812         1 SM
                        4 of 12 SM used

Both flashing links are on hardware UARTs. 18 of 28 broken-out GPIO used.

Fitted parts

Ref Part Function
U1 AP2112K-3.3 5 V → 3.3 V for the mini, which takes 3.3 V. C7 10 µF in, C1 10 µF out, both within 2.8 mm
D1 SMF6.0A TVS at the 5 V entry. Clamps at 10.3 V max
C2, C3–C6 22 µF + 4 × 10 µF distributed bulk on the 5 V rail
R1, C8 10 k + 100 n FC_RST — fixes the idle level against the 32–86 kΩ internal pull-up; 1 ms RC
R3 10 k FC_BOOT — its idle otherwise comes only from QSPI_SS's internal pull-up through 1 k
R5 10 k pull-up ToF INT is open-drain (the sensor molecule also carries R3 2.2 k)
R7 10 k pull-down ToF EN — holds the sensor off until firmware enables it
R8, R9, C10 51 k / 51 k + 100 n 5 V monitor → ADC2. 2.50 V at 5.00 V in, 49 µA. No buffer needed — the ADC's effective impedance is over 100 kΩ even at 500 kS/s
SW1 tact local reset
SW2, R2, LED1, C9 button + 10 k + LED + 100 n E-stop
J1 BM03B-SRSS-TB SWD probe landing

E-stop wiring

+3v3 --[R2 10k]--+-- /ESTOP -- MC27 -> ESC brake (TIM1_BKIN)
                 +-- SW2 (normally open) -- GND
                 +-- LED1 <- [R4 3.3k] <- +3v3
                 +-- C9 100n

LED1 shows the kill state with no firmware running, and the button sits on the same node.

Board state

0 DRC violations. All 52 contacts on the 2 mm lattice. GND is one island on In1 and one on In2. 101 vias, all 0.6/0.3. No mounting holes — machine pins only. Silkscreen outstanding.

The Molecule_RP2350A_v1 library part has Rx1 and Tx1 on the wrong pads in both symbol and footprint — see Pinout.md. Pad numbers land on the correct physical contacts.