Programming Guidance


VEX Programming Software

PROS: Leading Open-source C/C++ development for VEX V5 (and Cortex), developed by Purdue SIGBots.

Why choose PROS?

  • Open-source and highly customizable, Vex Code Pro (another option) is no longer being updated

Why Discord?

Robotics Discord communities are invaluable for support, collaboration, and inspiration. Benefits include:

  • Quick Answers: Immediate help with coding bugs, logic errors, or setup issues.
  • Peer Review: Share code snippets and get feedback from experienced programmers.
  • Live Collaboration: Work through problems in real-time via voice/text.
  • Advice from Veterans: Mentors and developers (like LemLib or EZ-Template) provide guidance.
  • Pinned Resources: Easy access to documentation, tutorials, and example code.
  • Code sharing and inspiration: Users often post GitHub repos, snippets, or screenshots of innovative implementations like auto selectors, odometry, or PID control.
  • Build your network: Connect with other teams, potential mentors, or even judges and VEX community leaders.
Recommended VEX Discord Communities for Code:

Templates

A VEX code template is a pre-written structure or framework that simplifies programming your robot by handling common tasks and setup for you.

Important Policy:
The REC Foundation emphasizes that students must understand and be able to explain any code they use, even from templates or external libraries. Blindly copying code violates the educational goals of the program.

Trade-offs:

  • Templates save time and provide advanced features (auton routines, drive control, sensor integration).
  • Over-reliance can limit understanding of concepts like PID, odometry, and asynchronous tasks.
  • Best practice: Use a Template, study the source code, understand the architecture, and gradually extend or replace components with your own code.

Recommended Templates

EZ-Template (PROS)

EZ Template Docs

  • Documentation is clear, and community support is strong, making it accessible to both new and experienced teams.
  • One of the most feature-rich templates, EZ-Template offers a broad range of tools that enhance coding efficiency and usability including support for both relative and absolute movements, an integrated autonomous selector, and built-in functions for motion tuning and drive behavior control.
  • The Ez Docs also explain how to use Github, an essential version history control tool: GitHub & Tutorials

JAR-Template (VEXcode Pro)

Another recommended template is JAR template. 

Differences from EZ template

  • Less features, but easier to understand source code
  • Uses VEXcode Pro instead of PROS.

Even if you plan on using EZ template, I highly recommend seeing the source code behind JAR, as I found it to be the most intuitive and easy to understand source code for concepts such as PIDs and Odometry.

Coding Resources

Below are some coding resources to learn/understand these concepts used in coding templates:

General / PROS

Control Systems

PID Control:

Odometry:

Pure Pursuit:

Boomerang Controller:

Team Tutorials

The content for this page was provided by Zane Radawiec.