The current sensor does not appear to be functioning properly.
Whether the motor is stopped or running,
the reported current remains constant at approximately 0.81 A.
All other functions, including the voltage sensor, are operating normally.
If the current or voltage pin is set to any other value,
a ‘battery unhealthy pre-arm’ warning appears.
This suggests that the parameters themselves are configured correctly.
I am using a custom-made flight controller based on the Omnibus F4 Pro design.
The current sensor is connected to PC1, and the voltage sensor is connected to PC2.
The schematic of the current sensor section is shown below. I suspect the capacitor on pin 1 of the INA139 output, so I’m considering removing it to test.
Looking at your schematic, I notice a few things that could explain the constant 0.81A reading:
1. Check the INA139 connections
The INA139 needs the V+ pin connected to the battery positive (high-side), and the VIN- pin should go to the load side of the shunt. Make sure these aren’t swapped - incorrect polarity will give a constant offset.
2. Verify the shunt resistor value
Your R32 shows 0.5mΩ (HoLR2725D-4W-0.5mR-1%). With BATT_AMP_PERVLT = 38.0 and the 110kΩ output resistor, let’s verify the math:
INA139 gain = R_L / 1kΩ = 110kΩ / 1kΩ = 110
At 0.81A constant reading with your settings, this suggests an offset voltage
3. The capacitor C27 isn’t the issue
The 0.1µF capacitor on pin 1 is actually fine for filtering. It won’t cause a constant offset.
4. Most likely cause: Input offset or wiring
A constant ~0.81A suggests ~21mV offset at the ADC (0.81A / 38 A/V). This could be:
Poor ground connection between shunt and INA139
Solder bridges or shorts
Damaged INA139
Debugging steps:
Measure voltage directly at the INA139 output (pin 1) with a multimeter
With no load, it should be very close to 0V
If you see ~21mV with no load, the issue is in the sensing circuit
VBAT is connected to the battery positive (+) through the 4-in-1 ESC,
and pin 4 of the INA139 is connected through the shunt resistor.
The connections themselves do not seem to be the problem.
The same issue is also occurring on other boards with the same design.
Unfortunately, I do not currently have equipment capable of measuring millivolt-level.
However, since the same problem appears across multiple boards, it is unlikely to be an issue with the INA139 itself or with soldering.
Before reviewing your reply, I had already removed the C27 capacitor.
After doing so, the Mission Planner current reading, which had been stuck at 0.81A, started to change. However, the values are still incorrect.
The attached log shows a test where the motors were slowly ramped up from idle to about 5A and then stopped.
(The Amp per Volt parameter is set to 195.)
Mission Planner already shows about 3A at an actual load of around 2A.
Even when increasing the load further, displayed current remains at approximately 3A.
Based on this behavior, I suspect that the voltage corresponding to 3A is reaching the maximum ADC voltage that the INA139 output can be interpreted correctly.
At this point, however, I am not sure which parameters need to be adjusted and how.
As far as I understand, the Batt_VOLT_Mult parameter is related to voltage measurement, and the voltage reading itself appears to be correct. Only the current measurement is abnormal.
Your suspicion is correct - this is an output saturation issue. The INA139 output is hitting the ADC maximum voltage.
The problem:
With your circuit:
Shunt resistor: 0.5mΩ
Load resistor (R_L): 110kΩ
INA139 gain = R_L / 1kΩ = 110
At 50A current:
Shunt voltage = 50A × 0.5mΩ = 25mV
INA139 output = 25mV × 110 = 2.75V
This seems fine for a 3.3V ADC. But the STM32F4 ADC on the Omnibus F4 has a maximum input of ~3.3V. Your output is saturating early because the INA139 output can’t swing all the way to the supply rail.
The real issue: Your 110kΩ load resistor creates too much gain for the shunt value.
Let’s recalculate what you’re seeing:
At 3A displayed (with BATT_AMP_PERVLT = 195), the ADC sees: 3A / 195 = ~15.4mV
But this is already saturating!
The fix:
You need to reduce the load resistor (R31) to lower the gain:
For 50A max current measurement with 3V max output:
Your current gain of 110 is close, but the issue is likely that C27 was forming an RC filter that was causing issues with the feedback. Now that it’s removed, you’re seeing the true saturation point.
Try this:
Replace R31 (110kΩ) with 47kΩ - this gives gain = 47