The lightcar race

Are you up for a challenge? Built the best performing autonomous car through a course as fast as possible and prove that your design is the best!

GitHub repository with all resources:

Competition regulations

The LightCar Race is a competition which bases on designing the best preforming car along with creating the best code for a challenge. Your car is supposed to follow a LeadCar, which is preprogrammed to drive a certain path with a variety within speed and turns. The path will be repeated for as many times as the car manage without any interference, with a short stop between every startup. You will be using two photoresistors for following the leader-car, hence a light source is built in at the rear of the car, as displayed below. A fusion between the two sensors will create the best following*. The ultimate goal is to follow the Leader-Car as close and good as possible throughout the section, as well as stopping closest to 10 cm behind the Leader after the first loop.

The cars' performance will be judged from 4 categories, with a grade from 1 til 10.

The first category is the Best Looking Code, and the criteria are:

  • Neatest look

  • Using functions

  • Good variable names

    • Only uses one type of variable methods

    • Describing names

  • Easily adjustable

  • Complexity in a simple way

The second category is the one who follows best, and the criteria are:

  • Able to follow the longest in one single loop

  • Able to follow several loops

  • Has the smoothest driving

The third category is Stopping The Closest, and the criteria are:

  • Able to follow through a complete loop

  • Stopping the closest to 10 cm behind the Leader-Car after the first loop

  • Maintain still for as long as the Leader-Car stands still

The fourth and last category are The Most Creative Design, and the criteria are:

  • Has a creative and original design

  • Holds all the necessary components

  • Has to be driveable

By using two photoresistors your vehicle is supposed to follow a LeadCar as good as possible. The drive-computer is an Arduino Uno which will read sensor data and control the motors and optional a servo. Mainly C code are used for programming the Arduino board, but optional MATLAB Simulink may be used as an alternative.


As displayed, this is how the measuring should be done after the first loop.

You can also see how the alignment should be between the LeadCar and your vehicle when the start signal goes.


The car assembly for the LeadCar, code can be found at the GitHub Repository

The light source is a 9V battery light called Blocklight.

Available at: Biltema, Amazon

Design Rules

For the car challenge project, there are some basic rules for the available components.

The requirements for the components for use to build the car are provided as a list in the section below. There are some components you have to include, such as the Arduino, and some optional components you can choose from, if you think it will make your car faster.

The frame of the car are to be designed yourself and made by using either printing in PLA plastic, cutting it out of acrylic plates on the laser cutter or by using the CNC machine. The wheels can also optional be made with the same production methods. Soldering for the wires and screws and glue for assembling are of course allowed.


Nessesary Components

Optional components

  • Arduino Uno x1

  • Motor controller L298 x1

  • 9 volt battery x1

  • Power line from battery to L298 x1

  • TT motor x2

  • Photocell x2

  • Resistors x2

  • Necessary wires

  • Wheels (can be made, or take us off pre-made)

  • Various sensors (for example proximity)

  • 9g Servo (If you rather have this for steering)

  • Weight

Circuit design for necessary components

Academical information

This project can be done with simple programming, and empirical testing. But if you what to take your car to the next level, there are a lot of control theory to investigate for optimizing your code. A short introduction to some mechanical aspects to consider are presented in this presentation, along with some important mathematical calculations.

Below is also a beginners guide for Arduino IDE, this is a good starting place for learning Arduino basics which will come in handy for making the code in this project.


Former Competitors