Expecto Autonomous - Building A Self-driving Rc-car

About the project

A small electric "autonomous" car that can travel unknown combinations on predetermined track parts and can solve numerous special tasks, such as avoiding obstacles or emergency braking. Main objective: taking part in the annual NXP-Cup.

Project info

Difficulty: Difficult

Platforms: NXPWindows

Estimated time: 5 months

License: MIT license (MIT)

Items used in this project

Hardware components

Alamak Car Kit Alamak Car Kit x 1
TSL1401 TSL1401 x 1
Freedom KL25Z Freedom KL25Z x 1

Software apps and online services

CodeWarrior CodeWarrior
ESP-Link ESP-Link

Hand tools and fabrication machines

3D-Printer 3D-Printer x 1
Gluegun Gluegun x 1
Oszilloscope Oszilloscope x 1
Basic tools (screwdrivers, etc.) Basic tools (screwdrivers, etc.) x 1


The aim of the project is to participate in the annual NXP-Cup for self-built, "autonomous" vehicles. In a team consisting of three students of the University of Applied Sciences Duesseldorf, we started to build a vehicle based on the "Alamak" car kit, which can complete known track parts, consisting of a white roadway with black borderings, in unknown combinations in the shortest possible time. All computations are done on a Freedom KL25Z board. The steering of the vehicle is controlled by a line scan camera with the sensor type TSL1401, which after processing and evaluation sends corresponding PWM signals to the servo for steering and the two DC drive motors for speed control. The control of the driving route is implemented by detecting two black outer lines, which tell the vehicle the current deviation from the centre of the route by reference to the optimum centre and implement the necessary reaction for the steering. Dedicated driving modes are controlled by a combination of buttons and an LED display, which is attached to the chassis. Continuous values for variables can be continuously controlled by two fixed potentiometers and adjusted before each drive. The multicolor LED mounted on the systemshield is currently used for debugging and monitoring.


Leave your feedback...