Inspiration

A long time ago (2017 to be exact) Josh and his brother began a holiday tradition: Matchbox racing. Since then, through much iterations and testing, we have developed an expansive collection of cars, all with teams and backstories. Although he and I are now growing up, and our time to see each other is less, one thing remains consistent: the DRL.

What it does

We made an automatic timing system utilizing IR sensors and servos communicating via an Arduino. Create a useful UI allowing the user to race with maximum efficiency and track times accurately.

How we built it

We use an Arduino Nano to control all hardware components. We use a servo motor to control the release gate, and IR emitter and receiver to detect when a car cross the finish line. The system is held together with a variety of wires, tracks, popsicle sticks, and hot glue. We use a Flask server with Flask-SocketIO to handle communication between the frontend abd the hardware. The backend listens for serial events from the Arduino, triggers the command to release cars, and broadcasts updates to the frontend in real time. The primary interface displays the race timer, average speed, and placement for each car. We use HTML, CSS, and JavaScript with jQuery and SocketIO to update the UI in real time based on events from the backend, The interface provides start and reset controls while reflecting the car’s status on the track.

Challenges we ran into

We struggled with versioning our repository. We each had different methods of developing, and could have communicated better about coordinating changes to the code.

Accomplishments that we're proud of

We each had to use a variety of tools and resources we had never used before, including Flask, servo motors, jQuery, etc.

What we learned

We learned that it is important to be patient when developing in a team.

Share this project:

Updates