I am designing (and may soon produce) a 4 channel electronic speed controller (ESC) for brushless RC motors.

The Problem
It seems as though everybody who builds a quadcopter uses 4 individual PWM ESC's (that are often zip-tied to the rotor arms).

Overall it's a bit messy and there are wires and small PCB's everywhere. Some people also convert their ESC's to receive I2C commands instead of PWM since it's faster and easier to pair with their flight controller.

The Solution
This is a 4 channel motor controller based on Atmel AVR's that can be controlled using serial, I2C, or even a standard PWM input. This is a single circuit board with 4 sets of 3-phase motor outputs. Each of the four segments on the board can power up to a 30A motor (so 120A max for the entire board). Each of the four segments is controlled INDIVIDUALLY (required for quadcopters).

In addition, the board can act as a master power management board for any other boards you hook into it. Your battery will plug into this controller (think Dean's connectors), and there will be regulated 3.3v and 5v outputs that can be used to power your flight controller or other circuit boards on your aircraft.

Possible Uses
Quadcopters! That's what this is designed for. That being said, this would work on practically any model that uses more than one brushless motor (4 motor electric planes maybe?).

Form Factor (roughly 4" square)
The board is designed to be a part of a low-height modular stacking system that I'm using for my quadcopter. I'm also developing an AVR-based flight controller (with full IMU) that can stack on top of this, as well as other add-on boards. There is a common communication bus between all boards stacked together. I can share more about this if anyone is interested (in either the modular form factor or the AVR-based flight controller board). The size of the board was made to fit the custom centerplates I'm having cut for my quadcopter.

- 4 individual brushless motor controller channels on a single circuit board.
- Very fast update rate (using 20Mhz AVRs so there's a lot of room to spare!)
- Up to 30A per motor.
- Uses Atmel AVR's, so you can reprogram it as much as you like.
- Current limiting/feedback per motor (automatically reduces throttle if a particular motor exceeds the maximum current you've set - doesn't just shut the motor off like other ESC's).
- All surface mount components.
- Open source!
- Low-profile board (most likely less than 7mm thick).
- Serial/I2C digital communication/control.

I am only gauging interest at this point in order to determine if I should make extra boards to sell. If there is interest, I'll have extra PCB's made and assembled for anybody that wants one. I'm expecting to be able to sell them for around $120.00.

Are any of you interested?
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • bGatti - I think you're absolutely correct! The only situation where this wouldn't work is at a very low motor RPM where each winding carries 100% load for several seconds (just an arbitrary example - the motor would have to be going VERY slow for this, maybe even be stuck). That being said, the motors are almost always run at several thousand RPMs, so this high frequency should distribute the load evenly across all 3 motor wires.

    Tim - No, I haven't started a blog for this yet. I'd like to sometime soon but I'm not in a rush (yet). I saw your website a week or so ago - I really like your design!

    Question for the group: Given the popular ESC conversions for quadcopters (such as the TowerPro I2C conversion), how popular do you think an ESC that is I2C/Serial/PWM ready would be? As I mentioned above, I'm also considering selling a regular single-channel brushless ESC that supports I2C, serial, and regular PWM input. I've already designed the "SingleESC", and it supports 25A, with an even higher burst. Given the costs associated to build them, I'd have to sell them for about $35 each to be worthwhile. Is this of interest to anyone?
  • So Brett, I do understand that only two wires are loaded at any one time, we might further add that they are only partially loaded for most of this time, and as a consequence, they experience a duty cycle (or load factor) less than 1. It would seem that under-loading a wire would allow a smaller wire to carry the same load.

    IIRC wire theory correctly, wires are low resistance - until they heat up, whereupon they offer resistance - thus lowering the current and thus reaching an equilibrium. According to which theory, light filaments experience a burst of current when turned on (during which they are much more likely to fail), after which they express resistance and the current lowers.

    Under your theory, 3 wires would dissipate the same amount of heat as 2 whilst carrying the self-same current. I know of no theory in which this is possible. I expect therefore that moving the ESC around has zero effect on the wire weight in an optimized configuration. One might even point out that 3 wires have higher surface area, and are therefore more efficient than 2 wires for dissipating the heat. All that said - the only way to eliminate wire weight is to move 4 batteries out to the motors. God help your roll rate then :)
  • That sounds awesome, I'm all for it! I have been thinking about building a four channel esc too, and have been researching other designs around the 'nets. I've thought about going the opposite direction though and making a ~10A design for small quads. Do you have a site with your progress so far?

    -Tim (t413.com)
  • Hi Tim,

    That's what I'm planning on doing. There will be a QuadESC and a Single ESC, both using identical components and firmware.


    Unfortunately it doesn't work this way. Brushless 3-phase motors only push (or pull) current through any combination of two phases at any moment in time. This means that one of the three wires will always be "idle" in terms of powering the motor. Since only 2 of the motor wires are active at any time, the gauge of these motor wires should be equal to the gauge of the 2 supply wires.

    It should definitely be possible to control multiple motors from a single CPU. My QuadESC design uses 4 microcontrollers though. I went this route because they're so cheap ($2.50ea) and it makes the firmware simpler (no need to try balancing commutation timing across multiple motors).
  • I'm also curious if anyone thinks it's possible to control more than one motor per cpu?
  • Am I wrong in thinking that the wire weight requirements are by definition exactly the same - that if 10 amps is distributed over 3 wires or 2 (or 12) That the optimized copper weight is essentially the same for DC - sub radio freq. It would seem the three motor wire can each be somewhat smaller than the two power wires as the energy is more distributed - which in turn provides better heat dissipation - preventing heat-induced resistance.

    Just asking.
  • Maybe do two boards, first board is a single ESC, the second board a quad ESC. keep the same processor on each. This way other projects can leverage both designs and have the same firmware.
  • Those 128 g were in fact the difference between rotor-mounted and center-mounted ESCs. 64 g difference if you decide to run both + and - through wires.

    I admit that it's not as much of a concern on smaller machines, but still significant on lightweight and large footprint (>2 ft) frames.
  • Sorry - I didn't mean that the wiring doesn't weight much overall. I meant the difference of wiring when rotor-mounted ESC's are used vs. the wiring for a centrally mounted ESC.

    The length of wire used is the same either way, the only exception being that a 3rd wire from the motor needs to run about 2.5" longer up into the center of the quadcopter. With your specs, this would be 64g of weight to move to a central ESC. Perhaps that weight could be made up as well...
  • I beg to differ on the "wiring weighs almost nothing" part. If you're running three 10 inch, Ø 1.5mm copper wires through each arm you get 192 grams of mass. Compare to just 64 grams if you're running gnd through the frame. That's 128 grams of extra weight to carry and, for a 1 kg quad, over one tenth of its mass extra. In other words the wiring between the ESC and motors alone weighs just as much as two 2213 outrunners.

    At 11.1 V and 35% efficiency, that's 12.4 A of hover current for the 1.0 kg machine and 14 A for the 1.128 kg one. 19 minutes of hover time vs. just 17 minutes (with 4Ah lipo).

    I do agree on the other points though. The wiring is more clear and logical, all the sensitive equipment is securely housed in the hub, exposing just the heavy duty gear. Plus your ESC design has multiple input options, but that's not related to it being a multichannel unit.
This reply was deleted.