Make Your Own ESC
Intro: Make Your Own ESC
In this project I will firstly demonstrate how a common ESC works and afterwards create a circuit consisting of an Arduino Nano, an L6234 motor driver IC and a couple of complementary components in order to build a DIY ESC. Let's get started!
STEP 1: Watch the Videos!
The two videos give you a good idea of what is necessary to do to create your own ESC. In the following steps I will present you some additional information.
STEP 2: Order Your Components!
Here you can find a parts list with example seller (affiliate links):
Aliexpress:
1x Arduino Nano: https://s.click.aliexpress.com/e/_dULoNXh
2x LM393 Comparator: https://s.click.aliexpress.com/e/_dWasUKx
1x L6234 IC: https://s.click.aliexpress.com/e/_d9ewKMJ
4x 470nF, 1x 100nF, 1x 10nF, 1x 220nF Capacitor: https://s.click.aliexpress.com/e/_dU4FEsB
2x 1µF Capacitor: https://s.click.aliexpress.com/e/_d7dOwRz
4x 1kΩ, 3x 10kΩ Resistor: https://s.click.aliexpress.com/e/_dTPpXjt
5x 1Ω Resistor: https://s.click.aliexpress.com/e/_dZjocVh
2x 10kΩ Potentiometer: https://s.click.aliexpress.com/e/_dX83GAF
2x 1N4148 Diode: https://s.click.aliexpress.com/e/_dYR45Bh
Ebay:
1x Arduino Nano: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
2x LM393 Comparator: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
1x L6234 IC: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
4x 470nF, 1x 100nF, 1x 10nF, 1x 220nF Capacitor: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
2x 1µF Capacitor: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
4x 1kΩ, 3x 10kΩ Resistor: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
5x 1Ω Resistor: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
2x 10kΩ Potentiometer: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
2x 1N4148 Diode: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
Amazon.de:
1x Arduino Nano: http://amzn.to/2w0QQLZ
2x LM393 Comparator: http://amzn.to/2uRTgaM
1x L6234 IC: http://amzn.to/2w2M2VK
4x 470nF, 1x 100nF, 1x 10nF, 1x 220nF Capacitor: http://amzn.to/2wUe03i
2x 1µF Capacitor: http://amzn.to/2wUyby6
4x 1kΩ, 3x 10kΩ Resistor: http://amzn.to/2vujMKZ
5x 1Ω Resistor: http://amzn.to/2vzjBwc
2x 10kΩ Potentiometer: http://amzn.to/2uRZveE
2x 1N4148 Diode: http://amzn.to/2fCTO2E
STEP 3: Create the Circuit!
Here you can find the schematic along with reference pictures of my board layout.
STEP 4: Upload the Code!
Here you can download the code that I created for the project. Since I created quite a few of them you can download them all.
Sketch 1: Uses the analogRead function to measure the current
Sketch 2: Uses the external interrupt on pin 3 to measure the current
Sketch 3: Uses timer 2 to control the current chopping
Sketch 4: Uses the interrupts on pin 10,11,12 to switch to the next step
STEP 5: Success!
You did it! You just created your own ESC!
Feel free to check out my YouTube channel for more awesome projects:
http://www.youtube.com/user/greatscottlab
You can also follow me on Facebook, Twitter and Google+ for news about upcoming projects and behind the scenes information:
https://twitter.com/GreatScottLab
https://www.facebook.com/greatscottlab
38 Comments
BhupeshK31 1 year ago
Tech Review 2000 2 years ago
EdaÇ3 6 years ago
Zac Apelt 2 years ago
Zac Apelt 2 years ago
Gokulias 4 years ago
Zac Apelt 2 years ago
Zac Apelt 2 years ago
KaushikT2 2 years ago
I am trying to do this project with L6234D SIP package and 1000Kv BLDC motor.
I am using adaptor of 12v and 2 A for power supply.
At the end motor is only give magnetic vibration but not able to rotate.
I don't know why it happens, please give some guidance.
Zac Apelt 2 years ago
KaushikT2 2 years ago
I am trying to do this project with L6234D SIP package and 1000Kv BLDC motor.
I am using adaptor of 12v and 2 A for power supply.
At the end motor is only give magnetic vibration but not able to rotate.
I don't know why it happens, please give some guidance.
gpavlovsky 3 years ago
`step == (2 || 5)`
Shouldn't it be the following:
`(step == 2 || step == 5)`
Also, this code unreachable because it's within the `step == (2 || 5)` condition:
```
if (step == 6) {
step = 0;
}
```
yassinzwin 4 years ago
ArunS198 4 years ago
karthikanchan 5 years ago
I am doing a project using ESC circuit that is run using arduino uno. I am using this circuit to run a small 12v compressor, the expected flow rate to be obtained is 11 litres/min,but i am able to obtain only 7.5 l/m at the maximum speed of the compressor. So should i increase the voltage to the compressor or the speed of the compressor can be increased by the code itself?
the link form where i have referred this circuit and code is given below,please have look at it and help me if should make changes in code?.if yes then please help me with the changes in code too.
https://simple-circuit.com/arduino-sensorless-bldc-motor-controller-esc/
adrianl126 5 years ago
ZellitoH 5 years ago
Thanks
AiltonO 6 years ago
what changes i have to do for made a esc for a brushed motor ?
liu.sunny 5 years ago
this driver is only for brushless motor, brushed motor is a completely different structure and you cannot modify from this driver
diy_bloke 6 years ago
Followed this on youtube. Great work, learned a lot