Skip to main content

Motor Controllers in Code (WPILib)

WPILib provides common motor interfaces and helpers.


1 PWM vs CAN

  • PWM: simple, no telemetry; 1‑way control
  • CAN: rich telemetry + configs; requires healthy CAN bus

2 Java Basics

// PWM example
PWMSparkMax left = new PWMSparkMax(0);

// CAN vendor example (REV/CTRE classes live in vendor libs)

Prefer subsystems to own motors; commands call methods, not raw set().