Formula Null Hackathon RC Car

Overview & Purpose

At the 48-hour Formula Null hackathon, a competition dedicated to transforming electronic waste into racing machines, our team, Alt+F4mula, took on the challenge of breathing new life into a discarded Chromebook. We embraced sustainability by salvaging key components and recycling wherever possible. By extracting motors from an old RC car and integrating a microcontroller for wireless control, we transformed the Chromebook shell into a fully functional RC-style race car, aptly named The 10 Piece.

Formula Null itself is a call to action for tech enthusiasts: repurpose laptops, toasters, printers, and more into drivable gadgets, then compete in a 15-team Grand Prix to see whose recycled racer reigns supreme. Over two intense days, teams push the boundaries of rapid prototyping and resourcefulness, demonstrating how e-waste can become a platform for innovation. Our goal with The 10 Piece was to highlight rapid design, practical sustainability, and creative flair, all under the pressure of a 48-hour build window. In the end, Alt+F4mula’s entry exemplifies how discarded electronics can spark engineering ingenuity and bring us closer to a greener future.

Team & Roles

Formula Null Team Photo

Our four-member team consisted of:

  • Two Computer Engineering Students (both second-year): focused on hardware integration and firmware development.
  • Two Mechanical Engineering Students (both second-year): designed and fabricated the chassis, mounting brackets, and drivetrain.

Each member contributed:

  • Manan Dua (Comp Eng Member 1): Implemented microcontroller code, web server saetup, and motor driver logic.
  • Adam Suljak (Comp Eng Member 2): Managed network and UART communication, wiring, and power distribution.
  • Zach Hodd (Mech Eng Member 1): Designed 3D-printed adapters to mount RC motors onto the Chromebook’s base.
  • Matthew Frak (Mech Eng Member 2): Constructed the frame using the chromebook's chassis and reused parts for strength and ensured proper weight distribution.

Components & Electronics

  • Old Chromebook Chassis: Stripped down to its metal shell to serve as the car’s body and protective enclosure.
  • Salvaged RC Motors: Two brushless geared DC motors (from an old RC car) for driven rear wheels.
  • Raspberry Pi & Arduino Uno (Initial Setup):
    • Raspberry Pi hosting a temporary web server to receive Xbox controller inputs from a laptop.
    • UART link between Pi’s GPIO TX/RX pins and Arduino Uno’s RX/TX pins.
    • Arduino Uno driving motor driver (L298N) to control speed and direction of DC motors.
  • ESP32-C3 SuperMini (Final Setup):
    • Served as both Wi-Fi access point and MCU - eliminated need for Pi + Uno chain.
    • Hosted a lightweight HTTP server responding to REST commands from phone browser.
    • Controlled L298N inputs directly via ESP32 GPIOs, sending PWM signals to motors.
  • Motor Driver: L298N dual H-bridge module powered by 9V Alkaline battery.
  • Xbox Controller: Paired to laptop (initially) via Bluetooth and transmitted to the Raspberry Pi through a websocket server.
  • Battery & Power Distribution: dual 9V Alkaline for motor driver logic. with 5000mAh power bank for microcontrollers.
  • Wiring Harness: Soldered connections using 22 AWG silicone wires, secured with zip ties and heat-shrink tubing.
Electronics Layout and Components

Build Process

Hackathon Kickoff

  • Chassis Preparation: Removed Chromebook’s screen and keyboard, repurposed metal base as mounting plate. Verified structural rigidity to support motors and battery.
  • Motor Integration: Fabricated 3D-printed motor mounts to bolt RC motors onto Chromebook’s rear axle points. Ensured alignment and correct gear meshing.
  • Initial Control Architecture:
    • Set up a Raspberry Pi with Raspbian and installed Flask (Python) to run a web server.
    • Wrote Python endpoint to receive Xbox controller inputs via Bluetooth and translate into simple serial commands.
    • Connected Pi UART TX→Arduino Uno RX and Pi RX→Arduino TX. On Arduino, wrote code to parse serial packets and output corresponding PWM signals to L298N inputs.
    • Tested motor direction and speed on bench; verified forward, backward, left, and right commands worked locally via USB serial monitor.
  • Challenges with Pi + Uno:
    • Wi-Fi connectivity between laptop and Pi was inconsistent—lost HTTP connections frequently.
    • Serial buffer overflow on Arduino when Pi’s packet bursts occurred, causing dropped commands.
    • Debugging over SSH consumed extra time; issues persisted despite restarts.

Last-Minute Pivot to ESP32-C3

  • Rationale: Given unreliable Pi-Uno link, we needed a single-board solution capable of hosting Wi-Fi and driving motors. An ESP32-C3 SuperMini was on hand.
  • Rapid Integration (~30 minutes):
    • Configured ESP32-C3 to run as a Wi-Fi access point (SSID: “FormulaNull_Car”).
    • Wrote Arduino-style code using ESP-IDF’s Arduino compatibility layer using C/C++:
      • Set up a lightweight HTTP server using ESPAsyncWebServer library.
      • Defined endpoints and translated commands sent from the http server.
      • Parsed URL parameters, converted to PWM duty cycles, and wrote to GPIOs connected to L298N.
    • Powered ESP32 via 5 V power bank; routed motor driver inputs directly to ESP32’s GPIOs (GPIO 2 & 3 = PWM for motor A, GPIO 5 & 6 = PWM for motor B).
    • Tested control by connecting phone to “FormulaNull_Car” network and browsing to 192.168.4.1. Control page loaded instantly, no disconnects.
  • Final Assembly: Removed Pi and Uno, re-routed wiring so ESP32 drove L298N directly. Secured ESP32 atop Chromebook base with double-sided foam tape. Ensured antenna had clear line of sight for Wi-Fi.
  • Race Ready: With ~15 minutes remaining, we performed a quick drive test—forward, reverse, and turns all responded immediately. Left margin for minor adjustments (tightened motor mounts, verified battery voltage).
ESP32-C3 Mounted and Wiring Diagram

Results & Demo

At the end of the 48-hour event, our Chromebook car successfully completed the track with remote control via phone. Key outcomes:

  • Stable Remote Control: ESP32-C3’s local web server never dropped connection during two full practice laps.
  • Top Speed: Achieved approximately 1 m/s on flat surface—comparable to other e-waste builds.
  • Battery Life: 2x9V batteries provided about 20 minutes of continuous driving before voltage sag; sufficient for multiple race attempts.
  • Reliability: No stalling or communication timeout during final race runs.
Front View of Chromebook Car

The car drew major interest for its simplicity—eliminating the Pi/Arduino complexity—and for showcasing how a small microcontroller can handle both networking and motor control in real time.

Community & Resources

Hackathon Collaboration and Sharing Ideas

For detailed build files, code, and additional insights:

Future Improvements & Reflections

  • Bluetooth Controller Integration: Explore ESP32’s BLE stack to pair directly with Xbox controllers—eliminate phone interface latency.
  • Improved Steering Mechanism: Replace single servo with differential drive or incorporate a rack-and-pinion 3D-printed steering assembly for tighter turning radius.
  • Charger Integration: Embed a charging port on the chassis to allow quick battery swaps between races.

Participating in Formula Null taught us rapid problem solving—pivoting to ESP32-C3 in under 30 minutes was critical. The event highlighted how e-waste can become the foundation for creative engineering, and we look forward to refining our design for future competitions.