Power consumption of XIAO MG24

Hi tompesman,
Please refer to the measured current consumption of XIAO_MG24.
3.8V was applied to the battery pad and measured with pppk2.
Using ArduinoIDE2.3.4, BSP2.3.0, Protocol Stack “None”,
Current consumption was 453uA. When the onboard peripherals were explicitly turned off, the current consumption was 445uA.

//----------------------------------------------------------------------------------------------
// BoardBoard Library : Silicon Labs 2.3.0
// Board Select       : Seeed Studio XIAO MG24 (Sense)
// Plotocol stack     : None 
//----------------------------------------------------------------------------------------------
// 2025/02/23

// ********************************
#define PERIPH_OFF
// ********************************

// on board Flush SPI_1 pins
#define CS1      PA6   // (21)
#define CLK1     PA0   // (17), D17   
#define MOSI1    PB0   // (15), D15
#define MISO1    PB1   // (16), D16

// on board peripherals pins
#define IMU_EN   PD5   // (19)
#define MIC_EN   PC8   // (22)
#define VBAT_EN  PD3   // (25)
#define RFSW_EN  PB5   // (27)

// Flash commands
#define READ_DATA     0x03
#define WRITE_ENABLE  0x06
#define PAGE_PROGRAM  0x02
#define SECTOR_ERASE  0x20

// Flash functions
void sendSPI(byte data) {
  for (int i = 0; i < 8; i++) {
    digitalWrite(MOSI1, data & 0x80);
    data <<= 1;
    digitalWrite(CLK1, HIGH);
    delayMicroseconds(1);
    digitalWrite(CLK1, LOW);
    delayMicroseconds(1);
  }
}

void writeEnable() {
  digitalWrite(CS1, LOW);
  sendSPI(WRITE_ENABLE);
  digitalWrite(CS1, HIGH);
}

void setup() 
{
  // builtin LED
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);

#ifdef PERIPH_OFF
  // on board flash pins
  pinMode(CS1, OUTPUT);
  pinMode(CLK1, OUTPUT);
  pinMode(MOSI1, OUTPUT);
  pinMode(MISO1, INPUT);
  digitalWrite(CS1, HIGH);   // CS1 HIGH

  // on board peripherals OFF
  pinMode(IMU_EN, OUTPUT);
  pinMode(MIC_EN, OUTPUT);
  pinMode(VBAT_EN, OUTPUT);
  pinMode(RFSW_EN, OUTPUT);
  digitalWrite(IMU_EN, LOW);   // IMU Power OFF
  digitalWrite(MIC_EN, LOW);   // MIC Power OFF
  digitalWrite(VBAT_EN, LOW);  // VBAT Power OFF
  digitalWrite(RFSW_EN, LOW);  // RFSW Power OFF

  // on board Flash Deep Power Down 
  writeEnable();
  digitalWrite(CS1, LOW);
  sendSPI(0xB9);
  digitalWrite(CS1, HIGH);
  delay(1000);
#endif  
}

void loop() {
                                      //          PERIPH_OFF   default
  digitalWrite(LED_BUILTIN, LOW);     // LED ON     830uA       839uA
  delay(1000);
  digitalWrite(LED_BUILTIN, HIGH);    // LED OFF     59uA        66uA
  delay(1000);                        // Average    445uA       453uA
}
1 Like