FIRST Robotics Competition Blog

Beta Testing and Usage Reporting

Sep 10, 2019 Written by Kevin O'Connor, Robotics Engineer, FIRST Robotics Competition.



Beta Testing

The calendar has rolled over to September which, for the FRC Control System team, means it’s time to start thinking about beta testing! We’re looking for 20-25 teams per software language to participate in our annual FIRST Robotics Competition Control System Beta test to help shake out any bugs in our updates to the software before the season. This year these changes include a new software documentation site, a re-written Command Based programming structure (don’t worry, the old one will stick around for now!), some new kinematics and control classes, and more. Beta Testing will begin around the second week of October and have specific task deadlines through the end of November. Teams may continue to test through Kickoff, but software starts to lock in early December so testing done in December may not be done in time to fix any bugs discovered. Interested teams should fill out the form here by Sunday, September 22, 2019. Teams should receive notification of selection status no later than September 27, 2019.


Usage Reporting

The FIRST Robotics Competition software has a feature called ‘usage reporting’ that tracks what WPILib objects are created in each team's code and reports that data back to the field when the robot is connected. Data from the 2019 season can be found here. Some notes about the data:

  • The data has been semi-anonymized. Team numbers have been replaced with rookie years and the data has been re-sorted so teams are not in order by team number.
  • We can only track the objects teams create in code. If a team creates extra motor controllers that aren't on the robot, they will still be captured by this system. If a team creates motor controller objects of the wrong type, that wrong type will be captured by this system.
  • Counted objects and TRUE/FALSE show the largest number of any given object used in any one match (i.e. if a Robot had 2 Encoders in match 1 and 3 Encoders in match 7, 3 will be reported). This means that if a team that switched motor controller types, or IMUs, or anything else during the season, the sheet will show numbers for both devices. Language and Framework report what was used in the last recorded match.
  • Some objects naturally result in double counting (e.g. Encoders use Digital Inputs).
Back to Blog


Thank you for sharing the usage data.  One comment.  It appears you're not capturing NAVX usage.  All the values are 0 and we used one last year.

Michael, you are correct that NavX usage data was not captured, I probably should have trimmed it from the spreadsheet. We do not control the software for the NavX and it looks like the usage reporting call was never added to their code. We'll be working with Kauai Labs to see if that can be added for this season.

Add new comment