After successfully building a brushless controller i have decided also to build my own brushless motor. Autocad Inventor 3D cad software was used by me to design 3D model of the motor.

Before start to design something you need to know the RPM needed,torque needed,running voltage, max Amps. This formula is for calculating the torque if you have the power and the speed. motor Torque foruma  After reading the gear ratio on  Opel Agila it resulted that i need a speed of 4000RPM to reach 73.4Km/h in 3-rd gear ( i do not need more than that in a city). I decided to make a reverse outrunner motor design because is more easy to cool the stator if is outside. If the sator is inside is more difficult to cool down. The draw-back is that you loose torque because you have a smaller diameter of the rotor. I opted for a 48 slots (teeth) and 40 magnets design and i will have 142.5Nm of torque.

  • Nominal Power: 45KW
  • Nominal Voltage: 230v
  • Nominal current:200A
  • Winding configuration : Delta
  • RPM: 2600
  • Torque 165Nm
  • Construction : 48 slot, 40 Magnets Neodymium
  • Lamination Grade M330
  • Cooling : Glycol
  • Weight: 17Kg
  • Copper weight ~ 2.7kg


  • Can be : delta or Star ( WYE)
  • Delta connection will give you higher power per cooper amount, higher RPM, higher current, lower phase voltage.
  • STAR will give you lower RPM, higher torque (1,73 more than dela) , higher the voltage, lower the current.
  • Can be: concentrated or fractional slot type.
  • If there are concentrated can be: LRK, distributed LRK etc.
  • A good winding scheme calculator can be found here.

winding scheme calculator


How to choose the magnets ?

After you choose the slots and poles, you need to choose the magnets. This is not very easy task because you need hi temperature magnets and are not so cheap and easy to find for your needed size. I bought custom made magnets from a Chinese website.

  •  The temperature rating for Neodymium is only a guide value. The actual temperature where magnet start to loose strength is size, shape and magnetic circuit dependent. If you have a magnet attached to a piece of steel  i will demagnetize at higher magnetic flux than in a free space.  On the other hand demagnetization temperature will be  lower if you subject the magnet to a strong opposite magnetic field such in a motor.
  • If the thickness of the magnet is bigger and  you will need a bigger magnetic field to start demagnetize it.

Temperature classification for neodymium magnets, N stays from Neo from .

  • N42           ≤80℃                                      magnet
  • N42M      ≤100℃
  • N42H       ≤120℃
  • N42SH     ≤150℃
  • N42UH    ≤180℃
  • N42EH     ≤200℃
  • N42VH    ≤230℃

Neodymium magnets needs a coating otherwise they will rust in contact with air.

The coatings can be: Nickel, Zinc, Phosphate, Epoxy, Gold and others.


Mathematical magnetic flux density analysis.

Next step is to run mathematical analysis in magnetic field to see if i have some areas with saturated magnetic field. We want to avoid core saturation. For this i used Finite Element Method Magnetics Tool A Windows finite element solver for 2D and axisymmetric magnetic, electrostatic, heat flow, and current flow problems with graphical pre- and post-processors brushless simulation FEMM motor simulationWe can observe that i have areas in pink color with to much magnetic flux, above 2Teslas, so i need to increase the thickness of the tooth to stay under 2 Teslas because the saturation of the lamination.

Hall sensor spacing mechanical angle calculation formula:

360*2/ 6* pole pairs number

6 is coming from 6 step commutation in the controller.

Example. 14 magnets motor means 7 pole pairs

So the resulting angle between two hall sensors is Hα=360*2/ 6* 7= 11,14 degree.

For 20 magnets motor mean 10 pole pairs.

resulting Hα= 360*2/6*10= 12 degrees

Multiple factors can have a huge difference in motor performance and efficiency:

This factors can be:

1. Maximum working frequency (depending on RPM and no. of poles). The frequency is calculated by next formula:

f= rps (motor rotation per second) x (nr. of poles/2). no.of poles is equal with no. of magnets.

or: f[hz]= Magnets nr. x rpm / 120

Example for 1000Rpm: the rps will be 1000rpm/60s = 16,66 then  f=16,22 x 40poles/2 will result in: f= 333.2Hz

Because the losses in the core lamination are increasing  with increase (non linear) in frequency we want to have a frequency as low as possible for max motor RPM.  For exampe for lamination grade M330-50 the losses at 50Hz and 1Tesla are 1,29W/kg but 132W/kg at 1000Hz.

2. Proper combination between slots and poles count.

3. Material properties and thickness of stator and rotor laminations.

4. Air gap thickness.

5. Magnets grade.

6. Current density.

7. Slot fill factor.

8. Cogging torque. A summary of techniques used for reducing cogging torque:

  • Skewing stator stack or magnets
  • Using fractional slots per pole
  • Modulating drive current waveform
  • Optimizing the magnet pole arc or width
Brushless motor simulation

Brushless motor simulation 45KW 0.2mm lamination and 0.75mm airgap

motor simulation

Brushless motor simulation results

  • The final motor without the caps.
  • The motor with the caps and without the ball bearings.
  • I have also an YouTube video to present the 3D model.

Design stage Brushless motor60Kw


Brushless motor 50Kw

Close up view of the coils, magnets.

Brushless 40 poles 48 slotes 60kw

Air gap 0.75mm

Custom Magnets received  and tested by heating up to 120 Celsius to see if  any drop in magnetic field occurs.

Custom mamgnets brushless motor

Custom cut, N35UH grade, Phosphate coating magnets

Because the laser shop in Romania only had M330-50 grade, i was forced to use this material with higher losses for high RPM (frequency)

brushless motor design

Motor laminations  Grade M330-50 and other elements.

Drill to embed the screw in material.

Brusless motor construction

Drilling process

Brushless motor Rotor

Rotor assembly

Brushless motor homemade

Rotor with epoxy and kevlar to keep the magnets from flying from centrifugal force.

I used 14 strands of cooper 0.5mm in parallel.

48 poles brushless motor

Brushless motor winding

Winding the motor

brushless motor, car motor. Electric car brushless motor.

Motor finished, ready for testing.

brushless motor contruction, brushless motor water cooling

Motor Water Cooling


brushless motor homemade

Brusless motor ready for testing under load.

Siemens released a similar motor in 2018 while i put mine in 2014 on youtube


Controller Parameters and Features

  1. Features:
  • – Uses analogical chip with no software inside.
  • – Work only with sensored brushless motors.
  • – Speed adjustable via a potentiometer
  • – Adjustable acceleration deceleration
  • – Loop Control
  • – Fackword / Forward
  • – Dynamic breaking
  • – Over-current sense from external  shunt resistor 100mV threshold level.
  • – Overheat protection.
  • – Undervoltage protection.
  • – Fully Accessible Error Amplifier for Closed Loop Servo Applications
  • – Adjustable PWM frequency
  • – 6.25 V Reference Capable of Supplying Hall Sensor Power

I used Eagle Cad to make the schematic and the board.


New version of the schematic and it is easy to understand :

brushless controller schematic


Very important !!! without the DC-DC converter(above to IR2103) the controller can not work. 

This is another version with more mosfets in parallel and different drivers.

I used only N-channel mosfets in junction with  IR2110 half bridge mosfet driver.

You also need a inversor gate for the Top Drives (4049)

This is the newest version with 4 mosfet in parallel per switch  IR4110 but doesn`t matter what mosfet you use as the volgate and current is good for you.

top driver_cr

The pin 3 JP8  goes  to the Board 2 (Comand module) at JP20 pin 1

The pin 1 JP8 goes to Board 2 JP20 pin 2

The Pin 3 JP9 goes to the Board 2 at JP20 pin 3

The pin1  JP9 goes to the Board 2 JP20 at pin 4

The pin 3 JP10 goes to the Board 2 JP20 pin 5

The pin 1 JP10 goes to the Board 2 jp20 pin 6

The pin 1 gnd of the JP5, JP6. JP7  can be left in the air. because gnd is common.





Brushless controller schematic mc33025

In the upper part you can se the current sensor Allegro ACS758 200A.

You can also see in the left the bottom module next to it the driver+ top module.

In the right upper corner command module and in lower corner a dc-dc converter module from ebay.

to power the cmomand module and the driver board.

You can put any mosfets channel N you need. Best are with internal resistance as low as possible and higher current.

Board 3 mc33035 Brushless controller







This diagram was draw by a website visitor by name “Bill Catalena” from my specification.

Brushless controller schematic mc33035

This is the 3-rd Board with bottom mosfets.

The U,V,W need to be connected to the U,V,W to the top part of the mosfets.

The Pin 1 of the JP1 goes to the pin 2 JP5 from the Board 1

The pin 2 of the JP1 goes to the pin 2 JP6 from the Board 1

The pin 3 of the JP1 goes to the pin 2 JP7 from the Board 1

Ground pin is connected from the power supply of 48v




bottom mosfets mc33035 driver



Toyota Prius IGBT module

This toyota prius igbt module inverter was from a scrap and i took apart the driver board. now i-m building my own diver board.igbt module toyota prius

In order to be able so start the motor  you need to put a floating dc power supply to the IR2110

I have tested some of 1200V 600A FZ600R12KE3 IGBT module and the input capacitance was ~ 55nF. The time rinse obtained with avago IC ACPL-P343 was 1,2uS at 12Khz, not so good  if you want the switching losses low. the datasheet:

In this video i used 12 Mosfets irf3205z and IR2110 driverInfineon IGBT







Now the big thing : Testing the Electric Go Kart to measure the results