Java Languge Tutorials
Don't worry if you don't know much about Java! FRC requires only a basic understanding to get started. A rough understanding of variables and their types, operators, conditionals, methods, classes, and object-oriented program structure will suffice. These resources can help introduce you to and deepen your understanding of Java's capabilities.
FRC Documentation
CTRE Phoenix Documentation
Documentation for TalonFX motor controllers, Pigeon gyros, CANDle LED controllers, and other CTRE products.
Choreo Documentation
Documentation for the Choreo autonomous path planning and auto-command integration software. Unlike Pathplanner, Choreo uses time-optimized curves instead of customizable paths.
FRC Library Example Repos
FRC Team Repos to Watch
These are all teams who produce world-class FRC code consistently. Teams participating in Open Alliance often keep their repos public during build season, allowing you to learn new software implementations and borrow ideas.
Understanding Controls Engineering
Controls engineering is extremely important in robotics. It can make a system significantly more reliable, efficient, fast, and stable. In addition to library documentation from WPILib and motor controller vendors, you can reference these guides to gain a deeper understand of what closed loop controls are and how kp, ki, kd, and feedforward interact.
CTRL ALT FTC Control Guide
A great control theory guide that explains the fundamentals of control: open loop, closed loop, PID, and feedforward. Explains what these control options do, how they work, and how to tune them.
Controls Engineering in FRC
A large and more advanced controls engineering text that describes controls mathematically and with historical context.
Understanding Motors
Understanding the mechanical, electrical, and firmware fundamentals of motors can be very helpful for deeply understanding how to write better motor software.
BLDC motors
This video explains how Brushless DC motors (the type most commonly used in FRC) work.
How to Wire a robot
This video posted by FIRST explains how to wire a FRC robot system, which can be useful to help you understand how these devices interact
Understanding Path Finding
Although we mostly rely on PathPlanner or Choreo to create paths, if you want to understand the theory of how optimal paths and pathfinding techniques work, here are some resources.
Introduction to A* - Stanford CS
The A* Pathfinding Algorithm, one of the most used modern pathfinding algorithms and the algorithm used by PathPlanner, explained for use in game development here.