πŸ’» Programming Β· EZ Template Β· Beginner

EZ Template Fresh Setup

πŸ—ΊοΈ Flowchart β€” EZ-Template install workflow

Run these commands in your terminal in the project directory. EZ-Template installs as a PROS template β€” pros conduct manages it.

flowchart TD
    Start([Want EZ-Template
in a new project]) --> A[Step 1
pros conduct new-project
./my_bot] A --> B[Step 2
cd ./my_bot] B --> C[Step 3
pros c fetch EZ-Template] C --> D[Step 4
pros c apply EZ-Template] D --> E[Step 5
Open src/main.cpp
add #include EZ-Template/api.hpp] E --> F[Step 6
Configure Drive chassis
with your port numbers] F --> G[Step 7
pros mu β€” build + upload] G --> Q1{Compile OK?} Q1 -->|"Yes"| Done([Ready to write auton]) Q1 -->|"No"| Debug[Read error
check port numbers
check #include] Debug --> G style Start fill:#1e293b,stroke:#22d3ee,stroke-width:2px,color:#e2e8f0 style Done fill:#1e293b,stroke:#22c55e,stroke-width:2px,color:#e2e8f0 style Q1 fill:#fbbf24,color:#0f172a,stroke:#fbbf24

Start from zero and end with a robot that drives. This guide covers downloading the example project, configuring your motors, and uploading working code in one session.

Before you start: You need VS Code + PROS extension installed. See the First 30 Minutes guide for that. This guide assumes PROS is working and you just need EZ Template set up.
πŸ“ What's in an EZ Template Project

Before touching any code, understand which files you actually edit. Most students get lost because they try to edit the wrong file. Click any file below to see what it does.

EZ-Template-Example-Project
include
πŸ“„ autons.hppEDIT
πŸ“„ globals.hppEDIT
πŸ“„ EZ-Template/api.hppDON'T EDIT
src
πŸ“„ main.cppEDIT
πŸ“„ autons.cppEDIT
πŸ“„ robot-config.cppEDIT
πŸ“„ project.prosDON'T EDIT
EDITYou configure this DON'T EDITEZ Template internals
βš™ Step-by-Step Setup
1
Download the Example Project
Go to github.com/EZ-Robotics/EZ-Template-Example β†’ click Code β†’ Download ZIP. Extract to a folder like Documents/VRC/robot-2026. Do NOT put it in Downloads β€” PROS struggles with long paths. In VS Code: File β†’ Add Folder to Workspace, navigate to the extracted folder.
2
Open main.cpp β€” Find the Chassis Constructor
Open src/main.cpp. Scroll to the top. The chassis constructor is the big block starting with Drive chassis(. This is where your robot gets its identity. Every single parameter matters β€” wrong value here = robot doesn't move right.
3
Configure Your Motors
Change the port numbers to match your brain. Negative port = reversed motor. For a 4-motor tank drive with motors on ports 1,2 (left) and 3,4 (right): {-1, -2} for left, {3, 4} for right. The IMU port is listed separately β€” default is port 21.
4
Set Wheel Diameter and Cartridge
4" omni wheels are actually 4.125" β€” always use 4.125, not 4. 3.25" wheels are 3.25. The cartridge is the motor RPM: pros::E_MOTOR_GEAR_BLUE = 600 RPM, BLUE, GREEN = 200, RED = 100. Use whatever cartridges are in your drive motors.
5
Build and Upload
Press Ctrl+Shift+B or click Build and Upload in the PROS panel. A loading bar appears on the V5 Brain. If the bar goes red β€” bad IMU port or cable. If motors don't respond β€” wrong port numbers or all reversed. If the robot drives but spins in place β€” left/right swapped.
πŸ”§ Constructor Builder

Fill in your robot's details and get a ready-to-paste chassis constructor.

πŸ€– Chassis Constructor GeneratorCopy into src/main.cpp

      
    
🚨 Common First-Time Errors
IMU bar goes red on startup: Wrong IMU port. Unplug and check which Smart port the IMU is actually in. EZ Template halts until IMU calibrates β€” this is intentional.
Robot spins when you push forward: Left and right motor arrays are swapped in the constructor. Swap {left ports} and {right ports}.
One side goes wrong direction: That motor needs a negative port. Add a - in front of the port number that's reversed.
Robot drives but PID auton overshoots badly: Wrong wheel diameter. 4" wheels need 4.125, not 4.0. This single digit causes ~3% error over 24 inches.
"undefined reference to chassis": You renamed the chassis object but not everywhere. Keep it named chassis unless you update every reference.
πŸ“–
OFFICIAL EZ TEMPLATE DOCUMENTATION
Installation tutorial, example project walkthrough, and full API reference at ez-robotics.github.io
πŸ“¦ Installation Tutorial β†’ πŸ™ Example Project on GitHub β†’ ⚑ Using EZ Tutorial β†’
⚙ STEM Highlight Computer Science: Software Configuration Management
Development environment setup applies software configuration management (SCM) — the engineering discipline of controlling and documenting software environments to ensure reproducibility. A properly configured environment is itself an engineering artifact: version-controlled, documented, and reproducible. When environments are undocumented, "it works on my machine" becomes the team's debugging nightmare.
🎤 Interview line: “We document our development environment as a configuration item: VS Code version, PROS version, EZ Template version, and any OS-specific settings. When a team member gets a new laptop, they reproduce the exact environment in 15 minutes. We have never lost competition code to a laptop failure because our setup is reproducible.”
After installing EZ Template, your left drive motors spin backward. What is the correct fix?
⬛ Physically swap the motor wiring connectors to reverse direction
⬛ Add a negative sign before the port number in the chassis constructor — EZ Template uses negative ports to reverse motor direction
⬛ Reinstall PROS and EZ Template from scratch
📝
Notebook entry tip: Build & Program — Orange slide (Appendix) — Document your EZ Template setup as an Appendix entry: VS Code version, PROS version, EZ Template version, chassis constructor values (wheel diameter, cartridge RPM, IMU port, track width). This entry proves the team had a configured, reproducible development environment from day one — judges notice the difference between teams that set up their tools deliberately and teams that improvised.
← ALL GUIDES