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
}