What a disappointing outcome!
I expected that there would be some way to decrease power consumption under 50uA, just like (almost) all other microcontrollers.
I would rather consider ESP32-C3 bare chip, as it has similar performance spec with much lower sleeping current.
I wonder if it's possible to improve on deep sleep with an external switch. Like TPL5110 (the first device I found). They have exactly this application on the first page of datasheet.
Yes you could.
Some RTCs even have this specific functionality. Like the AB1805: 14-55nA time keeping, RTCC, 256b battery-backed RAM, IRQ/clock out, and a PSW output which you could use to powergate the complete MCU.
The great thing about a RTC is that's far more accurate in time keeping than one of nano-power timers. TI is usually pretty good on low power stuff, but sometimes beaten by more niche devices.
Problem is that it's 2-chip solution. Plus the chip itself is about 2x the price of a RP2040. But if you want to go really low power, that's one way to do it.
I need just power on-off feature on a button long press.
The device has only one button. By clicking it, operation mode switches.
By long-pressing it, device power is "on" / "off",
I implemented this in HC32, where I set it in deep-sleep mode during "off".
Two-chip solution is fine.
Is there any power switching chip triggering by long-pressing?
I used toggle-switch ICs before for some other projects, but it was toggling by single click, not by long-pressing.
Is there any toggle switch ICs (of course with low poer consumption) that supports long-pressing timer?
If so, I can use RP2040.
You could select almost any small low power MCU and make a switch-timer.
eg
A part like ML51BB9AE is MSOP10, and specs a sub 1uA low power 38.4kHz OSC.
Power management
...
There are dedicated button On/Off controllers like LTC2950 but they cost more than a simple MCU these days.
https://www.analog.com/en/parametricsearch/12984#/sort=s3,asc
New parts like MAX16150 have super low timing currents (10nA), but you need to work with their fixed 8 second shutdown timer.
If you are not making many, the time saved in not needing code may be enough to justify the more expensive part.
You could select almost any small low power MCU and make a switch-timer.
eg
A part like ML51BB9AE is MSOP10, and specs a sub 1uA low power 38.4kHz OSC.
Power management
...
There are dedicated button On/Off controllers like LTC2950 but they cost more than a simple MCU these days.
https://www.analog.com/en/parametricsearch/12984#/sort=s3,asc
New parts like MAX16150 have super low timing currents (10nA), but you need to work with their fixed 8 second shutdown timer.
If you are not making many, the time saved in not needing code may be enough to justify the more expensive part.
The main reason to choose RP2040 over existing HC32 design is to make the software development easier.
HC32 was enough for power consumption.
We con't want to move to just another less-widely-used microcontroller to achieve low poer consumption.
The LTC2950 looks good.
By adjusting the debouncing capacitor, it seems like we can get 2~3s delay time for "long-pressing".
The LTC2950 looks good.
By adjusting the debouncing capacitor, it seems like we can get 2~3s delay time for "long-pressing".
powering off the MCU entirely was something one could do decades ago with any CPU. Not that it makes it wrong, but certainly we have much better options these days.
By adjusting the debouncing capacitor, it seems like we can get 2~3s delay time for "long-pressing".
By adjusting the debouncing capacitor, it seems like we can get 2~3s delay time for "long-pressing".
How complicated/simple is your long-press power toggle ?
You could use a Schmitt Flipflop, which will be very cheap and only draw Icc when the button is pressed.
Nexperia
74HC74 says Schmitt-trigger action in the clock input, makes the circuit highly tolerant to slower clock rise and fall .
74LVC1G74 says Schmitt-trigger action at all inputs makes the circuit tolerant of slower input rise and fall times. This part has 32mA drive, so may be able to switch the RP2040 directly ? ]
Lower drive are TI
SN74HCS74 - Schmitt-trigger input dual D-type positive-edge-triggered flip-flops w/ clear and preset
SN74HCS72 - Schmitt-trigger input dual D-type negative-edge-triggered flip-flops w/ clear and preset
You want a Power on reset as well as a toggle so Schmitt on all pins is a good idea.
The cheapest and most reliable is debounce in firmware if done properly. I really hate when parts are needlessly thrown at the problem. It's really easy to make a barely working messy shit with tons of parts rather than make a lean elegant design which is actually more reliable.