Trying get data about the motor

Hi everyone my name is naor and I am student to mechanical enganniging
I am try to understand how can I get the voltage or current that each motor take from the battery.
This is something the flight controller know and I can get it from mavsdk or it’s something that require another hardware to connect the drone
Thanks for the help.

Usually you only get the overall current from all motors together through the power module.

If you want to have all motors individually you would have to use DShot ESCs that support telemetry (which is a separate serial wire). Or alternatively bidirectional dshot but reading current and voltage that way is not supported in PX4 yet. It might be in Ardupilot.

Bidirectional DShot only provides motor RPM, not voltage or current, so you need to use a separate telemetry wire to get the extra data. Not all DShot ESC’s have current sensors, so you need to do a bit of research and make sure that the ESC you buy does.

1 Like

If I connect a current sensor to every motor (before the ESC) I can get the motor current like this ?

@auturgy yes, unless you can use extended dshot telemetry.

Sure, but you need to do some tweaking yourself to hook up 4 measurements to a Pixhawk, either via I2C INAxxx chips with different addresses, or using 4 different ADCs, or a mix of that.

Nice! Didn’t know about that :slight_smile:

1 Like

if i use this esc

i can extract from the mavlink the rpm of the motor ?

My googling tells me BLHeli_32 supports bidirectional dshot, so yes. Note that PX4 doesn’t have support for this yet (unless you use [WIP] initial bidirectional dshot support by dagar · Pull Request #20749 · PX4/PX4-Autopilot · GitHub). Otherwise ArduPilot can do it.