Which fault does it show you?

I dont know, foilio doesnt get my handy on board :see_no_evil:

Limited at 60A for easy cruise , and 90A for more fun , no problem on my 75/300

But erpm may be better indeed

Are the other setups identical? Usually I would expect the fault top occur at max amp draw, so during startup.
Your motor current is 120A short time before the the DRV fault kicks in. The metr log file is not catching the spikes, since the update rate is very slow. I would make logs using vesc tool, since that gives a higher , actually usable resolution.
Probably you loose sync and commutation is not possible any longer. I guess that the stator is saturated at 120A and the motor is is over it’s limits. There is probably even a higher Amp spike occurring. You should try and decrease the motor amps a bit. The other thing that might play a role is motor heat. A hot motor has a higher resistance. The resistance value in the VESC needs to be ±5% accurate. Once the motor is warm it might be out of that scope. You can try and increase the motor resistance value by 2.5%-3%. The combination of increased resistance and slightly lower motor amps might resolve the issue.


Thanks @Trampa I will give it a try. A lot of users using this motor with a VESC successful @ 150A motor current.
Here is another log with drv faults while I wanted to start:


Last data is 127.3A and considering the slow update rate and sample density of the metr, it could also be higher. Do you run the no HW limits FW? The DRV protects itself and shuts down.
You can try and do motor detection with a warm/hot motor and the compare the results to ambient temp detection. Is the resistance differing more than 5%? You have to be quite fast and do the detection before the motor cools down a lot.

Use a hotgun for heating up, and you can take your time…

Yes I run the no limits fw. How dangerous is this fault? Is there a chance to damage the Vesc? I can run the motor at full speed while pushing it against me.
What is with the idea flashing an older firmware?
I also will shorten the phase wires from 1.1m to 0.9m

Flashing older FW makes no sense at all. You can set Duty Cycle Current Limits to 85% or 90%.
This will ramp down the power at full duty cycle, so you will get good statup power but decreased power at full RPM/ full duty cycle.


@Trampa can you tell something about the displayed faults?
First it seems strange that both status/fault registers are triggered at once, and with them every single possible fault (is the OTW really at the same time as the OTSD? all possible faults happening together? or something wrong in the software/output/terminal?)

In the datasheet of the DRV8301 e.g. the OTSD is described as the Overtemperature Shutdown and the OTW as the overtemperature warning is this possibe due to insufficient cooling of DRV or due to not good soldering of the DRV GND pad in first place?

Also the fault typically happens only after some seconds of full speed at max current (like after 10-20secs) which also points more to the temperature thing than onto a saturation or tracking problem (which typically happen at low RPM high current) or real overcurrent (since the MCU abs overcurrent fault never kicks in).

What possible risks come with setting the OC_ADJ higher? From 16 to like 17 or 18, theoretically the OC flags should trigger then later or even disapear, right? How good are the chances of frying the VESC?

@Trampa: I lowered down the max. duty cycle to 90%. The DRV fault doesn’t occured that often then. But I also had an DRV fault @76% duty cycle. So that’s not really an approach.

Looking forward to your answers on @Giga s questions!

Did you do the measuring of the motor resistance a.s.o.? You could use the default VESC values instead of measured values, as it seems to run more stable there. Does the fault occur on FOC Mode as well? Try to set the motor max amp to 115 and absolute max Amp to 160 and see if the fault occurs again;-)

A.s.o.? Tried BLDC as well. What you mean by running with “default” settings?

The VESC default setting for the motor. just changing the amps limit and rest leave on default…

I raised the motor resistance about 1 mOhm. It seems to help a bit. With this modification @kotnascher could achieve to run a few seconds at full speed on my board. After that he nosedived heavily @36kmh.

So unfortunately it’s not fixed yet and it’s quite shitty to reproduce this fault… Do I need to send the VESC back to you?


1mohm on 26.8 cold? that is not much (?)

this error must be really annoying at full speed for not saying dangerous

Do you have a 100kv Flipsky and it’s FOC detection values or anybody else?


my values:


@Ackermann values: (Flipsky 100kv, Flipsky 200A VESC, no issues)


no it is yours, the one you posted on the top on the link, i don’t have the numbers for the 100kv in my head

you may do a “thurst” test and let the motor heat up and run detection again

1 Like

Did you have a look at the triggered faults?
I looked at the code and the registers of the DRV and was wondering why every single fault is displayed and noticed that the “D10- Fault”-fault is missing. Though also in the code it is masked out:

by the (r0 & 0x3FF) the D10 is masked out, since 3FF & 100 0000 0000 =0; so instead of 3ff it should be 7ff. Not sure if this is intentional or not (the fault-fault flag doesnt mean much anyway).

Also I am not so sure if the first fault register 0x00 is read correctly, since it is handled separately for the SPI-transfer:
int r0 = drv8301_read_reg(0);

Assuming the terminal reporting is correct: this means that the DRV thinks (or even registers) that there is a OC condition on all fets at the same time, over temp condition at the DRV and under voltage as well as over voltage (which rule each other out in my opinion).
Do you have an explanation for that?

I also rode the board and had the same behavior:

  • high motor current during startup, everything fine (even if you take your time and tease the motor for 30secs or longer);

  • flying is fine as well, no matter how long

  • only problem is full throttle/current when having speed (testet on the water; not flying);

So at high rpm and high current that means max power, only then and only after some time (~20secs), not right in the beginning, the DRV fault is triggered. And none of the other VESC faults (like the Abs_overcurrent).
In my opinion there shouldn’t be much difference between high motor current at start up and high motor current at max power for the ESC. Since only thing differently is the duty/rms phase voltage.
Maybe you got a good explanation for triggered fault?

1 Like

At start, max current is with about 80% dutycycle, foiling with max current, its 95% duty.

My guess: there is a secret build in chinacrapdetection :crazy_face: and the Vesc shuts off