Continuous bench supply with VOXL FPV Racing 4-in-1 ESC (M0138) — braking disable + TVS protection guidance
-
We’re bringing up a system using a bench power supply at ~25 VDC with the VOXL FPV Racing 4-in-1 ESC (M0138) and want to avoid any risk from regenerative braking / bus overvoltage.
Braking disable / configuration
- Can you confirm whether brake_to_stop exists and is supported on M0138, and whether setting brake_to_stop = 0 will ensure the ESC does not brake on stop/timeout (coast instead)?
- Is there any supported method on M0138 to disable regenerative braking during commanded deceleration (not just stop/timeout), or is that currently not supported in firmware?
TVS diode protection at 25 VDC bench supply
Given your regenerative braking note about power supplies not sinking current and the TVS dissipating energy during clamp, what is your recommended protection approach for M0138 when using a bench supply near 25V? Specifically:- What are the TVS clamp voltage and power/energy limits (part number or equivalent rating)?
* Recommended external mitigation: would you prefer
* a 4-quadrant / sink-capable supply,
* adding an external battery/supercap “sink” in parallel,
* an external brake/shunt (dump resistor/regulator),
* additional bulk capacitance (and any sizing guidance),
* or other best practices? - Any operational limits you recommend for bench testing (e.g., avoid step-down commands, limit max PWM / rpm, etc.)?
If you have a recommended parameter set or test procedure specifically for M0138 + bench supply bring-up, we’d appreciate it.
-
Hi @austin-c ,
Please see answers below:
brake_to_stopparameter does exit and it works. setting it to 0 will result in the motor coasting to a stop when it is commanded to stop or there is a command timeout. it is used here : link- the hardware supports disabling regenerative braking (we have tested this before), but the software does not support disabling regenerative braking during motor control
- the TVS breakdown voltage is around 29-30V. You can actually test this by slowly increasing voltage on the power supply (in 0.1V increments) and observe the current draw increase from nominally low value (be careful)
If you would like to test with a power supply, that's fine, but you have to be careful about the types of tests you are doing. Please understand the following:
- regenerative braking will happen any time there is a transition from higher rpm to a lower rpm
- this will happen regardless whether the ESC is rpm control mode or power control because that is a principle of "synchronous rectification" which is a technique for controlling mosfets (widely used on most ESCs). Any time the back-emf of the motor is higher than the average applied voltage, the regenerative current will flow back into the battery or power supply (roughly speaking).
In general, here are our guidelines for testing with a power supply
- keep in mind that the dynamic response (even with rpm increase) will be different from a battery, as the battery typically has lower output impedance from a power supply
- testing steady state response or continuous spinning with slow transitions is a perfect applications
- aggressive transitions from low to high rpm (or from low to high power) are ok
- avoid aggressive transitions from high to low rpm, since that's when the back-emf will be generated
- we actually have a test script voxl-esc-spin-step.py which shows you how to you can use the control software to slew rate limit the commands to avoid fast up or down transitions. you can use a similar approach for your bench testing.
- exploring the TVS diode specs (clamping voltage) can be done using an unloaded motor, where the energy stored in the motor is small, so the TVS diode can absorb the regen energy. You can do a small step test with unloaded motor and see what what voltage the voltage spike gets clipped. There is a risk of burning out the TVS diode if the test is done with a loaded motor with a large high->low transition
- avoid loaded motor step-down tests while using a power supply
- set the
brake_to_stopesc parameter to 0 and stop the script or send zero rpm/ power in order to stop the motor (or just stop sending commands) instead of sending low rpm before 0 rpm. - adding external capacitance and an additional array of similar TVS diodes (placed as close as possible to the ESC) will help reduce (using capacitors) and absorb (additional tvs diodes to distribute the heat) the regen spikes .
- sink-capable power supplies are usually expensive, may not be worth it, depending on what you are trying to do. If you are trying to test performance of the motor using a power supply that models the battery (a battery simulator), that would work, but would be even more expensive

What kind of tests are you planning to run? I can provide more guidance.
Alex
-
I went ahead and ran a few tests with a 11A power supply set to 25V.
Using M0138 ESC, Xing2 2207 1855kV motor and 5x4x3 propeller
Both tests using the same
voxl-esccommand, executed on a linux pc that is connected to the ESC directly via usb to serial adapter.Test command:
./voxl-esc-spin-step.py --id 2 --power 20 --step-amplitude 30 --step-frequency 2.0 --timeout 2.0 --cmd-rate 2000 --enable-plot 1Results / notes:
- no load test showed a higher peak of 33.8V vs about 31.8V loaded with prop, which actually makes sense because the no load motor RPM is higher (larger back-emf).
- only testing one channel at a time to reduce voltage spike
- start with small step to get a sense of regenerative voltage rize
- short test to avoid any damage
- ran the test on ESC id 2, so that total current is measured and displayed
- this motor has pretty high kV and small size propeller, so it decelerates quickly. However, other motor and larger propeller combinations (and larger rpm changes) may generate a lot larger spike (if the motor spends more time at higher rpms).
- also did a test to see at which point the ESC starts drawing more current - TVS diode starts conducting (short voltage increase on the power supply, i.e. for 1 second). As the TVS diode warms up, the current drops a bit because of the diode characteristics (breakdown voltage increases with temperature). However, the performance of TVS diode varies significantly across the voltage range, so it cannot be used for any exact measurements.
- 25-27.5V : 0.02A
- 28V: 0.035A
- 29V: 0.09A
- 30V: 0.15A
- 31V: 0.20A
..
Test 1: no propeller

Test 2: with propeller
