How a $10K Electric Car Beat a $100K Competitor

0 MIN READ • Stephen Blum on Apr 20, 2026

A student engineering team. A DIY electric car. A telemetry system nobody could copy. Multiple first-place finishes.

That's the story of Eric Yoon and his team at the University of Waterloo's EV Challenge. A nationwide competition where teams build electric cars from scratch and race them for maximum distance on a fixed battery.

The Problem: Every Car Looked the Same

Eric's team had the best mechanical design. Other teams noticed. They started copying it. Exhibition day became a design showroom. Teams walking around, snapping photos, converging on a mechanical singularity.

The advantage was gone.

So the team pivoted. Instead of optimizing the car, they optimized the strategy. Battery usage, race pacing, pit stop timing. And they built a real-time telemetry system to do it.

The best part? Competitors can't peek under the hood for software.

Version 1: Raspberry Pi, PubNub, and a Lot of Lessons

The first system had four components:

Cycle Analyst: Read voltage, current, amp hours, speed, distance

Raspberry Pi: Compile data, run the racing algorithm

Phone (hotspot + display): Connect to PubNub, show driver dashboard

Pit Crew Laptop: Monitor the PubNub channel in real time

Data flowed from the car to PubNub, and the pit crew could watch and adjust strategy while the car circled the track.

It worked. Mostly.

The cycle analyst spit out comma-separated values. The string got truncated mid-value instead of at the delimiter. Data was getting mangled. Then, during a race, part of the car fell on the dead man switch. The system went down.

But because everything was published through PubNub, the crew could manually adjust values and recover. Not a total loss.

Version 2: Threads, Buffers, and a Clean Architecture

The team rebuilt everything.

Hardware changes:

  • Swapped the cycle analyst for an AllTrax controller: better data, more accuracy, onboard storage
  • Replaced the Raspberry Pi with a Windows laptop (AllTrax only had a Windows toolkit at the time)
  • Stripped back cables: the track was bumpy, connectors kept shaking loose

Software changes:

  • Switched the driver dashboard from an app to a website reading directly from PubNub
  • Built a multi-threaded Python architecture with three threads:

Intake: Read sensor data continuously

Main: Run the algorithm, analyze the buffer

Upload: Publish results to PubNub

Buffering solved the truncation problem. No more lost data. The main thread filled up, handed off to upload, and kept going.

Simple. Reliable. Fast.

The Result

Multiple first-place victories 🎉 Both 12-volt and 24-volt races. Plus the Dennis Weishar Engineering Design Award, specifically for the telemetry system.

One detail worth noting: a new team showed up that year. FRC (First Robotics Competition) veterans. Hundreds of thousands of dollars in funding. Eric's team had about $10,000.

They still won.

The Hidden Battery Trick

The telemetry data revealed something no other team figured out. Battery performance isn’t fixed. When handled correctly, it can evolve in your favour, but only if you know what you’re looking for.

Most teams never had the time.

Every other team was scrambling to finish their car the week before competition. Same battery model, worse performance.

Eric's team had the data to prove it. And the time to exploit it.

What's Next

The team is exploring AI-driven modeling with PyTorch. Feeding in load profiles, temperature, humidity, and environmental conditions to predict battery drain curves more accurately.

They're also optimizing pit stop strategy. Batteries recover voltage when you cut the load temporarily. Time your pit stops right, and you squeeze out more usable energy from the same pack.

Small optimizations. They add up. That's how you win with a fraction of the budget.

Real-time data, published through PubNub, analyzed on the fly, invisible to the competition. The team's ingenuity, intelligence and execution led them to victory. That's the edge.

Post submitted by: Eric Yoon

"I'm an undergraduate Computer Engineering student attending the University of Waterloo! I'm a full stack developer with a deep passion for continuous learning and am familiar with C++, Next.js, Python, and a variety of other languages/frameworks. When I'm not tinkering away on my computer, I like to spend my time reading, keeping fit, and learning new languages!"

Connect with Eric on LinkedIn or GitHub