Please suggest me a low power microcontroller

Hello!

I'm working on a solar-powered LoRa remote sensor and I'm looking for a suitable microcontroller:

  • supported by Arduino
  • at least 10-12 IO pins (SPI, i2c...)
  • very low power / sleep mode
  • (if possible) with a package that could be hand soldered (DIP, SOIC...)

At the moment I'm using an ESP32 WROOM module which works fine but could be overkill.
Thanks!

What about ATMEGA328?

Agreed.

A DIP ATMega328 with a low IQ current regulator such as MCP1700 will have a deep sleep current with LoRa module of circa 3uA.

And a real World example of using an ATMega328, LoRa module and BME280 sensor node;

https://stuartsprojects.github.io/2020/02/20/just-how-long-can-a-sensor-battery-last.html

A 155mAhr battery lasted 14months. So a pack of AA batteries would have a projected life of 21 years.

Power Consumption at 1MHz, 1.8V, 25°C

  • Active Mode
    0.2mA
  • Power-down Mode
    0.1µA

Or an ATtinyX4A

I/O and Packages

  • Twelve Programmable I/O Lines

Low Power Consumption

  • Active Mode:
    210 µA at 1.8V and 1 MHz
  • Idle Mode:
    33 µA at 1.8V and 1 MHz
  • Power-down Mode:
    0.1 µA at 1.8V and 25°C

wow thanks for your quick replies!

I'm ashamed that I didn't consider the good old atmega328p looking for new, fancy uCPU :wink:

The ESP32 microcontroller itself is a tiny surface mount device, not easy to hand solder at all.

The ESP32 you might have been thinking of is one of those complete modules, with the base ESP32 microcontroller plus a heap of other components including memory mounted on a PCB.

Related to the topic, but are any of the more modern Atmel type processors available in 28pin DIP but have more memory than the ATmega328 ?

I am aware of the 40pin DIP ATmega1284, but that can be a bit big for some projects.

yes, I'm currently using an ESP32 WROOM module... it works fine but I don't need most of its features (wifi, ble...) so I'd like to move to a more "simple" uC

And there is the ATmega1284P.

Available in 40 pin DIP. 32 IO pins. 2 hardware serial ports. 4 times the program memory of a ATmega328P. 8 times the RAM of a ATmega328P.

Any experiences with "mega"Tiny (Attiny1614...)? Thanks again for your suggestions!

Not myself, but take care here.

You said this was for a 'LoRa remote sensor' and a typical program of the type mentioned in post #3 will use around 75% of the 16K flash space of a Attiny1614.

On its own that is OK, but be sure you wont want to add other stuff at a later date, you could easily run out of program space.

1 Like

thanks for the advice! It should be a simple outdoor temperature and humidity sensor and the code at the moment fits 16K of memory but considering that it could be a "base platform" for other LoRa sensors your comment is very useful!

Yeah. There are AVR128DA28 chips (and several other AVRmmmFFpp chips, where mmm is the amount of memory, FF is the "family", and "pp" is the pin count) that are still available in DIP with 128k of flash and 16K of RAM.

Supported by one of Spence Konde's ("Dr Azzy") cores.

Also, the ATmega4809 (as used on Nano Every and Uno WiFi 2. 48k Flash and 6k RAM) is available in 40pin DIP.

Thanks a lot, very useful.

The ATmega1284 is OK, but physically a bit big.

With such a limited amount of memory available for other stuff, its not really a 'platform' at all.

The Attiny1614 might well be just fine and dandy for a specific defined application but it seems highly likely that users of the 'platform' would soon be asking; "I have run out of memory, how do I reduce program size ?".

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.