Is the 32-bit ATSAML10 the ATMEGA328P killer that we've been waiting for?
-
What the previous 32-bit chips didn't have was the ATMEGA328P's ultra slow sleep capability, but this one has <100na sleep plus everything else on my wish list, including an easy to solder package, more RAM, more flash, more IO, and an RTC.
I'm not sure whether it can be programmed through the current Arduino IDE, or whether we have to wait for that to be developed. Anyone know?
-
@neverdie "Sleepwalking peripherals"
-
The marketing material calls the <100na mode "sleep", but I'm noticing now that the datasheet calls it "OFF". So, now I'm not sure that any of the memory is retained during that mode. I'm guessing now that memory isn't retained, and if so, then I'd regard it as less interesting than the nRF52 chips.
Oh well. Anything else on the horizon look interesting?
-
Then again, for a lot of sensors, such as a TH sensor for example, losing memory between wake-ups isn't particularly consequential. So maybe the ATSAML10 actually is a ATMEGA328P killer in a lot of instances. For example: https://www.openhardware.io/view/609/Temperature-and-humidity-sensor-with-154-E-Paper-display , where an ATMEGA328P doesn't have enough memory to drive a nice display, whereas an ATSAML10 could do the job, and maybe (?) even consume less power doing it.
-
@neverdie said in Is the 32-bit ATSAML10 the ATMEGA328P killer that we've been waiting for?:
The marketing material calls the <100na mode "sleep", but I'm noticing now that the datasheet calls it "OFF". So, now I'm not sure that any of the memory is retained during that mode. I'm guessing now that memory isn't retained, and if so, then I'd regard it as less interesting than the nRF52 chips.
Oh well. Anything else on the horizon look interesting?
But "Standby with Full SRAM Retention (0.5 μA) with 5.3 μs wake-up time" whic.h is still extremely low. It seems if you want to wake up with interrupt you need to keep the "switchable power domain" (PDSW) on, so power consumption is a bit over 1uA. Still pretty good.
-
Thanks for pointing that out.
Unfortunately, I see no indication of any Arduino support for it on github, so I guess it's largely moot. As near as I can tell, 32 bit Arduino(ish) options at present are just Arduino Zero, Arduino Due, nRF52, and I guess quite a large number of STM32 boards (https://github.com/stm32duino/Arduino_Core_STM32). Is there anything else, or is that the full set?
Of the STM32 boards, the three STM32L0 boards would be the low power boards. For instance, the STM32L031K6 board has:
Ultra-low-power platform 1.65 V to 3.6 V power supply -40 to 125 °C temperature range 0.25 μA Standby mode (2 wakeup pins) 0.38 μA Stop mode (16 wakeup lines) 0.68 μA Stop mode + RTC + 8 KB RAM retention Down to 76 μA/MHz in Run mode 5 μs wakeup time (from Flash memory) 41 μA 12-bit ADC conversion (at 10ksps)
which actually sounds like it beats the ATSAML10, at least in terms of power consumption (https://www.st.com/en/microcontrollers/stm32l031k6.html).
-
SAMD21G18A is also option for next level of mysensors support
Check moteino M0 on lowpowerlab site
-
I have some STM32L1 chips in my basement which I got and promptly figured out the F1 had arduino support but not the L1. I see that the L1 is supported now. Gonna have to dig those back out.
It would be interesting to drop it onto this board:
https://www.openhardware.io/view/590/STM32-Sensor-V3
-
@nagelc Just how Arduino compatible are they? Is it fairly transparent, or do you end up studying the datasheet a lot to workaround incompatibilities?
-
@nagelc That would be interesting. Remember also that MySensors currently only supports STM32F1 without sleep mode. I'm running a modified version with sleep support, but since I could not make it generic enough, I never submitted it as an enhancement (can be found here: github, 2.2.0 only)
I still have a few prototype boards available but don't have enough time to progress much in the near future. If you would like a few boards (PCB only, not fully assembled) for experimenting and testing I can send you a few provided shipping costs permit it. I would love to see them better supported. Drop me a PM if interested.
-
It looks as though the entire line-up of the STML0 series is ultra low power when it comes to standby current.
I think I'll be ordering the Discovery board: https://www.digikey.com/product-detail/en/STM32L0538-DISCO/497-14709-ND/4866483/?itemSeq=270107875 to get familiar with these chips.
[Edit: Well, maybe I'll try the nucleo board instead (https://www.digikey.com/product-detail/en/stmicroelectronics/NUCLEO-L053R8/497-14710-ND/4866484), since it is supported by the stm32duino library. ]
-
@neverdie Found my STM32L1 chips -- L151C8T6R. Looks like the STM32duino folks have some support for the L152, but don't list the L151, so I'm out of luck with these for now. The L0 and L4 seem to be more supported.
-
@freynder I found MySensors after messing around with Moteino's, so I really like the idea of this board. The RFM69 let me cover my house without repeaters and just worked. Now, the NRF5 series is so amazing, but I admit my personal prejudice -- I keep wishing for something similar for the RFM world.
-
@nagelc said in Is the 32-bit ATSAML10 the ATMEGA328P killer that we've been waiting for?:
I see that the L1 is supported now. Gonna have to dig those back out.
Are you referring to the official STM32 core provided by STM (github)?
AFAIK, MySensors currently only works with the unofficial one from Roger Clark (github) which is much more limited as far as supported mcu families go (good F1 support and limited F4).
A nice overview of cores can be found here.
-
@freynder said in Is the 32-bit ATSAML10 the ATMEGA328P killer that we've been waiting for?:
AFAIK, MySensors currently only works with the unofficial one from Roger Clark
I'm using Blue Pills with stm32duino (https://github.com/stm32duino/Arduino_Core_STM32) and MySensors without problems.
Stm32duino also supports a number of STM32L variants.
-
@yveaux I stand corrected. I just tried compiling an example sketch and indeed no errors. Last time I tried I had compilation errors, but that may have been due to other factors then.
-
@freynder Yes. I had a Blue Pill with RFM69 working from stm32duino, but it has been a while.
-
You can even put a USB bootloader onto them.
-
@neverdie so will it be able to run mysensors also in sleep mode? I got lost with all those chip codes
-
@neverdie said in Is the 32-bit ATSAML10 the ATMEGA328P killer that we've been waiting for?:
You can even put a USB bootloader onto them.
plus debug using Black Magic Probe or stlink + OpenOCD
-
@freynder said in Is the 32-bit ATSAML10 the ATMEGA328P killer that we've been waiting for?:
@yveaux I stand corrected. I just tried compiling an example sketch and indeed no errors. Last time I tried I had compilation errors, but that may have been due to other factors then.
I'm revisiting this as I tried to compile a sketch today using the official STM32 core (https://github.com/stm32duino/Arduino_Core_STM32 v1.3)
I realize now I tested with the wrong core as it is a bit confusing in Arduino IDE. Please see the screenshot below which boards menu should be selected (highlighted the selected board).
image url)
When I select this core, the sketch will not compile because the ARDUINO_ARCH_STM32F1 flag is not set.
@Yveaux and @nagelc : can you confirm you actually used this core? The core named "STM32 Boards (stm32duino.com)" is Roger Clarks core, not the official STM32 core one. Easily confused as the github user name for the official STM32 core is stm32duino.
-
@freynder I have changed computers since then, but I suspect you are right. I found it through the STM32duino site, but it didn't look like your screen shot. I don't recall seeing "series" after STM32F103. I can double check when I get home next week.
-
@freynder This is the one I used on the pills:
And the boards I've got installed:
-
Thanks for confirming. So only Clark's core is supported at the moment.
It would be interesting to support the official STM32 core as they provide low power functions. I will do some experiments.
-
Do any of the STM32's have anything similar to the Nordic nRF52's PPI (Programmable Peripheral Interconnect)? I assumed they would, but I just now went looking for it in the datasheet and didn't find it. Maybe STM32's call it something else? Or do they just not have anything similar? I thought it was a rather cool feature of the nRF52.
-
@neverdie ASR6501 M0 with sx1262