PM2 and ADC operation

Hi all,

I’m working on project that requires power savings and the Wixel needs to be regularly put in low power mode (sleep mode PM2). I mesure a current of around 90 microamps in this mode, which I suppose is around the lowest possible from what I read in relative threads. The problem comes when I initiate a single ADC conversion to measure VDD (I use adcReadVddMillivolts()) while the Wixel is “awake”, as then, in PM2, I measure a current of around 300 microamps!

Any ideas?

Hello.

The ADC functions we provide for the Wixel modify the ADCCON3 register, so you might try setting that register to its default value of 0 before going back to sleep. Also, are you sure you are just performing one ADC conversion? If the Wixel is waking up from PM2 regularly and performing a converison each time it wakes up, that would cause the average current draw to increase. If that doesn’t help, you could post a minimal program that reproduces the issue, and I might be able to see what is wrong.

–David

Hello David,

Thanks for the answer. The ADC actually works as expected, nothing puzzling. It was all related to the way I call the adcReadVddMillivolts() function. Still haven’t figured out though what actually happened but it’s for another time.

Thanks again