# Placement rules (derived) | type | constraint | weight | why | |---|---|---|---| | fixed | C33 | | 100 nF at the ESP32 module 3V3 pin (datasheet: within 8 mm) | | fixed | SW1 | | connector (mechanical interface) | | fixed | J1 | | USB-C on the bottom edge | | fixed | J2 | | camera FPC connector on the right edge | | fixed | U5 | | FPGA: its right side (the camera DVP pins) faces the FPC connector | | fixed | TP1 | | connector (mechanical interface) | | fixed | J3 | | programming header on the left edge | | fixed | U8 | | IMU on the left of the ESP32 module (I2C pins on that side), clear of the antenna | | fixed | U9 | | ESP32-S3 module: its antenna end hangs over the top board edge (no copper under the antenna) | | fixed | TP2 | | connector (mechanical interface) | | fixed | C32 | | 10 uF bulk of the ESP32 module: placed by hand at its 3V3 pin | | fixed | C31 | | 10 uF bulk of the IMU: placed by hand at the IMU (the buck rule would pull every 10 uF on 3V3 to the inductor) | | fixed | SW2 | | connector (mechanical interface) | | loop | loop U1.4 → C1.1 → C1.2 → U1.2 ≤ 6.0 mm² | 20.0 | buck U1 input hot loop via C1 | | near | C1.1 ≤ 1.5 mm from U1.4 | 15.0 | buck U1 input cap | | near | L1.1 ≤ 2.0 mm from U1.3 | 15.0 | buck U1 switch node short | | near | C3.1 ≤ 3.0 mm from L1.2 | 8.0 | buck U1 output cap 22uF at the inductor | | near | C4.1 ≤ 3.0 mm from L1.2 | 8.0 | buck U1 output cap 22uF at the inductor | | near | C31.1 ≤ 3.0 mm from L1.2 | 8.0 | buck U1 output cap 10uF at the inductor | | near | C32.1 ≤ 3.0 mm from L1.2 | 8.0 | buck U1 output cap 10uF at the inductor | | near | R3.2 ≤ 2.5 mm from U1.5 | 6.0 | buck U1 feedback divider | | near | R4.1 ≤ 2.5 mm from U1.5 | 6.0 | buck U1 feedback divider | | apart | net FB ≥ 1.0 mm from net SW_BUCK | 5.0 | buck U1 FB away from switch node | | near | C7.1 ≤ 1.85 mm from U2.5 (pad edge to edge) | 12.0 | U2 output cap 4.7uF at VOUT (regulator stability) | | near | C9.1 ≤ 1.85 mm from U3.5 (pad edge to edge) | 12.0 | U3 output cap 4.7uF at VOUT (regulator stability) | | near | C20.1 ≤ 1.85 mm from U4.5 (pad edge to edge) | 12.0 | U4 output cap 4.7uF at VOUT (regulator stability) | | near | C2.1 ≤ 0.85 mm from U1.4 (pad edge to edge) | 10.0 | decoupling U1 VIN (+5V), 100nF | | near | C28.1 ≤ 0.85 mm from U5.24 (pad edge to edge) | 10.0 | decoupling U5 VPP_2V5 (+3V3), 100nF | | near | C6.1 ≤ 1.85 mm from U2.1 (pad edge to edge) | 10.0 | decoupling U2 VIN (+3V3), 1uF | | near | C23.1 ≤ 0.85 mm from U6.8 (pad edge to edge) | 10.0 | decoupling U6 VCC (+3V3), 100nF | | near | C24.1 ≤ 0.85 mm from U5.1 (pad edge to edge) | 10.0 | decoupling U5 VCCIO_2 (+3V3), 100nF | | near | C10.1 ≤ 1.85 mm from U4.1 (pad edge to edge) | 10.0 | decoupling U4 VIN (+3V3), 1uF | | near | C25.1 ≤ 0.85 mm from U5.22 (pad edge to edge) | 10.0 | decoupling U5 SPI_VCCIO1 (+3V3), 100nF | | near | C8.1 ≤ 1.85 mm from U3.1 (pad edge to edge) | 10.0 | decoupling U3 VIN (+3V3), 1uF | | near | C33.1 ≤ 0.85 mm from U9.3 (pad edge to edge) | 10.0 | decoupling U9 VDD (+3V3), 100nF | | near | C29.1 ≤ 0.85 mm from U8.5 (pad edge to edge) | 10.0 | decoupling U8 VDD_IO (+3V3), 100nF | | near | C30.1 ≤ 0.85 mm from U8.8 (pad edge to edge) | 10.0 | decoupling U8 VDD (+3V3), 100nF | | near | C21.1 ≤ 0.85 mm from U5.33 (pad edge to edge) | 10.0 | decoupling U5 VCCIO_0 (+2V8), 100nF | | near | C17.1 ≤ 0.85 mm from U2.5 (pad edge to edge) | 10.0 | decoupling U2 VOUT (+2V8), 100nF | | near | C16.1 ≤ 3.85 mm from U2.5 (pad edge to edge) | 3.0 | bulk cap on +2V8 (1uF) near U2 (anchor chosen by proximity) | | near | C22.1 ≤ 3.85 mm from U5.33 (pad edge to edge) | 3.0 | bulk cap on +2V8 (1uF) near U5 (anchor chosen by proximity) | | near | C15.1 ≤ 0.85 mm from U3.5 (pad edge to edge) | 10.0 | decoupling U3 VOUT (+1V5), 100nF | | near | C14.1 ≤ 3.85 mm from U3.5 (pad edge to edge) | 3.0 | bulk cap on +1V5 (1uF) near U3 (anchor chosen by proximity) | | near | C18.1 ≤ 0.85 mm from U5.5 (pad edge to edge) | 10.0 | decoupling U5 VCC (+1V2), 100nF | | near | C19.1 ≤ 0.85 mm from U5.30 (pad edge to edge) | 10.0 | decoupling U5 VCC (+1V2), 100nF | | near | C11.1 ≤ 1.85 mm from U4.5 (pad edge to edge) | 10.0 | decoupling U4 VOUT (+1V2), 1uF | | near | C26.1 ≤ 0.85 mm from U5.29 (pad edge to edge) | 10.0 | decoupling U5 VCCPLL (FPGA_VPLL), 100nF | | near | C27.1 ≤ 3.85 mm from U5.29 (pad edge to edge) | 3.0 | bulk cap on FPGA_VPLL (1uF) near U5 (anchor chosen by proximity) | | closer | C17.1 closer to U2.5 than C16.1 | 2.0 | C17 (smaller) closer to U2.5 than C16 | | closer | C16.1 closer to U2.5 than C7.1 | 2.0 | C16 (smaller) closer to U2.5 than C7 | | closer | C15.1 closer to U3.5 than C14.1 | 2.0 | C15 (smaller) closer to U3.5 than C14 | | closer | C14.1 closer to U3.5 than C9.1 | 2.0 | C14 (smaller) closer to U3.5 than C9 | | closer | C11.1 closer to U4.5 than C20.1 | 2.0 | C11 (smaller) closer to U4.5 than C20 | | closer | C21.1 closer to U5.33 than C22.1 | 2.0 | C21 (smaller) closer to U5.33 than C22 | | closer | C26.1 closer to U5.29 than C27.1 | 2.0 | C26 (smaller) closer to U5.29 than C27 | | near | C34.1 ≤ 2.0 mm from U9.45 | 5.0 | C34 (1uF) filters U9 EN (EN) | | near | F1.2 ≤ 3.0 mm from C2.1 | 2.0 | filter F1 feeds its cap C2 | | near | FB1.2 ≤ 3.0 mm from C13.1 | 2.0 | filter FB1 feeds its cap C13 | ## Review - **WARN** UNANCHORED C12: C12 (1uF) has no placement rule - **WARN** WEAK_ANCHOR C14: C14 anchored only by proximity: bulk cap on +1V5 (1uF) near U3 (anchor chosen by proximity) - **WARN** WEAK_ANCHOR C16: C16 anchored only by proximity: bulk cap on +2V8 (1uF) near U2 (anchor chosen by proximity) - **WARN** WEAK_ANCHOR C22: C22 anchored only by proximity: bulk cap on +2V8 (1uF) near U5 (anchor chosen by proximity) - **WARN** WEAK_ANCHOR C27: C27 anchored only by proximity: bulk cap on FPGA_VPLL (1uF) near U5 (anchor chosen by proximity)