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


  • And then I look at the dates, did you do this?

  • Count me in, this is a great idea.

    and why I joined the site

  • Here's some ideas:
    Stackability - use 2 ESC to drive a single motor from two batteries for redundancy.
    Substitute solar cells/ 1 battery for solar planes; substitute 1 battery 2 coil for redundant windings.

    I imagine a serial port is lighter and less restrictive of the cpu choice (with serial cable of course).

    regenerative braking.

    optional hall effect inputs for more reliable performance.
  • Hi Tim,

    I was planning to implement the first three already. The current draw will be both reporting as well as automatic limiting to save the ESC from damage.
  • I'm new to ESCs so... here is a shot:
    - RPM indication
    - Current draw reporting
    - programing default parameters
    - USB port? for configuration information? via PC?
  • Interesting point. I was thinking the value to the community was mostly in the I2C capabilities of the ESC. This can be further increased with additional software features.

    What features (or IP) did you have in mind?
  • Brett Sorry I wasn't more clear,
    Here the issue: It's Open Source 101
    OS can provide value if there is a IP premium in the closed product.

    Unfortunately (or fortunately), the current IP premium on ESCs is sub-zero. By my estimation - you can buy an ESC (~$12) for less than it would cost you to make in the US.

    To overcome this, you'll need a killer application, a genuine feature that closed ESC do not have. I think Open Source can help you get there, but its not enough to Open Source, its got to have a competitive advantage.
  • I agree and that would be how this was released. Open source is key! Of course it's AVR-based so if you know how to program AVR's you can program these ESC's. The ISP header is broken out so it's easily accessible as well.
  • Brett,
    The OpenSource is critical because there is more to do with an ESC than to merely control one motor. There are solar planes which need to mix current sources, and charge and monitor batteries, and redundant coil motors, and all sorts of interesting possibilities which are being held back because $18 esc's are cheap and closed.

    The point is, I think you'll need a killer app for your esc in order to command a low-volume premium, I'm willing to help if I can.
  • Is it possible to also support SPI? For me, it is good to have an open source option, I've seen the instructions on several forums to modify one but never seen source code just the hex. So, all in all I think it is good.
This reply was deleted.