best off-the-shelf low power arduino clone?

I am thinking about a project (haven't started it) that involves low low power.
After reading a lot, I've determined that (in general) low frequency radio uses less power than higher frequency; usually not that much more a ma or 2 more....

It also seems that, given the same basic parameters, a board running at 3v @ 8mhz will end up consuming more power than 3v @ 16mhz for a given task (that is more than just a step or two); but couldn't find anything that would say this is an accurate statement.

What I can't easily determine is the boards. I know I could build my own and control everything; but I want ot keep this (relatively) simple for others to build.
When I search for low power boards, several come up.

  • ebay clones mini, nano etc. (attiny85 is out as I need 3 output pins, in addition to listening to the radio)
  • RocketScream has several low power options. The interesting ones: mini type clone & compact zero clone (the later coming with a radio)
  • Moteino seems to be a 'standard' but not easy to determine power usage
  • Panstamp is easily the smallest of the bunch
  • and "Anarduino" reads like it's a match for Moteino.
  • Use an attiny841(this, this (DIP, so not as small as I'd like), or DrAzzy's 841 or 1634
    and attach a radio...
  • One option I have no experience with; an esp8266 module; which seems smaller & will do the job; provided the module has enough io pins...

So, with the exception of 1 rocketscream boards and any tiny or mini/nano; the rest all have radio's attached. The anarduino can use a rfm12b for even more savings (distance is barely a few meters)
I can add in a cheap (1 way) transmitter/receiver pair a board if they don't have a radio.

I hesitate on the esp8266 only because I have no experience with them & I'm not doing 'wifi' just wireless between two units (that could be near other pairs) But I do like this option for a few reasons: 1) it's compact, 2) it can be programmed with lua or arduino, 3) it's the cheapest option

Size is an issue, but all the boards are 'close enough' to be considered viable. (the rocketscream boards might close to being too big)

Since I am a poor student; I can't afford to buy a sample of all the boards & compare them.
I know BLE is an option, but I can't find good specs on any of the BLE boards I found, except for boards that were in the $18+ range; which seems to me is really expensive.

Has anyone used any of these (or other low power options) that could share some of their findings with regard to power usage? (ie: how long to last on a battery) My project will allow for about a 1/2 second 'sleep' cycle before having to read the radio and turn on/off a switch (mosfet) before returning to sleep.

I know no project is the same, and my mileage may vary... Just looking for any feedback on any of the boards that someone has used.

If it's down to a few ma difference from best to worst; then I'll probably end up with a pro-mini clone & mini transmitter/receiver...

The goal is pushing as much battery life out of the receiver as possible (transmitter will have mains power). It just needs to receive a small (could be as small as 1 byte) to determine which io ports to bring high/low. Although reality is I would want some sort of "id" to ensure that multiple units in the area didn't react to the wrong signal; as well as have a small check-sum to ensure the data is valid. So maybe 4 bytes total. The reaction time between sending the signal and the receiver doing something needs to be fairly quick (some where in the sub 1/2 second range) so I have room to sleep the receiver....

Thanks for any ideas/thoughts/input.

For simple, low power just use a raw ATMEGA328P chip. Get the DIP version and you can use it with a standard perforated or strip board. You can get away with 4 additional components if you use an external crystal (crystal, 2 capacitors, and a pullup resistor for the reset pin). If you need only the internal oscillator you need only the pullup resistor.
The chip clocked at 4 MHz can work at 1.8 volts.
There are stacks of articles on best practices for reducing power to a minimum with various sleep states etc.
If you look at ready made boards, these come adorned with all sorts of power-hungry components like voltage regulators, USB interface chips, LED's etc.

Except mine - only crystal/caps, reset pullup resistor, power decoupling caps (all on the back side).
http://www.crossroadsfencing.com/BobuinoRev17

I'd consider looking at the data link requirements and figuring out what receiver and antenna configurations best fit within your trade space. I suspect that the receiver is going to consume a similar or greater amount of your power budget as any sane choice of microcontroller.

I've used the 841 and 1634 with 433mhz RF modules (the el-cheapo ones - the RXB-12 is the best cheap receiver, the narrow yellow one, while the STX or even the crappy green ones are fine on transmit). Transmitters use negligible current when not running (if you have one that doesn't, you can always turn it off with a fet, too). Receivers use more - I don't know off the top of my head how much - though I can test it on the RXB-12, since you're looking at possibly buying something I sell :wink: . I actually made a board design that used a 1634, and integrated a transmitter and receiver on board (and it works decently) with the SYN115 and SYN470...

I think your next step though is to put a bit more thought into spec'ing out the requirements.

How much data do you need to send/receive? Both directions or just one? How often will it need to communicate? What distance? How reliable does it need to be?

For WiFi level range, the ESP8266 is a very attractive device - though when the radio is on, it's a serious power hog, especially with the AP mode enabled.

Thank you all...

I had considered a raw chip but discarded after doing a mock up and deciding it took too much space, but I hadn't considered running so low (1.8v) which could change my battery source.
Yes, most of the radios do consume a lot; which is why I am asking about the boards that have them built in. i simply cannot buy them all to compare... Most seem to use slightly more during transmit. The ones I have here use about the same, I was able to get the receive to use more if the signal was weak...
I think if I were to revisit using a raw chip (ie: atmega) I would opt for something smaller like an attiny841, which should use less power & have enough pins for me... There is millions of variations to accomplish this; I'm wanting to keep it simple, small, and low power...

@crossroads: I hate to admit it -- I did land on your page a day or two ago; but didn't scroll thru every image; and the initial prices I spoted made them too expensive. It wasn't until you posted the image that I scrolled to find that image.. Wasn't obvious... Unfortunately,the parts are on the way to build a SMDuino, which looks to be a little cousin to your Mini-uino ... May want to update it so there's either an index or more organisation to finding different products/items...

Thank you for your thoughts. At this point I am leaning towards an attiny841 & some small receiver (cheap wifi or ble, or cheap ebay 99cent module) The esp8266 is looking more and more interesting too...

My uncle said he's tried a few of the boards I was looking at and favours the RocketScream boards for 'all in one'; but likes the bigger tiny's lower power modular design for something this simple...

It seems there are a thousand ways to solve this sort of puzzle; and in the end, trial and error seems to be only method to really find out... (I read one datasheet that quoted "10ma in receive mode" and "2.5ma while transmitting" So I don't really trust everything that I'm reading)

@DrAzzy: thanks; do you have a link for your tiny+rf board? Thanks for the tip on yellow vs green...
I know that "receivers use more" -- because they are always "looking" whereas a transmitter uses more only when it's pushing data. but I think at such a low data volume, I can afford to turn it off and back on; and get a packet/sleep again. IF I went with an esp8266, I would stay away from AP mode and keep it as simple as possible (probably going for rewrite of the programming vs. loading lua code) so that I can control sleep more directly... (figuring the interpretive engine would use more power/time to interpret 4 lua lines vs. raw processor handling a dozen lines)

@MrMark - Sorry about the specs. I think I can get away with a few bytes of data transmitted at low speeds (I can get away with 1 byte; but think I need some sort of identifier & check sum to ensure it's data I am supposed to get and the data is valid) and be sent roughly every 1/2 second. Distance is a couple meters max & is only one way. The sender will constantly loop sending data (which of 3 lines to have open or closed) and the receiver waking/reading/flipping fets on/off/going back to sleep

The antenna I think will not matter much; but will likely be horizontally mounted. Based on what I read; low mhz (315) need bigger antenna but use less power than higher frequencies (915 or 2.4g) which would have smaller antennas but higher power requirements.

Does that new info help with anything?

Just some back of the envelope numbers for a "reference design".

Arduino Mini Pro about 5 mA on, less than 1 mA sleep (reference for numbers)
"Dumb" 315 MHz Rx about 4 mA on, virtually nothing sleep (315MHz ASKOOK Rx)

Using VirtualWire library, something less than 100 bits per message including overhead (preamble, sync, Rx ID, message) at 2k baud, so about 20 packets per second is possible. Rx would have to listen for two packet periods to guarantee 1 packet seen, so 1/10 second powered up + 4/10 seconds low power to get your 1/2 second response time.

Reference design power budget then is 1/5 * 9 mA + 4/5 * 1 mA ~= 3 mA average. That's a starting point and maybe even "good enough". If not you can hack up the Mini Pro as per the first link, get smarter about packet synchronization to cut down listening window, or look at other alternatives.

Aside #1: ESP8266 is an amazing device, but low power in this sense probably isn't it's forte. NRF24L01 might work for you, it's about 15 mA when active, but I'm not clear on how much it needs to be active to meet your timing. It has the advantage over the reference design of being a transceiver solution, so you can confirm that packets have been received.

Aside #2: In specification writing one would get dinged for "The goal is pushing as much battery life out of the receiver as possible" for being an unbounded requirement. Rarely does one have unbounded time and budget and one can never be certain what is possible. “There comes a time in every project when you must shoot the engineers and begin production.”

Re: tiny+RF board - I didn't ever sell them. They were too much work for me to put together for it to give me decent return on my time while providing an attractive price to customers. The fact that you can take a tiny1634 and $3 in parts, and get something functionally identical... I can't compete with that. I'd need to produce in quantity with automated assembly, and there isn't enough demand for it (nor do I really have the capital for that)

Re: ESP8266 - if not using AP mode, they need to be connected to an existing WiFi network. I also don't know whether you can sleep and wake them that quickly, so they might have to be on continually, and as I said, they're power hogs.

A message every half second means almost constant communication.... It sounded like you were talking about a much less frequent message.

daveyjones:
The goal is pushing as much battery life out of the receiver as possible (transmitter will have mains power). It just needs to receive a small (could be as small as 1 byte) to determine which io ports to bring high/low.

Using sleep mode atmegas can have power requirements down to 1uA.

Receiver will be the biggest current draw.

Using an AM superhet is likely to be the best idea in terms of consumption.
I would suggest you look at available receivers first for the lowest consumption.

Then look at ways of waking up the atemega for lowest consumption.

EDIT , mistake , i meant super regenerative receiver.

They can have 2mA requirement
Interference puts up the current requirement although filtering can ameliorate that at a cost of range.

MrMark:
Just some back of the envelope numbers for a "reference design".

Thank you for your thoughts. At least I wasn't far off on my 1/2 second response window...
I will look at the NRF24L01 -- I think I have one here.. at least they are not expensive so they may be worth a try...

MrMark:
Rarely does one have unbounded time and budget and one can never be certain what is possible. “There comes a time in every project when you must shoot the engineers and begin production.”

So true! I have often said "anything is possible given enough time and money" so I should have known better. Thank you being gentle on that point.

DrAzzy:
produce in quantity with automated assembly, and there isn't enough demand for it (nor do I really have the capital for that)

Understood...

DrAzzy:
Re: ESP8266 - if not using AP mode, they need to be connected to an existing WiFi network. I also don't know whether you can sleep and wake them that quickly, so they might have to be on continually, and as I said, they're power hogs.

Ah, that sucks and pushes them out then. I had read something about getting two of them talking; but now I can't find the link; I'm sure it said to put on in AP mode, I just was hopeful it didn't.

Boardburner2:
Using an AM superhet is likely to be the best idea in terms of consumption.
I would suggest you look at available receivers first for the lowest consumption.

Thanks. I will spend some time tonight looking at those options. I assumed that most of the (similar) superhet would all be about the same on power, just packaging and/or colour being the difference.

I feel more focused, thank you al for your continued insights! It is very helpful!

daveyjones:

Re: ESP8266 - if not using AP mode, they need to be connected to an existing WiFi network. I also don't know whether you can sleep and wake them that quickly, so they might have to be on continually, and as I said, they're power hogs.

Ah, that sucks and pushes them out then. I had read something about getting two of them talking; but now I can't find the link; I'm sure it said to put on in AP mode, I just was hopeful it didn't.

If you were to use an ESP8266 network, one of them would be configured as an Access Point (AP mode) and one or more would be configured in Station Mode to join the network anchored by the Access Point node.

That said, without having tried it, I share DrAzzy's concern that the time to re-establish the connection after coming out of low power mode might preclude using low power mode given a 1/2 second message period requirement.

RXB12 (SYN470R based) uses 4mA awake at 3.3v, 3.7 at 5v. There is a sleep pin on the chip, though you'd need to solder a flying lead onto it.

Cheapo's use 4 at 5v, and don't work worth a crap at 3.3.

RXB6 uses 7mA at 5v, and is not spec'ed for 3.3.
RXB8 uses 11mA at 5v.

As I noted, the RXB12 performed better in terms of range in my tests as well.

MrMark:
I share DrAzzy's concern that the time to re-establish the connection after coming out of low power mode might preclude using low power mode given a 1/2 second message period requirement.

after thinking about it more like a web server, I agree, the round trip time wouldn't allow for any real sleep time...

DrAzzy:
RXB12 (SYN470R based) uses 4mA awake at 3.3v, 3.7 at 5v. There is a sleep pin on the chip, though you'd need to solder a flying lead onto it.

As I noted, the RXB12 performed better in terms of range in my tests as well.

Yea, I had a cheap version (green board) here and it didn't work at 3.3v (actually, I couldn't get it to work reliably at 4v either) I'll order up the rxb12 and give that a try. thanks for the tip on the sleep pin! I wouldn't have picked up on that on my own.

Thanks!

daveyjones:
What I can't easily determine is the boards. I know I could build my own and control everything; but I want ot keep this (relatively) simple for others to build.
When I search for low power boards, several come up.

Something like this coupled with a low power receiver would seem to remove the need for an arduino altogether.

I saw a mention of Moteino as a possible platform for your project. I bought some Moteinos for a project, and ended up abandoning them (actually, I rewired them to work with a different library). First, the Moteino Mega is electrically dangerous. I had one on a breadboard, powered by a 3.3v. supply which also was intended to power a rather expensive 320x480 display. When I attached the FTDI programming cable, the Moteino backfed 5 v. to the breadboard. Lucky for me I did not have the display hooked up. As to whether this same problem occurs with a standard Moteino, I don't know.

The other problem, and the reason I rewired mine to work with a different library, is that Felix's library seems to have a terrible aversion to allowing the use of timers with his radios. Every microprocessor I know has timers, and almost all serious applications end up involving them, but Felix explained to me that I must be a dolt because I wanted to use timers in my application.

So I would steer clear of Felix and his Moteino library. Once I rewired his radios, I was able to at least salvage for use with another RFM69 library.

Boardburner2:
Something like this coupled with a low power receiver would seem to remove the need for an arduino altogether.

Interesting -- so skip the arduino, receive the data thru wireless radio of some sort; send whatever comes off the rx line to the chip & the chip turns on/off it's digital lines to mimic the sending digital lines?
That seems simple (which I like) and makes it smaller -- now the problem is what radio module would be recommended for that?

jrdoner:
So I would steer clear of Felix and his Moteino library. Once I rewired his radios, I was able to at least salvage for use with another RFM69 library.

Thanks; it's hard to believe he would be so cavalier about wanting to use something that is basic. I guess his user base is a very specific person. I had mostly written them off as they say "low power" but then getting that info is hard; I think if you're going to claim something like that; you should back it up with the statistics/power usages.

Speaking of power usages.... this is only slightly related. [note: if this is inappropriate for the board, let me know & I'll edit it(hopefully) and remove the comment:

I have been using an oscilloscope to read the power consumption so I can measure down to fine ma. Lately tho, I have used the scope for something else & it's a pain to stop what I'm doing and re-arrange to read current.. (not directly reading it)
This keeps bringing me back to a UCurrent, which are pretty expensive. At one point I had ordered a ucurrent board & all the parts to build it (except the box) (changed mind & emptied the cart), enough for 3 units; which brought me almost to the point of buying a new ucurrent. Since the biggest single expensive is the circuit board.... If I did order hte parts to build 3; would anyone want one for cost (about $40) I wouldn't be making any money; just using it to practice SMD soldering -- I only need 1...

daveyjones:
I have been using an oscilloscope to read the power consumption so I can measure down to fine ma. Lately tho, I have used the scope for something else & it's a pain to stop what I'm doing and re-arrange to read current.. (not directly reading it)
This keeps bringing me back to a UCurrent, which are pretty expensive. At one point I had ordered a ucurrent

Why do you need one ?
These things are good for nano amps.
It is possible to measure microamps with a dmm and resistor.

Or buy a VU meter or similar which can have 50 uA fsd i am told.
Cheap but you have to know how to avoid destroying it.
In arduino world i do not see the need.

daveyjones:
Interesting -- so skip the arduino, receive the data thru wireless radio of some sort; send whatever comes off the rx line to the chip & the chip turns on/off it's digital lines to mimic the sending digital lines?
That seems simple (which I like) and makes it smaller -- now the problem is what radio module would be recommended for that?

http://uk.farnell.com/quasar/qam-rx2/rf-module-receiver-am-super-regen/dp/1304026

If you use the dedicated chip decoder the standby current is 1 uA.
An arduino can have the same current requirement standby but will and have latency for wake up and more current draw when awake,

For a straight on off signal i would suggest a hardware solution.
Either way your biggest current draw will be the receiver.

I recall one which had a 300 uA current standby but cannot find it at the moment.

Boardburner2:
http://uk.farnell.com/quasar/qam-rx2/rf-module-receiver-am-super-regen/dp/1304026

If you use the dedicated chip decoder.

Thanks!! the website lists it as a 5v module, but the data sheet says 4.5 max...looks like it will work; I will order it up; cheap enough to try.