Power & Electrical Issues

Troubleshooting power supply, servo power, and electrical problems

⚠️ Robot Won't Power On

Symptoms:

  • No LED lights on Pico or PCA9685
  • Computer doesn't recognize USB device
  • Complete system unresponsive

Possible Causes:

  • Power supply not plugged in or switched off
  • Blown fuse or tripped breaker
  • Damaged USB cable (power-only cable)
  • Loose power connector
  • Short circuit somewhere in wiring

Solutions:

1. Check power supply

  • • Verify power supply is plugged into wall outlet
  • • Check that outlet has power (test with another device)
  • • Ensure power switch on supply is in ON position
  • • Look for LED indicator on power supply (should be lit)

2. Test USB cable

  • • Try a different USB cable (must be data cable, not charge-only)
  • • Test cable with another device to confirm it works
  • • Try different USB port on computer

3. Check for shorts

  • • Disconnect all servos from PCA9685
  • • Power on system - if it works, you have a short in servo wiring
  • • Reconnect servos one at a time to find faulty servo
  • • Use multimeter to check for continuity between VCC and GND (should be open)

4. Inspect connections

  • • Check all screw terminals are tight
  • • Verify barrel jack is fully inserted
  • • Look for broken solder joints
  • • Ensure no bare wires touching

⚡ Servos Jittering or Buzzing

Symptoms:

  • Servos vibrate or twitch when supposed to be stationary
  • Audible buzzing noise from servos
  • Servos get hot even when not moving
  • Erratic movement or failed commands

Possible Causes:

  • Insufficient power supply current
  • Voltage drop due to thin wires
  • Wrong PWM frequency setting
  • Mechanical binding or excessive load
  • Noisy power supply (poor filtering)

Solutions:

1. Upgrade power supply

  • • Use 5V 5A minimum (2A insufficient for multiple servos)
  • • For 8 servos, use 5V 10A supply
  • • Ensure power supply is regulated (not unregulated wall adapter)

2. Add capacitor

  • • Solder 1000µF electrolytic capacitor across V+ and GND near servos
  • • Mind polarity: negative leg (shorter, marked stripe) to GND
  • • This filters voltage spikes from servo movement

3. Adjust PWM frequency

# In config.py, try different frequencies:
PWM_FREQ = 60  # Default is 50, try 60 or 333
# Re-upload and test

4. Use thicker wires

  • • Replace servo wires with 20 AWG or thicker
  • • Keep power wires short (under 30cm if possible)
  • • Use star topology (power supply → PCA9685 → each servo)

🔌 Some Servos Not Working

Symptoms:

  • 1-2 servos don't respond to commands
  • Other servos work fine
  • Problem servos are cold (not receiving power)

Solutions:

1. Check servo connections

  • • Verify servo is plugged into correct PCA9685 channel
  • • Check connector orientation (signal/power/ground correct order)
  • • Try swapping with a working servo to test channel vs servo

2. Test individual servo

# Connect via REPL and test specific channel:
from servo_controller import ServoController
sc = ServoController()
sc.set_angle(3, 90)  # Test channel 3 (0-15)

3. Check for dead servo

  • • Connect suspect servo directly to working channel
  • • If still doesn't work, servo may be damaged
  • • Replace with spare servo