I think this LYNK Library of Knowledge is a good example of what we can setup. Github source is here.
Markdown is very simple to use and is the foundation for the majority of tech docs in the wild. Its sits at the foundation of Github as well as most features like issues, wiki, PRs, commit comments etc. It backs a huge portion of content on techincal websites as well. I included a quick cheat sheet in this project that has a link to a good playground. markdownCheatSheet.md
I scoured Cheif Delphi and found a few good threads that make some good points and are worth scanning.
- Looking for Basic Java WPI Robot Code Guides
- How to make programming (Java) training interesting for rookies?
- Favorite free Java-for-beginners training?
- How do you teach programming members quickly?
The code is a means to an end. No one’s gonna be super excited about learning language syntax and semantics.
Like, as much as you can, have the students writing software for a real robot that moves around and looks and feels as much like an FRC robot as possible.
The best piece of advice I’ve been given for when I’ll teach the kids next year is “people love instant rewards”. If you start off with the absolute basics of, e.g., running a motor, rather than going through all the subsystem and command junk right off the bat, you’ll get a reward quickly, encouraging them to keep going.
4 Common Rules of Robotics
- Imitate the Best, Invent the Rest
- It's probably been done before
- KISS - Keep it Sane and Simple
- If it ain't broke, don't fix it (this saying is not meant to be a blanket rule against progress; it specifically warns against "changing" something that is already functional without a clear benefit, not against innovation in areas that are truly broken or inefficient)
I have seen Romi mentioned a number of times and I think it looks like a good simple options for new programmers to play with. It appears it uses WPILib and the Driver Station so it will ideally keep everything within the same context.
I think ROMI could be a good way to get familiar with the First infrastructure and how to make a simple robot do things with JAVA and the WPI Lib tools.
The main website gives a great overview experientialrobotics.org
The XRP is an open-robotics platform designed to help you take your first steps into engineering, robotics, and software development.
- This is the new kit at SparkFun.
- WPI Lib Getting Started with XRP
- The FIRSTinMichigan has a good playlist - 2024 XRP Coding
- Discussion on vision here and here and Youtube link here with links in description from mentor going over april tags.
- WPI Lib Getting Started with Romi
- RomiTutorial2023 this looks like a decent example project that can be used for examples too. Shows how they use it for all the things up to and including paht planning and vision.
Keeping Mario Cart ready to go as a test and training bench.
There are hundreds, if not thousands, of good channels and videos on Youtube that help ramp up for FIRST and Java. We should consider getting a youtube account setup if we dont have one already so we can create training and knowledge base playlists.
I started creating a playlist here to start as example, some of these are videos that are meant as an example and should click on their channel link as they have other good resources. I will continue to add to this as I find good examples.
https://www.youtube.com/playlist?list=PLoJ0Fk538yWUsBmjTRQJaDXsh9MKWiHFO
Mathew made a very good point that while FIRSTinMichigan has some excellent recent content for FRC platform, they are long. There are many examples from other first teams that keep every video to no more than 15 minutes, even if they have to broken into chunks, these could be what we look for.
-
Highlanders-Training this is a good one. NOTE: its not the same Highlander as here in CO.
This is meant more for the senior Devs.
While Visual Studio is the IDE of choice for FIRST and WPI, its not the only thing that can be used. I dont recommend ditching VS Code, simple augment with other IDEs when it makes sense and bounce between them. I am writing this markdown doc in VS Code becuase its a better editor for that. But Intelij IDEA is vastly better when I am writing Java.
Also see this article "Why VSCode Can’t Beat IntelliJ for Serious Java Developers (And Probably Never Will)"
there are many online "instant" IDEs but they usually dont have intellisense for java. These do.
-
Take avantage of a good Git workflow. Use PRs and common branch names.
-
Use PRs for every commit to base branch with good comments on what was done.
- This will allow younger memebrs to review what was done and follow along as best as they can.
-
Github supports Markdown natively. Its a simple an powerful way to create docs and communicate. This is written in Markdown.
-
Github also has a very robust but also simple issue and project managment solution built into each project. We should be taking advantage of it to organize work and communicate issues.
-
Keep it clean, its looks like we have some duplicate projects or there was confusions with naming during checkin for kid bot.
-
Create a Org profile
readme.mdas explained here
We should keep a functioning robot, recent kidbot, that can be used and ideally dedicated to programming. It can serve as platform for new developers to experiment but also primarly serve as baseline for getting core fundamentals worked out before and while the main bot is being built.
DevOps has been cemeneted in the indeustry as a ubiquitous set of practices, tools and philosophy. We can beenfit from it.
DevOps can involve one developer or multiple engineers, depending on the organization's size, structure, and maturity. The key is not the number of people, but the collaborative culture and shared responsibility for delivering reliable, high-quality software.
DevOps is a software development methodology that supports the efficient, continuous delivery of innovative, high-performing applications and services.
By integrating the processes, tools, and practices used by software development (Dev) and IT operations (Ops) teams, it builds speed and agility into every phase of the development lifecycle so that organizations can compete more effectively. -- GITHUB
These are 2 good quick overviews of what it means.
take a look at https://www.chiefdelphi.com/t/introducing-yet-another-software-suite-yams-yall-yamg-yagsl/506826
-
In June First announced the new Systemcore
-
The new WPI Lib Docs are here with the RoboRio replacment called Systemcore with the link to the specs.
-
In October 2025, First posted that we can apply to be Alpha/Beta testers. We should consider it.
Its not ready yet but we should keep an eye on it.

