May Update

A project log for Self-Driving Power Wheels Car

Retrofitting (and overhauling) a Power Wheels car to make it self-driving.

PowerWheelsPowerWheels 05/28/2019 at 15:580 Comments

We have made substantial progress, transforming our raw materials into a working, moving frame. Images of our progress is available in the gallery.

Steering Wheel: 

We 3D printed a steering wheel to be used with our car. Mounted to the steering wheel is an IMU, which detects how many times either clockwise or counterclockwise the wheel has been rotated. By utilizing a counter with our code, the steering wheel can be rotated either clockwise or counterclockwise up to 900 degrees, which can be used to modify the motor power while turning. The code for our steering wheel can be accessed in the files section, under Steering_Wheel.ino.

Drive Train:

Our vehicle is powered by a total of four CIM motors. Our vehicle uses two 3-stage EVO CIM gearboxes (14.17:1 ratio) , each of which takes two motor inputs. The gearboxes and motors are mounted on either side of the frame. 

Each motor is hooked up to a Jaguar motor controller. This lets us code the DC motors as if they were normal servos, using Arduino.

Each motor controller is plugged into a power distribution panel, which in turn is plugged into a 12V battery.

The weight of the frame as well as friction from the new wheels makes building a physical steering rig, as was used in our stock Power Wheels car, difficult. Thus, we aim to use skid steering to guide the car, with the steering wheel's inputs being used to automatically adjust the speeds of the left and right motors.

Our vehicle utilizes front wheel drive. For the rear drag wheels, we initially used a set of omni wheels mounted to 1/2" churro axle. Upon testing, the wood holding the churro axle split and we had to replace the rear wheels.

We opted to use a set of castor wheels for their low-friction, and stability in being screwed directly into the plywood frame of the car.


Even after construction of our drive train was complete, testing was a long process of trial and error simply to get the vehicle to move. One of our biggest issues was that the gearbox output was a hexagonal axle, and our wheels had circular hubs. We 3D printed multiple different adapters, but each was worn down by the weight and torque of the vehicle. Ultimately, metal hexaxle hubs got the job done, as can be seen with the side view photo in the gallery.

In testing with the Drive_Forward program, we found that the left motors moved faster at quarter speed than the right motors, so we had to account for this in future programming.

In the Acceleration_Pedal program, we aimed for an acceleration pedal to move the vehicle forward, and for the brake pedal to stop the movement. Unfortunately, we were unable to get this program to work.

In the Pedal_Control program, we opted for an alternative steering method. Rather than relying on an acceleration and brake pedal in conjunction with a steering wheel, we have a left and right pedal (as pictured in the gallery). When the left pedal is pressed, the left motors spin, and vice versa. This program was successful.