Hi Gus,
This one is a bit of a puzzle.
While testing a new batch of meter boards, one board appeared to be working correctly in every other respect: display, buttons, LEDs, USB, analog inputs, etc. However, the battery level was being displayed as 6.6 V, instead of the actual 4.0 V.
The battery is a single 18650 cell, currently sitting at about 4.0 V, feeding the ADC input through a divide-by-two resistor divider as shown.
Measuring the ADC input pin on the module showed 0.93 V, rather than the expected 2.0 V.
When stepping through the code after a restart, the voltage at the input is initially correct at 2.0 V, right up until the ADC channel was opened:
public const int VBatt = SC20260.Adc.Controller1.PC0;
var adc = AdcController.FromName(SC20260.Adc.Controller1.Id);
AdcChannel VBatt = adc.OpenChannel(IOMap.VBatt);
As soon as OpenChannel() is called, the input immediately drops to 0.93 V.
The displayed 6.6 V suggests the ADC reading itself is effectively full-scale, i.e. 3.3 V reference, which is then multiplied by two in the display software.
This is a brand new SC20260N module, pre-baked at 125°C for 24 hours, as I now do with all of them.
Any idea what could cause the ADC input to be pulled down when the channel is enabled, while the ADC reading appears to go full-scale?
