LED Blinking Circuit Design

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

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

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