Modifications & Competition Rules
If you are competing in Science Olympiad Electric Vehicle, you need to understand the official rules regarding kits, code ownership, prohibited devices, and legal modifications.
Always check your current season's official Science Olympiad Rules Manual, as specific dimensions, tolerances, and event parameters can change each year.
1. Important Rules & Prohibited Devices
Lasers Are Strictly Prohibited
Science Olympiad vehicle rules explicitly ban lasers:
- No laser sighting devices: You cannot mount a laser pointer or laser sight to align the vehicle.
- No laser distance sensors: Lidar or laser time-of-flight (TOF) distance sensors are not permitted for navigation or measurement.
Cameras Are Prohibited
Cameras of any type are not allowed on the vehicle or in the track area during competition runs, even if they do not transmit live data.
Kit Usage, Modifications & Code Ownership
- Do teams have to modify the chassis itself? No, teams do not explicitly have to modify the structural chassis itself. However, under Science Olympiad rules, if using a commercial kit, teams must make at least two approved modifications to the overall kit, documented and verified on the official Kit Modification Form. These can be mechanical or functional adjustments rather than structural cuts to the chassis frame.
- Stock bottle pushers are strictly forbidden: The rules strictly forbid using a stock bottle pusher provided by a kit. Teams must design and build their own custom, rigid piece. This is why our bottle pusher is screwed in at the front M3 holes—making it modular so your team can design, 3D print, or adapt your own custom pusher.
- Why the chassis is self-printed: The EVDrive hardware package provides the core electronics, stepper motors, encoders, and wiring, while the chassis is 3D printed by your team using our free open-source CAD files from the Chassis Downloads Page.
- What you can do:
- Print the chassis as-is and add your own modifications to the pre-drilled M3 mounting holes along the sides and top (such as custom ballast counterweights for center-of-gravity tuning, battery mounts, or non-laser optical sighting jigs).
- Design and modify the bottle pusher which is screwed in at the front (tuning height, ensuring a rounded contact radius , or integrating a bumper microswitch).
- Or customize the provided
.STEPCAD model directly in Fusion 360, Onshape, or SolidWorks before 3D printing.
- You must own your code: You cannot download pre-written commercial code and run it blindly. The software must be written, modified, and understood by your team. Event supervisors will interview students during impound to confirm you know how the code works and how the car operates.
- Autonomous operation only: No tethering, remote control, or wireless communication is allowed during official runs.
2. Chassis Mounting Grid & Architecture
The EVDrive chassis includes a pre-drilled M3 mounting grid engineered specifically for team customization and rule compliance:
- Front Mounting Holes: Located on the front cross-member for screwing in the modular bottle pusher bracket or mechanical bumper switches.
- Lateral Side Holes: Running down both left and right sides of the chassis bed. Perfect for mounting trim counterweights to balance left-right weight distribution, attaching battery holder brackets, or mounting side guide jigs.
- Top Standoff Mounting Holes: 4 elevated M3 standoff mounting points positioned above the electronics. Screwing on the Top Deck Plate provides an elevated surface for non-laser optical sighting devices, tactile start buttons, and custom displays.
3. Example Legal Modifications
A. Modular Front Bottle Pusher
The event requires pushing an unanchored water bottle straight into the target zone without tipping it over:
- Screw-in front mount: The bottle pusher is screwed directly into the chassis front M3 holes with two to four screws. This modular design makes it easy to replace, swap, or iterate on different pusher geometries.
- Rigid construction: The pusher must be a single, rigid structure that cannot change shape, position, or size during the run.
- Rounded contact surfaces: It must have rounded contact points with a minimum radius (often at least 7mm; verify your season's rules manual).
- No cupping or holding: It cannot cup, hold, grasp, or enclose the bottle in any way.
- Height tuning: Mount or print the pusher at the correct height so it pushes near the bottle's center of mass (usually 30mm–45mm above the floor), preventing the bottle from toppling when the car accelerates or stops.
- Bumper microswitch integration: You can mount a small limit switch to the pusher face connected to expansion GPIO 21 on header
J6to detect the exact millisecond of bottle contact.
B. Optical Sighting Scopes & Alignment Jigs
Aligning your car on the starting line by eye introduces angle errors that grow over a 10-meter run. While lasers are banned, you can use:
- Non-laser optical scopes: A standard crosshair tube or non-laser optical sight mounted to the chassis extension plate.
- Mechanical alignment jigs: A straight edge, guide bar, or framing square placed against the wheels to align the car with the track tape line.
- Impound reminder: Any alignment device you plan to use on the track must be impounded with the vehicle. If you do not leave the device mounted on the car during the run, you must remove it before the run begins.
C. Extra Sensors (GPIO Header J6)
The board breaks out 8 extra digital/analog pins (GPIO 21, 35, 36, 37, 38, 45, 47, 48) along with +3V3 and GND:
- Front Bumper Microswitch: Mount a limit switch on your pusher bracket to detect the moment the car makes contact with the bottle.
- Ultrasonic Sensor: Use a non-laser ultrasonic sensor (like an HC-SR04) to detect obstacles or walls if your strategy calls for it.
// Example: Reading a front microswitch bumper on GPIO 21
const int PIN_BUMPER = 21;
void setupBumper() {
pinMode(PIN_BUMPER, INPUT_PULLUP);
}
bool hasHitBottle() {
return digitalRead(PIN_BUMPER) == LOW; // Switch triggers on contact
}
D. Auxiliary Motor or Mechanism
If your strategy includes a mechanical braking wedge, an active steering trim servo, or an extra motor, you can drive it using the expansion GPIO header or auxiliary power terminals.
E. Custom Input and Display
Instead of using wireless, you can attach a small OLED display or similar and buttons and/or rotary encoder and punch in the values that way. You could design a custom housing for the electronics and mount it to the top of the chassis, and connect the peripherals using the GPIO pins on the PCB. You could also design a custom PCB, or use perfboard to make this cleaner.
4. Writing Your Own Code
Treat the code snippets in these docs like Legos. You can mix and match the pieces:
- Take the simple motor step loop from the firmware guide.
- Snap on the gyro reading to keep the car straight.
- Add the push calibration routine to dial in your target distance.
- Add your own custom logic for bottle detection, acceleration pacing, or custom stop sequences.
Building your software this way ensures your team understands every line of code when the event supervisors ask you how your car works.