Programming Resources

Browse docs, tutorials, and tools for FIRST programming. Filter by section and topic, or submit a link for maintainer review.

35 of 35 resources

Section
Topic
Abdullah's TutorialsVideo series on FRC Java programming: command-based structure, subsystem examples, control tuning, and competition code organization.FRCTraining & Tutorialsfrctraining-tutorialsAdvanced Programming NotesCommunity FRC programming notes covering project structure, command-based patterns, control loops, and common subsystem implementations with worked examples.FRCGetting Startedfrcgetting-startedAdvantageKit Swerve TemplateAdvantageKit Talon FX swerve template: pre-wired odometry, module optimization, SysId hooks, and log replay for CTRE swerve drivetrains.FRCAutonomousfrcautonomousAndroid Studio Official SiteDownload Android Studio IDE, SDK Manager, and official guides for installing the Android SDK used to build and deploy FTC Robot Controller apps.FTCSetup & Resourcesftcsetup-resourcesAuto Align TutorialStep-by-step reef auto-align using Limelight target offsets, rotation-first alignment, and PID drive commands — includes code structure and tuning notes.FRCVision (Limelight)frcvision-limelightAutonomous Programming (Video)Video intro to FRC autonomous: timed sequences vs sensor-based moves, chooser setup, and when to add path following to a baseline auto.FRCAutonomousfrcautonomousBoVLB Tips: CommandsOblarg (BoVLB) command tips: default commands, requirement conflicts, parallel and sequential command groups, and common command-based pitfalls with concise examples.FRCCommand-Basedfrccommand-basedCD Tuning GuideChief Delphi PID tuning thread: practical kP/kI/kD workflow on real mechanisms, oscillation diagnosis, and when feedforward matters more than integral gain.FRCControl Theoryfrccontrol-theoryCTRE Control RequestsPhoenix 6 control requests: DutyCycle, Velocity, Position, Motion Magic, and TorqueCurrent — how to replace legacy set() calls with explicit request objects.FRCControl Theoryfrccontrol-theoryCTRE DocumentationCTRE Phoenix 6 documentation for Talon FX, CANcoder, and Pigeon — configuration, control requests, Motion Magic, telemetry, and migration from Phoenix 5.FRCOfficial Documentationfrcofficial-documentationDeep Blue RoboticsDeep Blue (Team 384) training docs: swerve odometry, auto routines, command-based conventions, and advanced control topics used in their open-source projects.FRCTraining & Tutorialsfrctraining-tutorialsEveryBot Commands IntroEveryBot code manual: starter command-based project layout, intake and elevator examples, and patterns used in low-resource EveryBot build guides.FRCCommand-Basedfrccommand-basedExponential Profiles (YAMS)YAMS exponential motion profiles: configure max velocity/acceleration and generate smooth setpoints for mechanisms that need curved velocity ramps.FRCAdvanced Toolsfrcadvanced-toolsFRC Git TutorialSlide deck on FRC Git workflow: branches, remotes, merge conflicts in robot projects, and coordinating code changes across subteams.FRCVersion Controlfrcversion-controlFTC Android Studio TutorialFIRST FTC Android Studio tutorial: install SDK, clone FtcRobotController, open TeamCode, deploy OpModes, and connect to Control Hub over ADB/Wi‑Fi.FTCSetup & Resourcesftcsetup-resourcesFTC OpMode DocumentationFTC OpMode reference: @TeleOp vs @Autonomous, linear vs iterative lifecycle, hardware map access, and gamepad/telemetry patterns in the SDK.FTCSetup & Resourcesftcsetup-resourcesFTC SDK GitHub RepositoryOfficial FTC SDK repository: FtcRobotController module (do not edit) and TeamCode template for season-specific OpModes, Gradle build, and OnBot Java compatibility.FTCSetup & Resourcesftcsetup-resourcesLimelight DocumentationLimelight 2+/3 docs: static IP setup, pipeline tuning, AprilTag and retroreflective tracking, robot pose estimation, and NetworkTables integration.FRCOfficial Documentationfrcofficial-documentationLimelight LibLimelightHelpers / LimelightLib: Java API for pose estimates, target alignment, and pipeline data over NetworkTables without writing raw HTTP or JSON parsers.FRCVision (Limelight)frcvision-limelightMotion Magic®CTRE Motion Magic: trapezoidal motion profiling on Talon FX with cruise velocity, acceleration, and jerk limits for smooth mechanism moves without a separate profile generator.FRCControl Theoryfrccontrol-theoryPathPlanner DocsPathPlanner hub: GUI path authoring, PathPlannerLib API for holonomic and differential autos, event markers, and integration with WPILib pose estimation.FRCOfficial Documentationfrcofficial-documentationPathPlanner Getting StartedPathPlanner GUI tutorial: draw paths and constraints, set ideal starting pose, export to deploy folder, and wire PathPlannerAuto in RobotContainer.FRCAutonomousfrcautonomousPID SimulationHands-on PID simulation exercises using WPILib physics sim — tune elevator and arm gains with recorded plots before moving to hardware.FRCControl Theoryfrccontrol-theoryProblem Solving Guide | FRC 167Team 167 Iowa City robotics programming guide: debugging workflow, Git usage, command-based structure, and subsystem design patterns for competition code.FRCGetting Startedfrcgetting-startedPull Requests OverviewPull request walkthrough: fork/branch workflow, opening a PR on GitHub, review comments, and merging safely into a shared robot repository.FRCVersion Controlfrcversion-controlREV Robotics APIREV Java API reference for Spark Max, Spark Flex, and REV sensors — motor configuration, closed-loop control, encoder interfaces, and CAN bus usage.FRCOfficial Documentationfrcofficial-documentationSimple Limelight TutorialVideo walkthrough: Limelight pipeline setup, reading tx/ty/ ta in code, and driving rotation-to-target for vision-assisted teleop or auto.FRCVision (Limelight)frcvision-limelightSpectrum TrainingSpectrum 3847 team site: technical blog posts, CAD/software release notes, and links to their training materials and open repositories.FRCTraining & Tutorialsfrctraining-tutorialsState Machines IntroState machine concepts for FRC: states, transitions, entry/exit actions, and replacing nested if-chains in teleop and auto with explicit state charts.FRCAdvanced Toolsfrcadvanced-toolsThe Compass AllianceCompass Alliance curriculum: staged FRC learning paths from mechanical basics through programming, scouting, and team management resources.FRCTraining & Tutorialsfrctraining-tutorialsTracking AprilTagsLimelight AprilTag pipelines: family selection, multi-tag pose solve, field layout JSON, and tuning exposure for reliable FRC field localization.FRCVision (Limelight)frcvision-limelightWPILib DocumentationOfficial WPILib docs: robot project setup, command-based framework, control theory, kinematics, vision, simulation, and hardware APIs for FRC Java/C++ teams.FRCOfficial Documentationfrcofficial-documentationWPILib: Git IntroWPILib Git intro: clone WPILib projects, commit workflow, .gitignore for build artifacts, and collaborating without breaking Gradle vendor deps.FRCVersion Controlfrcversion-controlWPILib: What Is Command-Based?WPILib explains command-based architecture — Subsystems, Commands, triggers, and RobotContainer — and why it separates robot logic from scheduling.FRCCommand-Basedfrccommand-basedYAMS DocumentationYAMS (Yet Another Motor Simulator): WPILib mechanism sim for elevators, arms, and intakes — plant tuning, visualization, and validating gains before deploy.FRCAdvanced Toolsfrcadvanced-tools