Missing subset of ESC telemetry data from BLheli32

I appear to be seeing some but not all telemetry from my ESCs. In MP I can connect with USB and see in my Status window that the ESC voltage and temperature gets populated for all 4 ESCs, but none of the other values (notably, it would by nice to have current). I have tried putting setting serial protocol for the ESC connection to both 16 (ESC telemetry) and 2 (Mavlink2) and it doesn’t seem to make a difference. In the boot messages I get the notice that RCout is using DShot150. All good, but where’s the other telemetry? What am I missing here?
much thanks,
Matt

Details:
FC: Kakute F7 V1.5
ESCs: Holybro Tekko32 4-in-1 “metal”
Arducopter V4.1.0-dev
BATT_MONITOR = 9 to use esc telemetry
SERIAL5_BAUD = 115200
SERIAL5_OPTIONS = 0
SERIAL5_PROTOCOL = 16 (tried 2 also)
SERVO_BLH_AUTO = 1
MOT_PWM_TYPE = 4 (for DShot150)

Your settings look correct.
Those ESCs dont output current in the telemetry - I have the same ESCs.
There’s a vague note in the instructions to use the current sense wire.

“The 4in1 has onboard analog current sensor, and TLM function(then no current reading over TLM)”

I still use the flight controllers own power brick for voltage and current logging and failsafe actions, ESC data is just in logs for comparison later.
I think the Tekko32 45A 4-in-1 ESCs are more conventional and do provide current data (I seem to remember…)

You should also be able to use the Harmonic Notch filtering without all the test flights:
HNOTCH BLHeli32 telem
INS_HNTCH_ENABLE,1
INS_HNTCH_MODE,3
INS_HNTCH_REF,1
INS_HNTCH_FREQ,80
INS_HNTCH_BW,40
INS_HNTCH_ATT,40

For 12 inch props I’ve ended up with INS_HNTCH_FREQ,40 and INS_HNTCH_BW,20

My guess is if you connect the Current Pin on the ESC to the “I” pin on the FC 8 pin connector it’s a 3.3V input that can be scaled for current. If so it’s the same situation as I have with an Aikon 4in1 and a Matek H743-Mini. No current data in ESC telemetry but analog voltage equivalent from the current shunt on the ESC. Telemetry should give you Voltage, RPM and temp.

ahh that makes a lot of sense thanks guys. So the shunt signal is already going back to my FC. The AP setup page for the kakute suggests that the BAT_CURR_PIN =12 but I don’t know if that’s only on the AIO version. And in the esc manual I see " 1. Amperage meter scale ratio has been adjusted to 168". Do you think that means that BATT_AMP_PERVLT = 168? Seems a bit high to me. If the top of the range is 3.3V that would be 554.4A which seems a bit… excessive. Maybe the manual means 3.3V = 168A, so 51A/V. Also it occurs to me that there might be a voltage offset besides. I don’t have any other current sensing option available with my build so it would be nice to get the voltage shunt from the ESC properly calibrated.

also thanks for the heads up on the filtering–that wasn’t even on my radar but a cursory search revealed that I’ve been missing out!

Okay I got voltage and current, but setting BATT_MONITOR = 4 with BATT_CURR_PIN = 12 and also enabling BATT2_MONITOR = 9 for the ESC telemetry. I’ll have to check whether the ESC telemetry is still working or whether my VFAS is coming straight off the FC. Now I need to figure out how to fix my battery capacity listed on the yaapu script, but that must be somewhere on the radio because I doubt FrSky telemetry is sending back the number I set in MP.

This should work for V and I on Batt 1 and V on Batt 2 if it’s similar to my setup. Make a few flights and adjust the Amps/volt value based on re-charged mah vs logged mah.

Okay I’m reporting my full findings here in case it helps someone in the future. This is meant to supplement the limited information on this page:
https://ardupilot.org/copter/docs/common-holybro-kakutef7aio.html

The Kakute F7 V1.5 (non-aio version) has an onboard voltage sensor but it does not have an onboard current sensor. However, it has a analog input current sense pin that can be used, if provided from an external signal from a current shunt on a different device.

Both the voltage and current analog sensing pins are looking for a 0-3.3V signal. The voltage pin is virtual pin 13 and gets a signal straight from the board, so there’s no physical connection to be made for the voltage sensor. The current pin is virtual pin 12, and a physical connection has to be made to supply this pin with a signal. The physical connection is through the ESC connector, following the pin-out from the Kakute documention:
http://www.holybro.com/manual/Holybro_Kakute_F7_V1.5_Manual.pdf

The analog scaling from the arducopter documentation for the voltage pin is reportedly 10.1, but I did not find this to be accurate.

The current scaling from the arducopter documentation is not correct (relevant?) for the non-aio board, because a current shunt doesn’t exist on the non-aio board. Instead, the current scaling will correspond to whatever signal you attach to it.

Now, for the Tekko32 4-in-1 metal ESC. It has an onboard current shunt and outputs an analog signal voltage on the “I” pin of the connector, which conveniently goes to the right place on the Kakute FC. I have discovered the nominal scaling of this signal to be 60 A/V. NOT the reported “168” that is in the Tekko32 documentation.

To confuse matters, the Tekko32 always provides data through the BLHeli32 telemetry connection. Specifically, it spits out a voltage. But NOT a current. Holybro decided not to provide the current in the telemetry since they’re providing the analog voltage scaled to the current.

Here’s the rub: the BLHeli32 telemetry appears to have an accurate voltage. The onboard voltage meter in the Kakute does not. The onboard voltage meter could perhaps be improved simply by fixing the scaling. However, I do not know what that scaling should be (other than 10.1). However, I’ve got a good voltage coming from the BLHeli32 telemetry.

So I am using the voltage out of the BLHeli32 telemetry, and I am using the analog voltage signal from the ESC going to the FC. Now, setting that up in MP parameters is not completely intuitive.

First, for the current monitoring:
BATT_MONITOR, 4 (this is supposedly analog voltage and current sensing, but we’re going to disable the voltage portion. There is no option in this parameter for analog current sensing only.)
BATT_VOLT_PIN, -1 this is to turn off the voltage part of the monitoring
BATT_CURR_PIN, 12 this is where the ESC signal gets routed to through the cable, to the FC
BATT_AMP_PERVLT, 60 this is the nominal scaling; I have one that is 59A/V and another that is 64A/V. Best to modify this using the ratiometric scaling method. Reminder about that at the bottom.
that takes care of the current sensing. The battery monitor GUI will no longer be sensible, now that we have chosen “Analog Voltage and Current Sensing” but in the back turned off the voltage pin.

Second, for the voltage monitoring:
BATT2_MONITOR, 9 for BLHeli telemetry monitoring
that’s all we have to do for that I believe (maybe voltage and current pins need to be set to disabled still? can’t remember what I had for those)
Then voltage comes through on the battery 2 monitor.

hopefully that lengthy explanation helps someone else, at least people that happen to be using the combination of Kakute F7 V1.5 non-aio with Tekko32 ESC.

Ratiometric scaling method reminder:

  1. charge a pack fully
  2. go use most of the pack and record the consumption that was reported (in mAh, either to the radio via telemetry or when monitoring in mission planner, or via logs after the fact)
  3. re-charge the pack fully and note the mAh that went back in (as reported by the charger)
  4. apply the correction: new scaling factor = old scaling factor * (charged Ah/logged Ah)
  5. enter the new scaling factor to BATT_AMP_PERVLT and go through the whole process again to check how it worked

It would be great if you could do a change for the wiki to capture this!

which wiki are you referring to? the kakute page on the MP info that I had linked to? I have no idea how to begin doing that

because I did find an error elsewhere, completely unrelated, in the documentation that ought to be fixed

ok I think I figured it out. we’ll see if I messed up the pull request somehow, it being my first time and all, I’m sure someone will let me know

@hwurzburg is pretty good about accepting wiki submissions and fixing them up if they need it