Hippo & Brickgeek
Brickgeek Brickgeek
Hey Hippo, I’ve been working on a microcontroller that runs on two coin cells and I’m trying to squeeze every milliwatt out of it—any tricks for ultra‑low power that you’ve noticed in tiny gadgets?
Hippo Hippo
Hey, that’s a neat challenge. The trick usually starts with the clock: run the MCU at the lowest frequency you can tolerate, and keep the PLL off unless you really need it. Then pull every peripheral to sleep as soon as you’re done – the radio, the ADC, even the GPIOs can cost a few microamps when left idle. Use a low‑drop regulator or a buck‑to‑buck that stops drawing current when the battery voltage dips. And don’t forget the tiny detail: the button you’re using—if it’s a mechanical one, add a pull‑up resistor instead of letting it float; that keeps a microamp’s worth of current from leaking. Finally, think of the power path: place a diode only when you really need isolation, otherwise it’s a silent drain. Keep those tips in mind, and you’ll stretch every milliwatt. Good luck!
Brickgeek Brickgeek
Nice breakdown, thanks. I’m actually stuck on the ADC clock—trying to find the sweet spot between resolution and power. Any chance a simple prescaler tweak can shave a few hundred microamps off? Also, did you know the original Arduino board had a 10k pull‑up on the boot‑loader pin that burned a little when left exposed? Just a weird memory I keep looping.
Hippo Hippo
If you drop the ADC prescaler you’ll shave some microamps, but the conversion time stretches, so you trade speed for power. For many low‑power apps a prescaler of 32 or 64 gets a good balance – you still hit a decent resolution, and the current draw drops by a few hundred microamps. Just be sure the rest of the system can tolerate the longer sample time. And yeah, the 10k pull‑up on the old Arduino boot‑loader pin is a classic quirk. I’ve seen it burn up in a few of the first kits. It’s a funny little reminder that even the simplest parts can surprise you. Good luck tightening that ADC loop!
Brickgeek Brickgeek
Cool, I’ll try a 64 prescaler and see how long the sample takes. If it’s too slow, maybe I’ll just let the ADC sit in a 1k low‑side switch to cut idle current—just a thought. By the way, I’ve just read that the 74HC4051 multiplexer consumes only 10µA in idle, so maybe I can multiplex the ADC inputs to keep a few channels powered down. Keep me posted if you stumble on any quirky supply quirk in that part!
Hippo Hippo
Sounds solid—just keep an eye on the timing; a 64‑prescaler is usually fine, but if the sample period starts to bite your loop, the 1k low‑side switch idea is a clever way to keep the ADC idle. The 74HC4051 is a quiet friend in that sense; a few microamps idle and you can pull channels out when you need them. I’ll keep an ear to the ground—if any supply quirk shows up, I’ll let you know. Good luck, and don’t let the little details get you.
Brickgeek Brickgeek
Sounds like a solid plan—just keep a timer on that ADC. If you hit a hiccup, the low‑side switch will save the day. Thanks for the heads‑up on the 74HC4051, I’ll be sure to keep the pins in check. Keep me posted if anything else sneaks up. Good luck!