Nxp Cup - Autonomous Racing Car

Photo of galloj

Made by galloj / Robotics

About the project

Autonomous cars are starting to rule world. So let's try to make our own and go to race!

Project info

Difficulty: Difficult

Platforms: NXP

Estimated time: 5 months

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

Gear Stepper Motor with Driver Gear Stepper Motor with Driver x 1
Micro Servo Micro Servo x 1

Software apps and online services

MCUXpresso MCUXpresso
Processing Processing

Hand tools and fabrication machines

3D Printer 3D Printer x 1


Me and my friends decided to go again to NXP Cup this year. We had already some knowledge from previous one, so we decided to make something harder. So we will be making new main board, camera on servo motor, bluetooth communication and much more.

About NXP Cup


NXP Cup is competition for students of high schools and universities which is about getting real experience of hardware, NXP microcontrollers and having fun.

Where and when?

Competition is splitted into two parts. First is local and second is global. Our team will compete in local part in Czech republic. Global part should be happening in Romania. Those parts were planned on March and May, but were postponed, because of current coronavirus situation.


Both parts will have some content, just the final part will take two days and the first part will take just one day. Each part have five disciplines:



While we were racing previous year, we had found out two things. First is that light doesn't come only from front of camera, but also from back. This happens, because camera chip is placed on thin PCB, which lets come light through. So to mitigate this problem we 3D printed black camera case and now it looks cooler too!

Second problem was, that we were moving camera up and down a lot. We were doing this because we were trying to find right distance, where camera captures turns correctly and doesn't capture car itself and we found that also for different type of tracks best position differs. Next issue was also that if we accidentally hit the camera we had to found right position again. So we added stepper motor with gears with 1:2 ratio, which make our camera move faster. Also you can see at the image that we added end switch. Because servo motor doesn't itself provide any informations about it's initial position. When our cars boot up, we always move it down to the position where it touches the end switch. From that moment we know where is our camera looking at.


We learned from previous year how much is bumper important. We have collided with walls and various objects many times and almost totally broke our car. So this time we have added bumper from flexible piece of tube, which holds on massive 3D printed block, which we also use as holder for our laser.


This part is needed because of obstacle avoidance cheallange. Goal is to dodge white cube, which will be placed into the track. Our plan is to find this obstacle with laser, which will be rotated around with servo motor. This is first step, which is very acurate with giving information if obstacle is close, but it isn't able to give perfect position. After we find the obstacle we will use camera with stepper motor to properly scan it's position.


We have learned from previous year, that it is very useful to know venhicle speed. It can be used to regulate what power we want to pass into motors, mainly at start where we want to pass maximum power till our car gets at desired speed. Also it is very good for challanges where we want to go really slow. There can happen that if we go into turn, then there is aditional friction which can make our car stop and will hold it for ever. So if encoder tells us that we are stuck, then it can put additional power into motors, so we will start moving again.

Main board

When we had all other hardware planned, then we had realised we got problem. Default main board supplied with car kit had different pinout than we needed and haven't supported all our hardware. Also we wanted maximum compute speed for this card, so we decided to use K64F instead of KL25Z controller. And those controller had different pinouts, so we couldn't fit even the brain of our car into main board, so we got into the design of our new main board.

My team

Our team will be competing with name VAXNA. Team members are Jiří Gallo, Tom Donát and Hanka Hrušecká.

Except our results here soon.

Schematics and circuit diagrams

New main board


Photo of galloj


Student at Střední škola informatiky elektrotechniky, řemesel Rožnov pod Radhoštěm.


Leave your feedback...