M404/Muon vs Boron ADC

This may or may not be a hardware issue, please bear with me. I have a set of Boron’s configured to measure potable water levels and toggle transfer pump control. My level sensors output 0-5v which I voltage divide to ~3.4v. The divider is a simple 10K over 22K with a 10uF cap. On the Boron’s (A0) the 0-5v input is a stable linear 0-3.4v. I would like to move the system to M404’s. I tested 2 Muons (A0) and they both produce a curved dataset. I am not an EE, what am I missing? See attached graphs.

There are a couple of possibilities, and some of it depends on which Boron you are using, or you changed settings on an older Boron.

If you are using the M-SoM or older Boron, the ADC reference voltage is 3V3. Thus any irregularities in 3V3 will result in incorrect ADC values. This is more noticeable on the M-SoM because the Wi-Fi radio is powered by the 3V3 rail and is relatively high current. The cellular modem on all devices is powered by a separate power rail, and the Boron consumes very little 3V3 power. The maximum voltage allowed on the ADC pins is 3V3, or 3.3V.

On the Boron 404X (BRN404X), the default voltage reference is internal, which is an internal 1.8V reference source, coupled with a 1/6 divider. This prevents dips in 3V3 from affecting the ADC. This can be enabled on all Borons with newer versions of Device OS. This also has a side effect of making the ADC maximum voltage 3.6V, however the 12-bit ADC value is scaled so 4095 = 3.3V.

The other possibility is that the RTL872x ADC isn't perfectly linear. This is from the RTL872x application note and references the VBAT_MEAS ADC, but it works the same way as the regular ADC but has a different voltage scale (0-5V for VBAT ADC instead of 0-3.3V for regular ADC). Note that it does flatten out at the top end.

Rick, thank you for all you do supporting this community.

I am testing with both the old [mesh] Boron LTE and the newer 404x. I am using 6.3.3 and have set AdcReference::INTERNAL. All of the Boron’s are stable, linear, and accurate with my voltage divider input.

Interesting point on the RTL872x. Do I live with it and simply code around the knee in my data?

I think you may have to compensate in software. There are only two configurable parameters in the RTL872x ADC hardware, gain and offset, and neither of those affect the linearity.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.