Introduction: Electric Go Kart

Hello everyone, this Instructable is a collaboration of four electromechanical engineers who studying at the HELHa university in Mons (Belgium). Their task is to work as a team to research, design and build an electrical go kart, using engineering principals. As this is a student project the frame must be kept as simple as possible, so that students can build the kart with minimal tools, and within the time frame allocated.

To get off to a good start, we decided to buy a used chassis to limit the costs.

If you want design this project, you must have a minimum knowledge of electronic and programming.You must also be able to weld and abrade.

What should you have?

The electrical Go-kart must have :

Step 1: Sizing of the Different Elements

For the motorization of the kart we had to choose 3 main elements:

- An engine

- An energy source

- A controller

We have chosen to have a 3000W motor. The motor chosen for its low price at a nominal speed of 4600 RPM.

The objective is to have a top speed of 60km/h.

4600 rpm to have 60km/h

Engine :


This is a brushless motor, it is very interesting for its weight/power ratio since it does not have a brush. It feeds on 3 phases. To increase the speed of rotation, the voltage at the terminals of the phases must vary. The frequency must increase linearly with the increase in batteries.

Batteries :

The 3000W engine is powered by 60V, for a question of budget we went on lead batteries.We used 5 12V lead batteries in series so that we had 60V.

The capacity of the batteries is 14AH. Knowing that the engine pulls an average of 30A, the theoretical range is 30 minutes. In reality, the autonomy will be lower since the discharge curve of a lead battery is not linear.
Controller : We oversized the controller so that it could withstand peak currents. The chosen controller can control a 4000W motor. The controller, being at the base intended for a car, has many functions. For the realization of the kart, we only needed the following cables:

Step 2: Hardware Part

As you may already know the Pi doesn’t have any GPIO pins that are analog. This lack of analog pins makes connecting analog sensors a little more complex.

There are several solutions to the lack of Analog pins as using a capacitor to measure the resistance of the LDR (Light Dependent Resistor).

A better solution to this would be to use what is known as an analog digital converter (MCP3008). This chip involves a little bit of setting up which we will go into below.

Equipment :

  • MCP3008 or similar
  • 10K resistor
  • The PCB (available in the .rar):
    • DGND (Pin 9) is the digital ground pin for the chip.
    • CS (Pin 10) is the chip select.
    • DIN (Pin 11) is the data in from the Raspberry Pi itself.
    • DOUT (pin 12) is the data out pin.
    • CLK (Pin 13) is the clock pin.
    • AGND (Pin 14) is the analog ground and obviously connects to ground.
    • VREF (Pin 15) is the analog reference voltage. You can change this if you want to change the scale.You probably want to keep it the same so keep this as 3v3.
    • VDD (Pin 16) is the positive power pin for the chip.

VDD (Pin16) wire this to 3.3V

VREF (Pin 15) wire this to 3.3V

AGND (Pin 14) wire this to ground

CLK (Pin 13) wire this to GPIO11 (Pin 23/SCLK)

DOUT (Pin 12) wire this to GPIO9 (Pin 21/MISO)

DIN (Pin 11) wire this to GPIO10 (Pin 19/MOSI)

CS (Pin 10) wire this to GPIO8 (Pin 24/CE0)

DGND (Pin 9) wire this to GROUND

If you’re still having trouble, double check the chip connections, and making sure all the pins are connected correctly.

Control signal :
The motor is controlled with a voltage from 0 to 5V, depending on the raspberry output signal, the motor can then be controlled. A command from 0 to 5V is sent to the raspberry with the accelerator pedal The speed of karting is recovered via a hall effect sensor, the raspberry increments a counter at each revolution of the engine, which allows to have the speed.

Step 3: Software Part

1. Enable SPI Interface on the Raspberry Pi

Using “Raspi-config” on Command Line:

From the command line or Terminal window start by running the following command

sudo raspi-config

This will launch the raspi-config utility. Select “Interfacing Options”:

Highlight the “SPI” option and activate "<Select>"

Select and activate “Yes”:

When prompted to reboot highlight and activate “Yes”

The Raspberry PI will reboot and the interface will be enabled.


Step 4: Assembly Part

The first thing to do was to strip the karting and decide where we will place the elements.

After some thought, we decided to put the engine as close as possible to the rear axle. Under the seat.

The next step was to make a support for the engine. The big challenge was to make a support that could move axially to be able to tension the chain.

The support was made by cutting a 6mm thick steel plate. The first step was to make a cardboard sketch of the support.

The strength of the bracket was then ensured by placing the motor and applying weight.

The second step was to carry out the coupling. The problem was that the axle provided by the engine manufacturers did not correspond to what was being sought.

To be able to weld the motor pinion to the shaft, a shaft diameter of 17mm was required. It was necessary to rotate the axis in order to obtain the right diameter.

Then we added the bearing and pinion on the axle. It is necessary to put a level to take back part of the torque.
In order to raise the bearing to the right height, we welded metal profiles together.

The next step was the realization of a system allowing the motor to move axially.

We welded two steel profiles in parallel. Then we cut them to create two rails.

All that remains is to install the motor and place the chain.

Once the assembly was completed, the last step was to make the connections, making sure not to create a short circuit.If the tires lose air, the valve must be replaced and the rim cleaned.

The hardest part was the mechanical part. It was necessary to make a support for the motor that could move radially in order to be able to tension the chain. For this purpose, some welding was necessary. In addition, in order to place the engine as close as possible to the rear shaft, modifications were made to the chassis structure.
A button is used to reverse the vehicle. By sending a pulse, the direction of rotation of the motor can be changed.