FIRST LEGO League Summer Camp registration now open!
Who: All FRC Students and Mentors
What: FRC Software Training
Where: McKinney STEAM Academy
When: Module 1 will be at 1:00 pm on August 17, 2024.
Module 2 is self-paced at home.
Module 3 will be at 1:00 pm on August 31, 2024.
Module 1
Purpose
Train students and mentors on the basics of the FRC Control System and software development process. This is introductory and awareness training in preparation for more advanced instruction.
Scope
Students enrolled in FTC or FRC and mentors who want introductory information on FRC software development
Format
This module is 90 minutes long and concludes with a small take-home quiz. It is an in-person, instructor-led classroom course that features code demonstrations and optionally allows for hands on learning for participants who have a laptop with the software prerequisites below. A laptop is not required to complete this module.
Topics
Background information and overview of the FRC Control System ( presentation )
Basics of the FRC software development environment ( presentation )
Overview of VSCode and how to use its basic functions ( presentation )
Dissecting an Example Program ( presentation | example program )
Module 2
Purpose
This is a self-paced, take-home assignment. All students who wish to participate in Module 3 instruction must complete these steps.
Scope
Students enrolled in FRC who are either in leadership roles or plan to work on software. Mentors who are involved with FRC software efforts or who are interested.
*** This module features hands on learning, and requires a laptop with the software prerequisites below. ***
Topics
Code Academy's free course "Learn Java"
Students should skip any material that requires a trial or paid account to access.
WPI Visual Studio Code Overview
Students should skip subsection 8 “Importing Last Year’s Robot Code”
Module 3
Purpose
Train students and mentors on understanding a basic FRC Robot program then making directed changes to the software function.
Scope
Students enrolled in FRC who are either in leadership roles or plan to work on software. Mentors who are involved with FRC software efforts or who are interested.
*** This module features hands on learning, and requires a laptop with the software prerequisites below. ***
Format
The introduction and lab portion of the class will last 90 minutes, and are in-person, instructor-led, classroom setting.
Topics
Instructor-led lab where design changes for our basic example program are developed and tested
Module 2 Recap ( presentation | example project )
How to use Git ( presentation )
Digital Interfaces ( presentation | example project )
Introduction to Control Systems ( presentation | example project )
Kraken X60 Motor Control ( presentation | example project )
Students participating in Module 1 can benefit from having a laptop that has the tools described below, but it is not required. All students participating in Module 2 and Module 3 must have a laptop with these tools installed.
Laptop Requirements
A laptop running one of the following operating systems:
Windows 10 & 11, 64 bit
Windows 32 bit and Arm are not supported
Ubuntu 22.04, 64 bit
Other Linux distributions with glibc >= 2.34 may work, but are unsupported
macOS 11 or higher, both Intel and Arm.
Software and Tools
All coding for FRC uses the following software, and all students participating in Module 2 must complete this installation before attending:
Install WPILib which includes the custom build of Visual Studio Code (aka VSCode) by clicking the blue "Download for [computer operating system]" button on the WPILib Installation Guide page. Choose all default and "fastest" options when installing.
Download the Git version control system and run the installer. Choose all default options when installing.
NI FRC Game Tools (including Drivers Station) was shown and made available during class, but this is not required for software development. It is only compatible with Windows 10 & 11. Students do not need to install this.
Useful Links
Next Steps after installing the WPILib software development environment above
NASA Robot Alliance Project Full Design Guide which covers every aspect of building a robot