RUI3 Battery Level Reporting Seems Low?

On a freshly charged 18650 I was seeing values around 4.1-4.2V when checking battery status on WisBlock API with a RAK4631 - while the battery was not charging.

On the same device, I moved it to using RUI3 (installed the RUI3 firmware, changed the code), but now I am getting values around 3.9V on a fully charged 18650.

Why is it so much lower? Is there a reference voltage discrepancy I need to account for somewhere, or something like that?

EDIT: I will say that I did not put a multimeter on the battery to see what it said…I’ll check when I get time.

I am checking battery like this in my RUI3 code:

 uint16_t batt = (uint16_t)(api.system.bat.get() * 1000);  // Battery in mV

Hi @Botched1 ,

What is the interval between ADC readings on your code. Is there a delay in between readings? If there is none, the Analog input channel of the chip might not have enough time to get the correct voltage sample.

I’ll have to double check. The code only runs every 30s, so it can’t be any more frequent than that, though.

It really isn’t a “problem”, just more of an observation I guess. As long as it trends/is repeatable the absolute value isn’t that important to me. I haven’t run it long enough to see how it trends.