Introduction: Homemade 100 HP Motor Controller for an Electric Car

Picture of Homemade 100 HP Motor Controller for an Electric Car

This instructable explains how to build your own 100 HP (peak) motor controller for use in an electric car or motorcycle conversion.  It can take any voltage up to 144v, and the peak current is 500 amps.  The cost of the components is a few hundred dollars, which means you can save over $1000 by putting one together yourself.   At 144v, you can expect a top speed of around 75 MPH in a car. 
Check out
if you want to read about the whole story!

Experience in soldering is important.  If you want to really keep costs down, a mill is helpful, but that work can be outsourced to a local metal shop.

Step 1: Get/Make a Power Board and Control Board.

Picture of Get/Make a Power Board and Control Board.

You are going to need a control board and etched power board.  The power board needs to be at least 3 ounce copper.   Ebay is a good place to look for heavy cheap copper clad PCB.  For example:

You could print the picture from this link and somehow transfer it onto a piece of heavy blank PCB, and etch it with a dremel if you have a ver y steady hand.  The dimensions are 8"x6".  This link also has the G-code that you can use to etch with a CNC mill or you could give the G-code to a machine shop.

Picture 2 and 3 below is an example of an early power board I made with a Dremel.

You can get a control board from me or you can make the control board in your favorite PCB layout software using the schematic here::
And here are some pictures of the PCB layers:

A predone control board is Picture 1.

Pictures 7 and 8 are the power board top and bottom.  The 8 solder spots are just where vias were added.

Once you have the 2 boards, you can go to step 2. 

Step 2: Drill Your Metals and Isolation Strips

Picture of Drill Your Metals and Isolation Strips
1/4" x 3/4" x 12" C110 copper bar.
Two 3/16" x 3/4" x 10" C110 copper bars.
3/4" x 1.5" x 8" aluminum bar.
3/8" x 8" x 11" aluminum plate.
3/16" x 3/4" x 8" steel bar.
Two 1/16" x 3/4" x 8" unclad FR4 used in making PCB.
1/16" x 6" x 8" unclad FR4 board.

5/16" drill bit (or 3/8" drill bit if you need slop)
1/8" drill bit.
3/16" drill bit. (Must allow a #6 screw to fit through)
Drill Press.

Do all the drilling!  It may help to take the big aluminum bar to a machine shop, since it's not easy drilling through 1.5" of aluminum accurately.   See all the pictures below for notes on hole locations and drill bit sizes.

Here's a video on how the power section pieces all get bolted together, without the electronics attached, just so you can see how it all fits:

Step 3: Order the Electronic Components

Picture of Order the Electronic Components

Order these components for the control board:

And order these components for the power section.  If you have already bought and drilled the metals on step 2, then don't reorder them.  They are listed here as well.

Step 4: Solder the Control Board

Picture of Solder the Control Board
45 or 60 watt soldering iron.
0.032" diameter (or so) rosin core solder

This step takes about 3 or 4 hours.  It's very unforgiving.  If you have never soldered before, you should get help with this.  The ground plane doesn't have "thermals", so it takes some heat to melt the solder to it.  Check out this help file for soldering the control board.  See pages 2 through 19:,%202010.pdf

Watch for solder bridges (when big globs of solder bridge isolation gaps).  Also, you may want to socket the ATMega168.  You can program the ATMega168 in-system.  So, you can solder it in, and then program it if you want to.  Or you can get one preprogrammed.

This video walks you through soldering the control board from start to finish:

Step 5: Program the ATMega168 Microcontroller

Picture of Program the ATMega168 Microcontroller

Once the ATMega168 arrives with all the other stuff, you need to program it with the motor controller code.  Either make your own code, or use/modify the code below.  

You can make a very cheap ATMega168 programmer, or buy an AVRISP MK2:

And download the free AVR Studio development environment:

The hex file of the code is available here.  Use "coug-unified-16k.hex":

Here's the code:

The fuse bits are Extended High Low = F8 DC F7.  But if you are using Ponyprog, the fuse bits are 08 DC F7.

If you don't want to bother to program it yourself, then you can buy a preprogrammed one.

Step 6: Assemble the Power Section

Picture of Assemble the Power Section

There are quite a few parts to this process.  The short version is, you need to bolt together all of metal parts, and solder the 10 MOSFETs, 10 freewheel diodes, 16 large electrolytic capacitors, and 3 snubber capacitors to the power board.   Please see pictures below and the assembly help file, pages 20 through 43 for all the gory details.  You will need a 200 or 250w soldering gun:,%202010.pdf

Step 7: Mount the Control Section to the Power Section

Picture of Mount the Control Section to the Power Section
See this video for directions on how to mount the control board to the power section.  It also shows how to solder the gate resistors and the ground wires, and how to mount an enclosure:

You can also check out pages 44-46 of the help file here:,%202010.pdf

Get Ready!!!  There's only one more step!

Step 8: Drive Away!!!

Picture of Drive Away!!!
This is me driving with my car at 72v.  Notice that this one had all 3 copper bus bars coming out the same way.  That doesn't affect the functionality of the controller.

And here's a video of Joe in Phoenix using that same controller at 144v:
And here's Ben Nelson, the guy on here that made the plug-in hybrid, doing a gravel burnout with his.  He's always had a flair for the dramatic:

Now go out and build one!  Doing it yourself can save you over $1000.


PatriceL1 (author)2017-08-09

look this site

Karlelambel (author)2016-03-31

Great project, but it seems that all the links related to it are dead!!!

Does anyone know where to find the files like the schematics of the controller and the power board?!

FernandoG4 (author)Karlelambel2016-05-05

Hi guys! I Found this Website, it has a detailed PDF and they are selling the boards as well.

EVTVBrasil (author)FernandoG42017-04-02

not working

szadan (author)Karlelambel2016-04-02

I would like to see those files too :) I was searching through many many forums, old posts and blogs, but sadly not really much. :/

EVTVBrasil (author)2017-04-02

Hi... the help file here is not working?

mykiscool (author)2016-10-17

Great project, thanks for sharing!

thiagoroo (author)2016-07-12

hello , I would buy this controller or the board , to my kart, paraens to work you have fans in Brazil .

Karlelambel (author)2016-03-31

Great project, but it seems that all the links related to it are dead!!!

Does anyone know where to find the files like the schematics of the controller and the power board?!

RaonyD (author)2016-02-18

can someone send me the control board printing model at the beginning of the page ????

I can not find anywhere yet, I will build my because in Brazil the cost of tax to import is absurd will print transfer and passes stops virgin copper plate.

MichaelL18 (author)2015-08-27

There are several links that are broken in the instructable above. Files may last forever on the internet, but they don't stay in the same location ;)

You can download the various files for several versions of the controller here

And if you'd like to take a look at the rest of the wiki as well ...


evwannabe (author)MichaelL182016-01-11

Great site, I really like the idea of building the controller, but, when I tried the links at the page came up with 'We could not retrieve this file because the link is invalid.' on most of the links to that pointed to

Thank you for the work that you've done!

MichaelL18 (author)evwannabe2016-01-12

The links still work for me ...

It would be better if Paul hosts the files - those links will be more permanent!

MPaulHolmes (author)evwannabe2016-01-11

I'll get the files up on my own website hopefully this week.

jimmerforpoy (author)2012-01-19

Does this work for all ev conversions under 144 volts?

MPaulHolmes (author)jimmerforpoy2012-01-24


jongscx (author)MPaulHolmes2012-03-05

As a follow-up, Is it possible to "scale down" the design if I'm never getting near the 144V/500A power requirements? Do I just use fewer mosfets and caps?

TomasT2 (author)jongscx2015-09-14

Answer is YES, power requirements can be scaled down. I have two of these controllers for my ABB SEPEX motor. One full-sized for the armature current and one scaled down for the field. The field is at 10A so one mosfet was enough. The field is controlled with the motor rpm as input, with field weakning according to lookup table. For optimized performance it would be preferred to use the PWM/duty cycle from the armature controller and/or armature current as input, but it was easier to implement it without an open communication link between the two MCUs.

TEXACA (author)2015-08-21
lkeerthan (author)2015-07-27

Hi! I'm a part of FS hybrid team, your instructable/blog is a invaluable source for amature and students like me

I have a query, in your motor controller how did you isolate the 12V and the high voltage side?

We have a kelly contoller (which has the problem having common ground), any solution / way to isolate the grounds other than an 12V isolated DC-DC converter run from the low volatge side?

Awaiting your response

Thank you in advance

afbcom (author)2011-01-20


Just a thought, you could eliminate a lot of voltage spike issues by mounting the controller as close to the motor as possible. Any time the length of the wire between the motor controller exceeds the diameter of the wire, the collapse current becomes significant. Since Vpeak = di/dt, and you have a peak current of ~500 amps, if your switching time is <1ms which I'm guessing it is, this will result in a spike of 500 000 volts! These voltage spikes can damage the control circuitry. This is assuming that you are having voltage spike issues to begin with. Regardless it is typically a good idea to mount the power control board as close as possible to the motor.


MPaulHolmes (author)afbcom2011-01-20

I've done some voltage spike tests, and at 500amp, the spikes are about 20 or 25v, so it's not too bad. I'm using 200v components, so at 144v, I'm still a fair distance away from danger. The nice thing is, under heavy current, the battery pack voltage sags, so the net result is that the voltage spikes are about 20 or 25v above like 135v in the worst case.

Macdddy1 (author)MPaulHolmes2015-05-07

Hello Paul, I was looking to adding 6 more batteries to my EV. So do i just need to change the speed controler & charger ?? And by the way would you sell a controler ??

Tom Hargrave (author)MPaulHolmes2014-09-17

To clarify - 500KV spikes are real but only open loop, where the input impedance is very high. You are are clamping the spikes to 25V with your protection circuit.

afbcom (author)MPaulHolmes2011-01-21


Not that I doubt you, but where are you measuring the spikes. The ones that I am referring to is the reverse against the driving fets from the motor and supply cables to it. If you're getting results around 25 volts then you have done a damm good engineering job and kudos to you sir.


ps awesome response time

MPaulHolmes (author)afbcom2011-01-21
Hi afbcom! I measured the voltage spikes from drain to source of the mosfets. Every time the mosfet turns off, the voltage from drain to source goes from nearly zero to full pack voltage, and it wants to keep going past pack voltage. I also use some polypropylene metal film capacitors to help snub the spikes. My friend in Phoenix has a video of the spikes on his oscilloscope. I'll find it. When I tested it in my car, I just used a peak voltage detector (like a crab trap. but instead of crabs, it traps electrons. haha):
jerkey (author)MPaulHolmes2011-01-31

I can't see exactly where you're connecting your measurement probe, but it is necessary to connect both the probe and the ground as closely as possible to the place you're actually measuring, because inductance is playing a huge part in what you're dealing with, and even an inch of wire can have an effect. The voltage spikes are a danger inside the MOSFETs so thats where the probe should be.

Another issue is that the voltage spikes are a result of firing into a reactive load, which is more like a motor prevented from spinning. A freewheeling motor (which I heard) will not cause inductive kickback as much as if you lock the parking brake and do it, you should try that.

A wise teacher of mine who makes giant stepper-motor controllers (and Aerco pre-amps) says that the key to protecting your fets is a combination of small and large diodes (they have different properties) and resistor-capacitor snubbers and most importantly, MOV (Metal Oxide Varistors) which are your first line of defense.

But i definitely know that the spikes are worst when the motor is stalled.

acelondon (author)jerkey2011-04-25

In the EV community, we use freewheeling diodes to take care of all the inductive kickback from the motor. Ususally rated at LEAST the same as the switching device. My IGBT controller(inspired by Paul's MOSFET controller) will be built for 1200 amps, with 1200 amps of freewheeling diodes, AND be run at 750 amps. Should last a while XD

It's my senior project for college. Great excuse to rip around campus with a less than legal electric car!

MPaulHolmes (author)jerkey2011-01-31

I didn't make that video. It was actually my beta tester. I've done testing with a locked rotor, and the spikes were around 25v, at least with my peak detector, which was a diode and capacitor. electrons could get in and not back out. That was the crab trap I was referring to above. A locked rotor has almost no resistance, so the current is huge, and the voltage spike is di/dt*L_stray, so a larger change in current definitely gives a larger voltage spike. The nice thing is, there may be optimal ways of doing things, but his controller has run for over a year and a half in sometimes 110 degree weather and it's still going strong, and that was not withstanding my crappy assembly process, since it was the first or 2nd one I put together.

afbcom (author)MPaulHolmes2011-01-21

This just goes to that what you read in a textbook doesn't necessarily apply to the real world! Nice scope. There are commercial products that aren't as well designed as yours... friggin cool!

You could also include a TVS diode to protect against the spikes if they are too large

Hi Killersquirel11! Great minds think alike! haha. I'm using the P6KE20A-T transient voltage suppressor. Nothing goes over 20v from gate to source, and gate to source is rated for up to 30v, so it's kept safe.

Ziggythewiz (author)afbcom2011-01-23

"Any time the length of the wire between the motor controller exceeds the diameter of the wire"

I'm pretty sure every wire I've ever used was longer than it's diameter.

megapix (author)afbcom2011-01-21

Just a little correction on the math for the voltage spike. The voltage is V = L * di/dt where L is the inductance of the wire. For a couple of feet of wire this could be around 1uH (microHenry = 10e-6). So for a 1mSec switching time you would have 0.5V, and for a 1uSec switching time you would have a 500V spike. So it is worth being careful about, but not as severe as your calculation.

afbcom (author)megapix2011-01-21

thankyou for the correction. Now that I think about it, 500kvolt is a bit large sounding eh?

en2oh (author)2015-03-31

Great project. Thanks for sharing.

Anyone know of similar specs controller for 144v BLDC motor?


jolaniyan (author)2015-02-24

Hi Paul! Thanks for the great instructable. Firstly, many of the links
are dead so kindly update them. Secondly, i want to do a variant of this
controller that has 24V - 48V, and a max current of 150A (for a 2.2KW
motor). What modifications do i need to make to your controller and/or
power boards to reduce cost? (I know your set up will work but i think its an over-kill for a 2.2kW motor, what do you think?) I intend to make my first instructable out
of this and provide full credits to you. Any help will be thoroughly

pteurlings (author)2015-01-15

Would it be possible to create a controller that can handle 24V at 1000A?

mihnea1970 (author)2012-05-28

I can not download the schematics for the control board. Please help.

kairala (author)2013-08-11

i am from india, want to build electric car as well as a bike.
for electric bike - requires a 36v controller circuit diagram with components specified.
for electric car- i was not able to download circuit diagram of 144v-500amps controller version.
so i hereby request to help me for the above project.
email id-

kairala (author)2013-08-11

hi, i am from india. want to build electric car as well as a bike.
for electric bike i require 36v controller circuit diagram with components specification.
for electric car i was not able to download the circuit diagram of 144v-500amp version.
so i request to help me for the above.
thanking you.

anriocarver (author)2013-02-13

What is the price for one 144Volt 500Amp already built. Ready to use.
My email address is
I leave in Mauritius.

Nav (author)2012-01-21

Okay so I am a novice in all things electric car, but I'm wondering if throwing 4 of these controllers into a car with 4 forklift motors somehow connected to the axle would result in a 400HP car? I'm sure it doesn't work like that but could someone please explain the pros/cons of this to me? Thanks and awesome instructable!

MPaulHolmes (author)Nav2012-01-24

Yes you could.

DieCastoms (author)2012-01-23

Ok, so.. I have what used to be a small-sized 3-wheeled 24-volt "Mobility Scooter". I am building a large RC vehicle out of it.

I need a motor controller for 24 volts that will run the thing either from a wired throttle or eventually a servo output from an RC receiver OR an actual servo mechanically coupled to a pot that is wired to the controller (This should give perfectly isolated power from the vehicle's 24 volt system and the RC's 6 volt system, yes?)

I WANT to have the option to run it via RC or to be able to plug in a wired controller because the vehicle will be large enough to sit on when complete.

Can someone please suggest a source for such a controller? I DO NOT have the original controller from the Mobility Scooter, or I would gladly just use it. I know I could buy another controller for the chair or a similar model, but I would like to see what else gets suggested, first.

Thank You!


abdellah309 (author)2012-01-12

good job Paul, can you post the schemetic of Mosfet stage.
I'm working on electic car project in Algeria.
Many thanks,

epuneet (author)2011-11-07

Is this circuit work for lower power ratings i.e. for 20 Hp motor

bertzie (author)2011-10-12

What kind of modifications would need to be done to make it take 170v 2000amp?

About This Instructable




More by MPaulHolmes:200kW AC Motor Controller for Electric CarHomemade 100 HP Motor Controller for an Electric Car
Add instructable to: