Seeeduino XIAO Low Power Operation Using External Event

I’ve tried unsuccessfully to use ArduinoLowPower.h to wake up from sleeping using a digital input event.

I have tried every combination. I have search the internet ( found other people with same problem with no solution).

This is typical sketch.

#include "ArduinoLowPower.h"

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(pin, mode);
  LowPower.attachInterruptWakeup(pin, callback, mode);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000); 
  LowPower.sleep(10000);
}

void callback() {
  // This function will be called once on device wakeup
  // You can do some little operations here (like changing variables which will be used in the loop)
  // Remember to avoid calling delay() and long running functions since this functions executes in interrupt context
}

External input has no effect on sleep. Any help is appreciated.

Thank you.

The LowPower.attachInterruptWakeup method is not supported by xiao, so using this method will not have any effect.

Citric,

Thank you for your reply.

From my perspective it doesn’t make sense why Seeeduino XIAO (the designers) failed to implement easily implementable Low Power operation. I say this because the size and capabilities of the device make very attractive for battery-powered embedded applications.

It is also frustrating that I have spent a significant amount of time trying to implement what appeared to be doable low power library applications for SAMD21.

I’m using it to act as a OLED display controller on a battery-powered device.

If anyone else has suggestions on how to easily implement a low power shutdown and wake-up using external interrupt (serial or digital I/O) I would appreciate the information.

Thank you again for your help.

1 Like

The reply I got is this, because the XIAO series themselves are devices that operate with very low power consumption, so it seems that it is not necessary. If a wake-up operation is required, it is recommended to use an external clock module to complete it.

Dear Citric,
I am afraid I have to agree completely with MAX1’s last comment. the reply you have mentioned

Blockquote
the XIAO series themselves are devices that operate with very low power consumption, so it seems that it is not necessary.

It is not true at all, The XIAO BLE sense that I got, consumes several mA without BLE TX\RX which is huge in the Idle case for the NRF5X chip.
The whole point of using NRFX chips is to use sleep mode and go to uA level otherwise other chips e.g. ESP32 are a much more interesting chip to use for either hobbyists or developers.
I really hope XIAO developers fix this issue since this is a pretty nice little board with huge potential.
Cheers,

2 Likes

XIAO BLE is already available with low-power firmware. The above is for the Seeeduino XIAO.

Some have used freertos to make this work. Looked at it but happy with power with out putting to sleep.