LED Blinking Circuit Design

Placed components

4:41

Placed 43 component(s): R14, C5, J17, R3, R10, J9, R6, J6, J1, R9, H3, J3, R1, J4, C2, J7, R7, J14, J2, C6, R4, R11, R12, R13, J8, R8, J19, J12, J18, R5, R2, J10, J13, J5, J11, J15, H2, C1, H1, R15, J16, H4, R16

3 days

0:05

Work done
  • Built the schematic for the dual-PCA9685 servo controller: two PCA9685 drivers, PCA9306 I2C level shifter, Raspberry Pi/STM32 connectors, 16 servo outputs with 220Ω series resistors, I2C pull-ups, OE pull-up, decoupling, bulk caps, 6V/5.1V rails, common ground, and mounting holes.
  • Configured a 4-layer PCB stackup with GND and power-plane intent, set a compact 100 × 130 mm board, and placed components with host connectors on the left, level shifter near center, PCA9685s and servo outputs on the right, and power input at the top/right.
  • ERC is clean for floating pins, missing power, and single-pin nets; footprints and layer assignments are present.
Success criteria review
  • ✅ Schematic connectivity and key parts implemented.
  • ✅ 4-layer board configured and components placed in the requested left-to-right flow.
  • ❌ Not ready for Gerber export: physical routing/remaining copper issues are still unresolved, so manufacturing export was intentionally not generated.
Next steps
  • Complete PCB routing, especially 6V_SERVO/GND power distribution and all signal airwires, then rerun DRC and export Gerbers/BOM/pick-and-place once clean.
Run DRC
Optimize placement
Check connector current
Review stackup rules
3 days

Refine this doc
Ask about this doc
Dual PCA9685 Servo Controller Specification
Requirements
  • 4-layer PCB, 2oz copper target.
  • Raspberry Pi 5 I2C interface at 3.3V through a bidirectional level shifter.
  • STM32 Nucleo interface for OE control and optional I2C access.
  • Two PCA9685 PWM driver ICs on 5.1V logic rail.
  • Minimum 16 servo outputs, each PWM output routed through 220Ω series resistor before a 3-pin servo header.
  • I2C pull-ups: 4.7kΩ to 5.1V on the PCA9685 side.
  • OE pull-up: 10kΩ to 5.1V, driven by STM32.
  • Decoupling: 100nF near every IC supply pin.
  • Bulk capacitance: 10µF and 100µF near power input.
  • Separate 5.1V logic and 6V servo rails, common GND.
  • High-current servo power connector suitable for 20A total rail current.
  • Placement: Raspberry Pi connector left, level shifter center, PCA9685 devices and servo headers right.
Design decisions
  • Use PCA9685PW TSSOP-28 for compactness while still hand-solderable with care.
  • Use PCA9306DCTR/PCA9306 family I2C level translator for open-drain bidirectional I2C compatibility.
  • Use 0805 passives for easy hand soldering.
  • Use through-hole 2.54mm servo headers and high-current screw terminal for field wiring.
  • Use a 100mm × 100mm 4-layer board to fit connectors, 16 servo headers, high-current power distribution, and mounting holes.

    Requirements

    Design decisions

Documents

    Dual PCA9685 Servo Controller Specification

    Implementation Status

Assets

Assets are files uploaded to this project which can be used in various ways.

Dual PCA9685 Servo Controller thumbnail
Dual PCA9685 servo controller PCB for Raspberry Pi 5 and STM32 Nucleo with 16 servo outputs, 5.1V logic, 6V/20A servo power, and 4-layer layout.

Properties

A

Pricing & Availability

Distributor

Qty 1

Arrow

$0.23–$0.28

Digi-Key

$1.91–$2.58

LCSC

$2.21

Mouser

$2.49

TME

$0.50

Verical

$1.74–$1.77

Controls