Hacker News new | past | comments | ask | show | jobs | submit login

> AVR processors are notorious power hogs

> MSP430 microcontrollers ... consume less than 1 microamp in idle mode.

As someone who's done extremely low-power development on both platforms, this is an extremely disingenuous comparison. Of course MSP430s consume very little current in idle mode. So do AVRs. People just don't usually run them at low frequencies or in idle mode, because Arduino is targeted at novice users, not people who know how to do low-level power management.

I've been running an ATTiny off the same pair of AA batteries, blinking an LED for 50ms every 5 seconds for 4 years. Just turn all peripherals off, maximum clock prescaler division, sleep mode with wake on watchdog interrupt. There's functionally no way to get better performance out of an MSP430 in real-world applications.

While I prefer the MSP430 instruction set, beyond that there's no obvious all-around advantage over the AVR family.




Just to back this point up, I have an atmel 328p (auduino duo) thats been running on single tiny solar panel, and 5 farads of super capacitor for about 4 years.

It transmits a temperature reading every 30 seconds over rfm12b radio.

(obviously the panel keeps the charge topped up, but it easily lasts through the night and a very cloudy day. It even works indoors. )


>I've been running an ATTiny off the same pair of AA batteries, blinking an LED for 50ms every 5 seconds for 4 years.

Is this just for fun or is it part of a larger project?


For fun. My parents wanted a fake security system with a blinking light at their house to ward off burglars, so I soldered an LED and a resistor to an ATTiny and then soldered on a double AA pack. It's still going off the first set of batteries.


I've used both. The MSP430 has a few advantages over the AVR family when it comes to low power.

1) There are specific low power designs. They use lower voltages, which allows you to squeeze more energy out of each battery, and they use non-volatile RAM.

2) There are a lot of MSP430 variants, and they have integrated all sorts of features that would have to be external on an AVR series microcontroller. E.g., a real time clock, or an LCD driver.

3) The MSP430 series has variants with almost any quantity of digital or analog IO you could wish for. This means you can directly connect the MSP430 to things that you would need a breakout board for on an AVR.

So even if the AVR series and the MSP series are on relatively equal ground when it comes to power per clock (which they aren't), the MSP430 is a much better chip for low power draw.


Thread a few weeks ago on the MSP430:

https://news.ycombinator.com/item?id=12952100

tl;dr (I hunted up the datasheets); they'll run (i.e. processing numbers, not idling) at 120 µA/MHz, which is miniscule. However, there are some new ARM-Thumb designs which will run at 35 µA/MHz:

http://www.atmel.com/products/microcontrollers/arm/sam-l.asp...


> maximum clock prescaler division

How do you calculate the tradeoff between the low power of a lower clock frequency and the shorter active time with a higher clock frequency?


If you're computation bound, unless you have a very current-limited power supply, you can just max out the clock when you wake up and turn it back down before sleeping.

In my case I had to be awake for some time anyway, so I just used the lowest clock frequency I could.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: