Gray Matter LogoGray Matter Workshop
Heads up — this site is being updated for WPILib 2027 (Commands v3). Some pages may be incomplete or still show older (Commands v2) code while we migrate.
Gray Matter Coding logo
Gray Matter Coding Workshop
BY HEMLOCK 5712 · FRC PROGRAMMING CURRICULUM

FRC programming,
taught hands-on.

A curriculum covering command-based architecture, PID and motion profiling, swerve drive, vision, and logging. Built around a companion GitHub repository so every concept maps to real, runnable code.

WHAT YOU’LL PROGRAM

Four mechanisms. Two workshops.

WORKSHOP 01Control fundamentals — single-motor mechanisms
Robot Arm
ARM · POSITION CONTROL

Robot Arm

Move a single-jointed arm to specific angles using closed-loop position control with gravity compensation.

  • TalonFX + integrated encoder
  • PID with gravity feedforward (kG)
  • Motion Magic for smooth profiling
Flywheel Shooter
FLYWHEEL · VELOCITY CONTROL

Shooter Flywheel

Hold a target RPM precisely for consistent shooting — velocity PID + velocity feedforward.

  • Dual TalonFX, no encoder slip
  • Velocity PID with kV feedforward
  • Spin-up & at-speed detection
WORKSHOP 02Drive & perception — full-robot autonomy
CTR Swerve Drive
SWERVE · HOLONOMIC DRIVE

CTR Swerve Drive

Holonomic drive with field-oriented control, real-time odometry, and trajectory following.

  • 8 TalonFX motors + 4 CANcoders
  • DriveToPose / LinearPath path following
  • Pigeon 2 IMU for heading fusion
Limelight Vision System
LIMELIGHT · VISION

AprilTag Vision

Detect AprilTags, fuse vision pose with odometry, and drive autonomously to scoring positions.

  • Limelight 4 with MegaTag2
  • Pose estimator with vision standard deviations
  • Drive-to-point autonomous routine
POWERED BY
TEAM 5712 · HEMLOCK
Joe Lockwood
Josh Bacon
Chris Bale
Alex Haltom
TEAM 5216
Ethan Shannon