Build a Miniature High-Rate Speed Control with Battery Eliminator Circuit (BEC)

January 20, 1998

My first Speed 400 powered plane was the Sydney’s Special, an 80% scaled down version of Vernon Williams’ Fred’s Special, as published in the November 1991 issue of Model Airplane News. I chose this project because I was really happy with my original-size 46½” Speed 600 powered Fred’s Special. The scaled down version has a 37″ (94cm) wing span, weighs 18.5 oz (525g), and is powered by a Graupner Speed 400 6V motor, 7x600AA cells, and a Graupner 6×3 folding propeller. To keep the weight down, I decided to design a speed control with a battery eliminator circuit (BEC).

This design is based on one published by Milan Lulic in the German magazine elektroModell. Mr. Lulic’s design is for surface mount technology (SMT) construction, whereas mine uses standard off-the-shelf components, and is therefore better suited to construction by the hobbyist.

If you’re interested in a non-BEC speed control with higher current capacity, and a brake, please see my other article, A Miniature High-Rate Speed Control with Brake.


This control has the following specifications:

  • Size: 1.3″L x 1.1″W x 0.7″H (3.3cm x 2.8cm x 1.5cm).
  • Weight: approximately 0.5 oz (14g) without motor and battery leads.
  • Current: 12A continuous, 18A intermittent.
  • Voltage Loss: 120mV @ 12A.
  • Battery eliminator circuit (BEC) with low-voltage cut-off.
  • Arming/power switch.
  • No power-on glitch.
  • Throttle stays off when transmitter is off.
  • 6 to 10 cell operation.
  • Cost to build: approximately $40 Cdn.

The Circuit

The circuit begins with a buffer, consisting of C1, R1, and Q1. This provides some isolation between the receiver and the rest of the circuit, and makes circuit operation somewhat independent of the model of receiver (although you may have to adjust R8 if you change receiver types). R2, R3, and C2 form an integrator, which produces an output voltage proportional to the pulse width of the input signal. This output voltage varies from approximately 1.15V for a 1ms input to 1.45V for a 2ms input (at 50 pulses per second).

Z1A, together with R4 through R8, and C3, form a 2.5kHz triangle wave generator. R8 adjusts the upper and lower bounds of the triangle wave (it also affects the frequency, but within the range over which R8 must be adjusted, this is not significant). When properly adjusted, the triangle wave (which appears across C3) will oscillate between about 1.2V and 1.4V. This covers the middle 2/3 of the range that the integrator voltage covers.

Z1B is used as a comparator, which compares the integrator voltage with the triangle wave. When the integrator voltage is above the voltage of the triangle wave, the output of Z1B is high; when it is below, it is low. At zero throttle, the integrator voltage (1.15V) is always below the triangle wave voltage (1.2V to 1.4V), so Z1B remains low. At full throttle, the integrator voltage (1.45V) is always above the triangle wave voltage, so Z1B remains high. At half throttle, the integrator voltage (1.3V) is above the triangle wave voltage half the time, so Z1B is high half the time and low half the time.

When Z1B is low, MOSFET Q2 is turned off via R12. When Z1B is high, Q2 is turned on via R9 and R12.

ESC with BEC schematic.

ESC with BEC schematic.

The LM2940CT-5 low dropout voltage regulator provides the BEC facility. Power from motor battery flows through the arming/on-off switch S1, and is filtered by C6 and C7. The 2940 produces 5V on its output. C4 provides filtering, and also stabilizes the regulator. C5 provides additional filtering.

D1, D2, R11, and C8 form the low-voltage cut-off circuit. D2 is a Zener diode which must be selected based on the desired cell count and cut-off voltage. The value of D2 should be the desired cut-off level minus 0.7 volts. For example, with 7x600AA cells, a reasonable cut-off level is 6.3V, or 0.9V per cell. The desired value for D2 is thus 5.6V. As the motor battery voltage drops below the cut-off level, the voltage at the junction of D1, D2, R11, and C8 drops below 0.7V. This pulls the voltage at pin 5 of Z1 below 1.4V. R11 and C8 serve to filter any motor noise from getting back into the control part of the circuit. The following table shows suggested Zener diode values for 6 to 10 cells:

Number of Cells Zener Voltage Cut-off Voltage per Cell
6 4.7V 0.90V
6 5.1V 0.97V
7 5.6V 0.90V
7 6.2V 0.99V
8 6.8V 0.94V
8 7.5V 1.03V
9 7.5V 0.91V
9 8.2V 0.99V
10 8.2V 0.89V
10 9.1V 0.98V

In each case, the closest commonly available Zener voltages are shown. Cut-off levels of around 0.9V per cell (the green rows) are suitable for high internal resistance cells such as 600AA or 600AE. Cut-off levels of around 1.0V per cell (the yellow rows) are suitable for low resistance cells, such as the 1000SCR.

Note that the cut-off is not a sudden all-or-nothing type of cut-off. Instead, the cut-off lowers the integrator voltage on pin 5, thus reducing the throttle. The throttle will continue to be reduced until the battery voltage rises above the cut-off level. So, as the battery runs down, the speed control will reduce the throttle to keep the voltage high enough to run the BEC. When you notice this lack of power while flying, it’s time to cut the throttle and land.

BEC Considerations

The BEC is provided by the LM2940 voltage regulator. Without a heatsink, and with reasonable cooling airflow, this regulator can dissipate about 2W of heat without overheating. Power dissipation is equal to current times voltage, where voltage is actually the voltage difference between the input (the motor battery) and the output (5V). This means that the amount of current that it can provide to your receiver and servos is limited, and goes down as the motor battery voltage goes up. The following table indicates the current limits when using 6 to 10 cells:

Number of Cells Maximum BEC Current
6 0.91A
7 0.58A
8 0.44A
9 0.34A
10 0.28A

Using this chart, and information provided by your receiver and servo manufacturer, you can determine the maximum number of servos that you can use with a given number of cells. A typical radio system with a receiver and three full-sized servos draws under 300mAh on average, but can draw up to 1A for brief periods (for example, when pulling out of a steep dive).

In the past, I’ve never been a fan of BEC systems. That’s because I mostly flew electric gliders (wherein I used 270mAh receiver packs). With a glider, one can spend a long time in the air after motor cut-off, and I wasn’t comfortable using a BEC to run my radio equipment for extended periods of time from a nearly-dead motor battery. So, my recommendation is that you use this controller for sport planes, which are generally flown power-on for the entire flight, and then landed before or shortly after the motor shuts off. In my opinion, using a BEC in a glider is asking for trouble.


The circuit is best built on a printed circuit board. Refer to my article on the subject, Making Excellent Printed Circuit Boards.

Copper side. Actual size is 1.3" x 1.1" (3.3cm x 2.8cm).

Copper side. Actual size is 1.3" x 1.1" (3.3cm x 2.8cm).

There are a few things to note in the construction. The leads to the receiver (a replacement servo lead) are connected directly to the pads on the bottom of the board (on the right side in the PCB layout shown above). Typically, the CH- lead is brown or black, the SIG lead is white, yellow, or orange, and the CH+ lead is red. The arming switch, S1, is connected with two short lengths of wire to the two holes marked S1 in the component placement diagram below.

Component placement diagram.

Component placement diagram.

Begin by installing all the resistors and capacitors. The resistors should be installed standing on end (except R12, which lays flat). Be sure to orient C2, C7, and C8 correctly, with the positive sides where indicated by the “+” symbols. Install D1, D2, and Q1, again making sure to orient them correctly (the negative ends of D1 and D2 will have bands on them).

Install the jumper that will end up underneath Z1, and then install a socket for Z1.

Install C4 last. Leave the leads long enough that you can bend C4 over and lay it down on top of Z1 once Z1 is installed in its socket. To prevent short circuits, put short pieces of heat-shrink tubing on C4’s leads. Be sure to orient C4 correctly.

Connect 14 or 16 gauge wire to the MOTOR+, MOTOR-, BATT+, and BATT- traces on the board. For each wire, strip off enough insulation that you can solder the wire along the whole length of the trace, since the trace alone is not heavy enough to carry the full motor current. The MOTOR+ and BATT+ wires can actually be a single length of wire, with 1.4″ of insulation stripped off the middle.

Install the MOSFET with its tab towards the MOTOR- side of the board. Bend the two power leads of the MOSFETs over so they are touching the MOTOR- and BATT- wires.

Install the LM2940, oriented in the same direction as the MOSFET (tab towards the MOTOR- side of the board).


Double check your work, making sure there are no solder bridges, and that you didn’t make a mistake copying the circuit board layout. Check that all the components are in place, but do not insert Z1 into its socket yet.

Connect a 6 to 10 cell motor battery to the BATT+ and BATT- leads, and use a volt meter to ensure that there are no high voltages on the servo leads (you don’t want to fry your receiver because of a wiring error). Also check that there is 5V between CH- and CH+.

Disconnect the power, insert Z1 into its socket, plug the servo lead into the appropriate receiver channel, connect the motor battery, and connect a 12V automotive lamp to the MOTOR+ and MOTOR- leads. Move the transmitter throttle stick to off, turn on your transmitter, and then turn on the arming/on-off switch. The lamp may or may not light. If it does light, use a small screwdriver to turn R8 counter-clockwise until the lamp goes out. If it does not light, turn R8 clockwise until it does, and then counter-clockwise again until it goes out.

Turn everything off, disconnect the motor battery, and hook up a motor (with a suitable propeller). Don’t forget to install a diode across the motor terminals, with the banded end connected to the positive terminal of the motor (the diagram shows the easy-to-obtain 1N4004, but a Schottky diode would be better). Make sure the motor is firmly fastened to something and that the propeller can swing freely. Turn everything back on in the following order: throttle stick to off, transmitter on, arming/on-off switch on. If you’ve adjusted everything using the light bulb as described above, the motor may be completely off, humming a bit, or turning slowly. Adjust R8 so that with the throttle stick set to off, the motor is not running, but with the stick advanced one or two clicks, it begins to hum. Keep clear of the propeller while making the adjustments. When the motor first starts, it will emit a high-pitched whine. This is simply the motor armature oscillating at the speed control’s 2500Hz rate and is quite normal.

When everything is adjusted so that the motor starts at the right point, try moving the throttle stick slowly to full power. Pay attention to the motor speed. It should speed up as you move the throttle stick, but it should stop getting faster before you reach full on. Once you reach full on, move the throttle trim forward to confirm that the motor won’t go any faster.

If you find that you can push the throttle stick all the way forward, and still get more speed by pushing the trim forward, then you may need to replace R5 with a 120kΩ resistor to narrow the throttle range to match your radio.


Installation is straightforward. Hook up everything as you did while testing. Install the arming/on-off switch in an appropriate place (I prefer the left side of the fuselage, just ahead of the leading edge of the wing, with forwards being ON). Make sure that the bottom of the circuit does not touch anything metallic. To prevent corrosion, I sprayed the bottom of the board with clear lacquer. Keep the motor and battery leads as short as possible. Also make sure your motor is equipped with a diode, and suppression capacitors (I use one 0.1µF capacitor across the motor terminals, and one 0.047µF capacitor between each terminal and the motor case; do not use electrolytic capacitors).

Be sure to use a fuse. However, do not install the fuse between the battery and speed control. If you do, and the fuse blows in flight, you will lose control of your plane, since the BEC will no longer provide power to your receiver. Do install the fuse between the speed control and motor. The best place to install the fuse is in the MOTOR+ lead (i.e. between the speed control and the motor). I use two 14-16 gauge female spade connectors, soldered at right angles to the wire, as a fuse holder.

Before flying with this control, do a range check. With the motor off, you should get the same range as without the control (for most radios, this is 100ft (30m) with the antenna down; check your manufacturer’s recommendations). With the motor on, you should get at least 85% of the range you got with the motor off. If you do not pass this range check, do not fly!


If you plan to use this control with 8 to 10 cells, you can replace the LM2940CT-5 with the more readily available LM7805 regulator. If you do, the cut-off Zener diode must not be less than 6.3V, or the cut-off voltage will be below the 7V level at which the regulator is able to provide 5V to the receiver.

If you need a particular Zener diode that you cannot obtain, you can “make” one out of of a lower voltage Zener diode and a regular diode (such as a 1N914 or 1N4148), wired back-to-back. Simply install the Zener diode, banded end down, in the hole for D2 closest to the edge of the board (the one marked “-“), and install the regular diode, also banded end down in the other hole for D2. Then solder the two remaining leads together. The Zener voltage of this back-to-back diode will be the voltage of the Zener you selected, plus 0.7V. For example, a 5.1V Zener diode back-to-back with a regular diode will give you a 5.8V Zener diode.

Parts List

The following table lists all the parts needed, along with Radio Shack® part numbers for those components that are available there.

Part Description Radio Shack®
R1 1M ¼W 271-1356
R2 220k ¼W 271-1350
R3 33k ¼W 271-1341
R4 22k ¼W 271-1339
R5 100k ¼W 271-1347
R6 1k ¼W 271-1321
R7 68k ¼W
R8 10k trimmer 271-282
R9 470Ω ¼W 271-1317
R10 470k ¼W 271-1354
R11 1.2K ¼W
R12 100Ω ¼W 271-1311
C1,C3 22nF (0.022µF)
C2 2.2µF tantalum 272-1435
C4 47µF tantalum or electrolytic 272-1027
C5,C6 0.1µF 272-109
C7 10µF tantalum or electrolytic 272-1436
C8 0.22µF tantalum
D1 1N914 or 1N4148 276-1122
D2 Zener diode (see text) 276-561*
Q1 2N3904, 2N4401, or equiv. 276-2016
Z1 LM393 dual comparator
Q2 IRL2203N or SMP60N03-10L
Regulator LM2940CT-5 or 7805 276-1770**
S1 SPST miniature toggle switch
or minature slide switch

* Part number given is for a 6.2V Zener diode, suitable for use with seven SCR type cells. Radio Shack has a limited selection of other Zener diodes, which may be of use (see the Modifications section).

** Part number given is for a 7805 regulator, suitable only for use with eight or more cells. Radio Shack does not carry the LM2940CT-5 (see the Modifications section).

Parts not available at Radio Shack can be ordered from electronic supply houses such as Sayal Electronics or Digikey.

Related Articles

If you've found this article useful, you may also be interested in:


  1. Chris
    June 11, 2008

    Stefan, Yet again after smoking another commercial ESC I am back to taking up the old tried and true ESC of your design. This little bugger never seems to exit like its commercial cousins. Its even been on fire at 1x (no fuse) and its still functioning with a new set of FETs. I am having a bit o trouble this time with adusting the POT to motor off for setting it up for installation in a Hydroplane ( The BEC works ok but is the regulator specified for 8 to 10 cells not 7. I have installed this same unit in to about 4 or 5 models so far, mostly planes and 1 snowmobile with 8 cells. The battery this time is 7 NiCADS (CP1300 scr) and a an "Endoplasma" car motor. The plans call for a 480 BB race Graupner but I already had the extra motor. My guess is to use a larger POT and or recheck all the resistors for correctness but this unit has worked per plan in the past. Any ideas? Do you thing this Regulator on 7 cells may be causing the motor to not shut off when adjusting the POT? Thx Chris

  2. Stefan Vorkoetter
    June 11, 2008

    Chris, first double check all the component values, as you plan to do. The regulator should work fine on seven cells (that’s primarily what I use this ESC with). Just to be sure, check the regulator output voltage to ensure it’s about 5V.

    Are you using a different brand of transmitter or receiver than in your earlier projects? If so, try testing it with a Tx/Rx combination that you have used successfully with this ESC/BEC design in the past.

  3. Raul Rodon
    July 12, 2008

    I build the circuit and use it for many years.

    The only modification is a arm button and a miniature scr to shut off the motor completely when the battery is discharged.

    Thanks for the circuit


  4. Cezar
    December 16, 2009


    I want to build a boat and a have a 12V 10Ah battery, what is the exact value of each component (such zener diode, and others)?

    Thank you, best regards!

  5. prashant sannakki
    January 25, 2010

    I am using 9V motor which takes max 5-6 Amps of current, so can i use this circuit for ESC?

  6. Stefan Vorkoetter
    January 25, 2010

    Yes, it will work fine for that.

  7. jignesh mistry
    February 02, 2010

    i m building 4 rotor quadcopter & using 9v brushed motor, No load current of motor is 400mA & with load current is around 1.5-2A, can this esc work for me. and also i m nothing getting the idea how to build transmitter & receiver for controlling my 4 motors as my project is 4 rotor quadcopter. please kindly help me.

  8. dale
    November 01, 2010

    hi i run a 6v 400 speed graupner motor it does tend to lose speed and speed up i have read i need another capacitor i was wondering if you know what size any help would be great many thanks dale

  9. Yunizo Tatoo
    August 26, 2011

    I have a power sliding enegia 1 to 15 volts have a brushless motor I would like to adapt the engine in a tattoo machine. how do I make the source of energy to move a brushless motor? Please help me!

  10. Aman Deep
    September 19, 2011

    can i replace IRL2203N or SMP60N03-10L with IRF540N ic which is also a n-channel mosfet with current 10A

    Please help me in this.

  11. Dismas Gasper
    September 30, 2011

    if i don’t have brush less motor.can i use another to make air plain?

  12. JC Pelaez
    July 03, 2012

    How can the power (current) rating be increased (Changing MOSFETs)? Suggestions?

    Thank you.

  13. Anjan
    September 06, 2012

    I use a 11.1V 2200mAh Li-Po pack, so to put together a BEC for this batter pack, is it safe to use the LM7805?

  14. Anonymous
    November 15, 2012

    Why do you use an integrator followed by and comparator comparing to the square wave. The PWM input should already have the correct duty cycle and the integrator/comparator combo seems like it would just output a buffered version of the input PWM signal.

  15. Stefan Vorkoetter
    November 15, 2012

    The PWM input is not even close to the correct duty cycle. It is a 5V pulse, varying in width between 1ms and 2ms, repeated every 20ms (i.e. 50Hz). Thus its duty cycle varies from 5% to 10%. The integrator smooths this out to a nearly-DC voltage that varies from about 1.15V to 1.45V depending on the input pulse width.

    The comparator is then used to compare this to the _triangle_ wave output of the oscillator, not the square wave output. The output of the comparator is then a square wave varying in duty cycle from 0% to 100%, and at a frequency unrelated to, and much higher than, the input PWM signal.

  16. Anonymous
    November 16, 2012

    Where are you getting these specifications for PWM? why does the PWM input have to be between 1ms and 2ms and why does it have to be 50Hz cant you just program your controller to create a PWM output with a full range of duty cycles (0% – 100%) and just send that signal as input into the MOSFET. In this case the controller completely generates the square wave and the average Voltage will then be the same percentage as the Duty cycle. I am just curious because I am trying to design a simple ESC and this is what first came to mind.

  17. Stefan Vorkoetter
    November 16, 2012

    Anonymous, did you even read the article? There is no “controller”. Or looked at another way, my circuit IS the controller. The 1-2ms signal at 50Hz is the standard signal that comes out of hobby radio control receivers, normally used to operate servos for things like rudder, ailerons, and elevator. Welcome to the real world, where one has to work with the signals one is given (and where people actually have names).

    If I just wanted to control a motor in isolation, then yes, a circuit like this one is not needed. Whatever you’re using as a controller can just drive the MOSFETs directly.

  18. Anonymous
    November 16, 2012

    Yes I read the article but it doesn’t talk anywhere about the PWM signal nor does it say you are connecting it directly to a radio receiver. This is the first time I have built anything like this and was just curious. I am trying to build a quadcopter thus I will be using a micro controller to control my motors so I was just trying to verify that my idea made sense because nowhere else on the web is there just a simple brushed DC motor circuit. Thanks for the help.

  19. Stefan Vorkoetter
    November 16, 2012

    Check out the first two sentences of the section, “The Circuit”. The actual format of the PWM has been unchanged for at least 40 years now. Assuming your quadcopter is radio controlled, then your microcontroller will have to be able to decode such signals from the receiver (and appropriately combine the pitch, roll, and yaw information to make the quadcopter do what you intend it to do).

  20. Lokman
    May 02, 2013

    Hi..the diy esc that you published in this website, is it available for sell?

    If yes, please email me..thank you..

  21. Kiran
    October 07, 2013

    Can lipo battery be used? I am having 7.2v 2cell 500mah battery. What type of zener diode should bd used?

  22. coriolan
    January 13, 2015


    Build several of your ESC design (without the BEC)for fast electric boats before going brushless. Really liked the simplicity and for boat I just made in two boards, one for the control part and the other for several mosfet with water cooled heat-sink. Worked like a charm!

  23. AHU SAIN
    March 06, 2015

    dear stefan do you have a circuit for ESC three fase brushless motor 15-40 MAPS

  24. Stefan Vorkoetter
    March 11, 2015

    Sorry, I don’t.

Leave a Comment

Want to see your picture next to your comments on this site and others? Visit to register your own globally recognized avatar.

Buy Stefan a coffee! If you've found this article
useful, consider leaving a donation to help support

Disclaimer: Although every effort has been made to ensure accuracy and reliability, the information on this web page is presented without warranty of any kind, and Stefan Vorkoetter assumes no liability for direct or consequential damages caused by its use. It is up to you, the reader, to determine the suitability of, and assume responsibility for, the use of this information. Links to merchandise are provided in association with Links to eBay searches are provided in association with the eBay partner network.

Copyright: All materials on this web site, including the text, images, and mark-up, are Copyright © 2017 by Stefan Vorkoetter unless otherwise noted. All rights reserved. Unauthorized duplication prohibited. You may link to this site or pages within it, but you may not link directly to images on this site, and you may not copy any material from this site to another web site or other publication without express written permission. You may make copies for your own personal use.