January 29, 2020, 02:22:08 am

Sleep on pic32-pinguino-otg

Started by blinde, November 27, 2012, 02:38:24 pm

Previous topic - Next topic


Trying to enter sleep mode with the pic32-pinguino-otg.

The power comes from a battery. So Voltage is around 14V

I call asm("wait").
By default the current is ~20ma

If I enable the sleep mode (OSCCONbits.SLPEN = 1)
The current is ~10ma

Is there a way to decrease the 10ma ?
Is it the voltage regulator that is drawing it ?




Hello blinde,

Here is some pinguino code that I've used in the past to put the PINGUINO MX220 to sleep. Please take a look at the schematic for the 220 to see what the pins I've set are:

Setting some pins to output (and some exceptions to input) reduces power consumption.

Here is the code; it is for another chip, but a lot of things are pretty much the same across the pic32 family.

TRISA = 0x0000;
TRISB = 0x0000;
TRISC = 0x0000;
PORTA = 0x0000;
PORTB = 0x0000;
PORTC = 0x0000;
TRISA |= 0x0080;
TRISB |= 0x0380;

SYSKEY = 0x0;  // write invalid key to force lock
SYSKEY = 0xAA996655;  // Write Key1 to SYSKEY
SYSKEY = 0x556699AA;  // Write Key2 to SYSKEY
OSCCONSET = 0x10; // set Power-Saving mode to Sleep
SYSKEY = 0x0;  // write invalid key to force lock

asm volatile( "wait" );// put device in selected Power-Saving mode


Best regards,
Software developer at Olimex
Olimex ODS Project
Introduction to Olimex ODS


Ok, thx.
I will try with this config.