Very low-power radio modules?

Hi all, My micropower / energy harvesting Arduino variant is almost ready! (Boards being fabricated now). I'd like to implement a very low-power radio shield to take advantage of it. I know Arduino folk seem to use XBee almost exclusively, but it's not ideal for exchanging data between two power-limited devices, since one of them must keep its radio on at all times listening for packets. A TDMA (Time-Division Multiple Access) radio scheme overcomes this by having the sender and receiver "synchronize watches" and only power up their radios to exchange data during brief pre-arranged time slots. It was originally used for covert communications (time + frequency slots hopped according to one-time pads), but the main purpose now is low power consumption, so the "hopping" mechanism can be trivial (timeslots at regular x-per-second intervals and no frequency hopping).

TDMA is surprisingly old (WWII), but I don't know any current open-source implementation of what I'm describing, or too many closed-source ones for that matter. A Google turns up a couple e.g. student projects, but they appear defunct (e.g. Wisenet and/or don't provide specs or source (e.g. ACTIS.

One of the closed-source ones I know of and have worked with in a past (non-Arduino) project is ANT. These are pretty sweet, and deliver what they promise. They'll maintain a continuous low data rate link between two low-power devices directly (no always-listening / router / coordinator nodes in between)... average current of 10s of uA @ 1Hz data rate or so, up to 400-some Hz. The software stack is also fairly simple compared to things like Zigbee and Bluetooth, and the modules/chips can be bought (more or less) off the shelf.

Nevertheless, I have a few nitpicks with these, particularly for Arduino use:

(big) 1) The device is a SPI master*, requiring the host micro to act as the slave. Even assuming a good SPI slave library for Arduino exists (does it?), this sucks up the only hardware SPI port against use for other sensors/etc. (*There is also an RS232 option, but this requires the ANT CPU stay awake always and thus negates some of the low-power advantage.) 2) Closed-source / proprietary... not only that, but AFAICT over half of the bytes it sends over the air are non-payload bytes concerned with commercial protection features, which would be wasted for this community's purposes (e.g. an up to 8-byte "network key" for preventing unauthorized interoperation between devices). 3) No way to change the user payload size (see previous item). The 8-byte user payload is pretty restrictive for mesh networking purposes, where at least 3-5 bytes would be eaten up by protocol overhead (say 1-byte message type, 2-byte originator ID, 2-byte destination ID), even for a simple BATMAN-like protocol.

(small) 1) Host gets waked up and must respond to every message period, whether or not it contained a new/valid message or that message is of interest to this host. (as long as there is already an MSP430 or similar on the radio by necessity, in my dream-world, host can register to receive only new messages and/or messages it is interested in.) 2) No way to adjust sniff duty cycle when searching for peers. During peer search, ideally one could adjust between leaving the radio on continuously listening for packets (fastest pairing time) or polling individual timeslots for a packet "infrequently" / incrementally (avoid excessively loading down weak power sources). (I think ANT does have some duty cycle that's low enough to work with e.g. coincells, but it's not documented or adjustable.) 3) Mildly annoying to obtain in hobbyist quantities. The only distributor of the AP2 modules I know of has a $100 minimum order quantity, and "in stock" availibility has been spotty even then. (Sparkfun carries a design based on the old AP1s, but they are effectively obsolete and more power-hungry than the current crop).

Does anyone have recommendations of comparable low-power wireless devices/projects to look into, especially open-source ones? (If not: anyone interested in starting one? ;-))

How low-power do you need?

If you have RTC (real-time clock) available at each node (for “precision” timing), what about the HopeRF transceivers? They are smaller, lower-cost and probably lower power than the Xbee “expensive spread”.

That’s what I was going to recommend. The guy has done a lot of work on the driver to utilize sleep modes and such for the jeenodes.

Ciao, here are some products I have looked for in the past.

Encoean (founders are, if I remember well, from Siemens) Maximum payload is 14 bytes. Range 300 m (line of sigth)

Coronis Wavenis (now part of Elster Group) There are millions of this radio devices in water meters around the world. This I know directly since I used in a water network project (very good if installed in critical places, better than other that we tested). Range max. 1 km (line of sigth)

This is a new product Toumaz Range max. 100 m (line of sigth)

When will Mosquino be ready? Is it possible to pre.order it?

Ciao, Marco.

Looking a ANT, specifically the ANT3, "The AT3 family products is so-far the lowest power consumption solution of ANT." This uses nordic nRF24L01(+) and pairs it with an MCU. You already have an MCU. Why not just use the nRF24L01 directly?

nRF24L01 (not +) can be in receive mode at 11mA, 900 nA powered down. Presumably the ANT units have their own software to manage when the radio is awake versus when it's sleeping, so you'd have to write that, but it shouldn't be too hard.

Argh, so many not-quite-perfect-but-pretty-darn-good options! I guess my personal preferences would be

1) Open source 2) Lowest power 3) Easy 4) Popular

in "more or less" that order, although not-available-to-hobbyists (or otherwise vaporware) is a dealbreaker.

How low-power do you need?

Zero; ideally it should give power back for every packet it receives ;-) (j/k) Sort of a trick / unanswerable question as it's not for one specific project of mine, but for whatever applications Arduino (Mosquino) users might come up with. As a datapoint though, piezoelectric sources are probably the weakest power source Mosquino currently supports; on a contrived ideal setup (e.g. lab shaker) these might produce 10mW of juice, but maybe 10uW ~ 1mW in a more realistic setting*. 1mW is ~300uA @ 3.3V, but we should save some for the actual sketch too ;). Folks using solar panels will have a lot more leeway.

Looking a ANT, specifically the ANT3, "The AT3 family products is so-far the lowest power consumption solution of ANT." This uses nordic nRF24L01(+) and pairs it with an MCU. You already have an MCU. Why not just use the nRF24L01 directly?

(and similar sentiments from KE7GKP) I think to keep things simpler / manageable for users, it makes sense to offload as much of the cycle-critical timing stuff to a dedicated processor as possible. The efficiency of ATMega+Arduino+C++ vs hand-optimized msp430 code aside, Arduino is about simplicity; what I definitely don't want is the end-user having to worry whether x cycles spent in their own interrupt will break the network or not. From what I understand good TDMA schemes are easy until it's your job to implement them ;-) In particular, dealing with timing drift ('slot sliding') across a multiple hop network gets tricky - a node can tell its neighbor to move its clock forward or back a few ticks, but when that neighbor has other neighbors to bow to, eventually timeslots are drifting into each other.

For ANT specifically, the price difference between the AP2 chips (nRF + 8051 core + stack) and naked nRF24L01+ is about $1.50 (qty:1); for that price I'm OK with letting someone else have that headache ;-)

(*Disclaimer: My day job is at a piezoelectrics company. Ignore any marketing fluff you might have heard about charging your laptop by walking; these are the real numbers!)

When will Mosquino be ready? Is it possible to pre.order it?

Hard to say an exact date, but soon! The (rev2) PCBs went onto DorkbotPDX's batch PCB order a couple days ago; I should be able to build and test one in a couple weeks. Assuming no showstopper bugs, it should be safe for folks to pull the BOM + Gerbers right from the repository and do the same. No hand-building + selling from my basement (I'll probably beg Sparkfun/Adafruit/etc. to distribute them ultimately), but I could see mailing out a small quantity of kits to early adopters - maybe with the couple most difficult components already soldered, and the rest in Digikey bags ;-)

Drmn4ea: For ANT specifically, the price difference between the AP2 chips (nRF + 8051 core + stack) and naked nRF24L01+ is about $1.50 (qty:1); for that price I'm OK with letting someone else have that headache ;-)

All true. But you give up your #1 pri, open source.:)

Very true. What I mean to say is that I think moving the cycle-accurate nitty gritty off the Arduino, and not having to make it coexist with arbitrary user code, is well worth the cost of a 2nd microcontroller (be it running open or closed code). I'm still holding out hope that there is a live community project out there to put a dedicated TDMA engine on msp430 or similar, but I guess it is probably not a firm requirement as far as most end users are concerned (XBee's firmware is proprietary too). I had a look at the JeeNode / RFM12 library mentioned above, but unless I'm looking at the wrong thing, it sounds like it still involves a lot of software polling to keep various state machines going, and expects(?) an always-on coordinator node somewhere. Unless there is a new development I haven't seen!

Have you taken a look at this: and this receiver shield:

It is open source, very low power and easy. Also cheap. The transmitter node does not do exactly what you are looking for, I suspect, but that should be easy enough to fix. (As alluded by Drmn4ea, it uses an AtTiny)


for protocol jennet-ip will be opensource by end of the year.

for low low power TI CC112x family seems promising.

Ciao, Marco.

@Magicmike: alas, that project also relies on the receiving radio being active all the time. What I'm looking for is to allow a micropower device to talk to another micropower device (or many) by leaving both the transmitter's and receiver's radios off for 99.99% of the time.

@Marco: JenNet sounds interesting. I didn't see any download links though. Is it released already or is this a future product? (or vaporware ;) ) How do you know it will be open-sourced?


from what I see NXP Semiconductors is still integrating Jennic in NXP products line (they announced Jennic acquisition end of July 2010).

Here the announce by NXP "... Announces plans to release low-power wireless networking software under an Open Source license ..."

It should be available by Q4 2011.

Here some software related link

Also Texas Instruments SimpliciTI is open source, if I remember well.

There are also this modules based on ATmega128RFA1. Few time ago I read about a porting og the Arduino bootloader to ATmega128RFA1.

Ciao, Marco.


I am working on a low powered wireless sensor node and looking for a low powered radio to use too.
I am wanting to power the nodes with a CR2032 coin battery. I am also wanting to keep the nodes low cost and small.

I have been using the the nRF24L01+ so far and created a basic meshing protocol that works but the power consumption is a killer. I use interrupts to wake the processor from sleep then it receives data and process it but having the radio powered in RX mode draws about 13.5mAh. If I power down the radio I can get battery life measured in weeks but loose the ability to mesh and loose the ability of being able to send data to the node while it is sleeping.

If I set the node to check in with a server for messages and keep the radio powered down all other times I can get longer battery life but waste power on the radio doing checkins and loose the real time abilities (needed for meshing).
Another idea I had was if I synchronize the network into time slots to RX/TX but would need to add a RTC and would also make it hard for realtime radio comms.

Below are my power consumptions
Sleepmode = <0.1mAh (8secs)
Awake = <0.3mAh (<100ms)
Radio idle(RX) = 13.5mAh
Radio TX = 15mAh (<100ms)

I did find this radio that power consumption of 2mAh @1.8v but could not find a supplier and only limited information

Does anyone know of any other ultra low powered radios I could try?