Compare Low Power Properties of Adafruit Feather M0 to Arduino MKR1300

A project log for Low Power High Accuracy Weather Station

'Professional' wind instruments are mounted high on a pole in an exposed location with LoRa data transmission

Tegwyn☠TwmffatTegwyn☠Twmffat 04/20/2019 at 08:590 Comments

A 5.5V power supply was connected to the Vin / USB bus pins on the two devices with a high accuracy 20 Ohm resistor in series for current measurement. An oscilloscope was connected either side of the resistor and it's measurements are displayed in red below:

On the left is the Arduino and n the right the feather and the 'pulse' represent the Adafruit 'Sleepy Dog' deep sleep function kicking in. We're interested in the minimum values and the Arduino gave  11.5 mA in deep sleep and the Feather 2 mA. Also, in 'steady state' operation the Arduino consumed a lot more power, 20 mA compared to 11.5 mA for the feather. The MCUs and radios are the same so there's obviously other devices burning up a lot of power in the Arduino such as the 5V to 3.3V regulator.

I then tried to perform a LoRa transmit on the MKR1300 and the oscilloscope showed one hell of a mess, with a large zone shown by the large area where nothing much seems to happen, in spite of the code! The best that Sleepy Dog could achieve was about 18 mA.

Compare this with the feather:

..... and we've got nice, quick, clean transmission spikes and deep sleep of 2 mA. Steady state of the MCU is 11.5 mA. The smaller spikes in the deep sleep zone are caused when the Sleepy Dog wakes up momentarily every 15 seconds or so to have a quick look around in case there are any cats to chase. There's no way around this, it's just how it works, but it's quite handy to flash an LED for about 2 ms here just to indicate that the device is still alive.

Conclusion: Adafruit wins hands done compared to Arduino!
By the way, Sleepy Dog does mess up serial logging so it's good policy to use LEDs to signal what's happening.