I made this instructable to show how cheap and easy it's become to make a wireless sensor node that requires no batteries! I took advantage of the new BrownDogGadgets Solar USB Charger, a definite buy at only $30 right now:http://www.browndoggadgets.com/collections/solar-c...
This node is based on an arduino, and has plenty of available pins to connect a number of different sensors. I've used it to measure voltage to provide a battery indication on outdoor chargers, air quality, to relay instructions to simple outdoor automation, and piezo noisemakers.
Step 1: YOU WILL NEED
In addition to the solar panel, you will need a:
Nano IO Shield, usually around 5 dollars. originally designed by ITEAD, this is meant for mounting an arduino nano, and plugging in either a nRF24Le1+ module, or a zigbee
nRF24L01+ module, usually around $3.50 each. A 2.4 Ghz Radio module that is controlled by the arduino via SPI
Arduino Nano or clone, usually $9. Available from many places, beware any under $6, they may not be reliable.
Power connection (at the simplest just a USB to Micro cord will do, although you could add a usb lipo charger and connector, like the one from Sparkfun if you wanted to let your sensor node work when the sun is down)
Step 2: The Solar Panel
The BrownDogGadget panel is pretty nice, and produces more than enough power to run the arduino and radio under almost all lighting conditions. (Indoors under only fluorescent lights may not work, in that case the voltage drops down to under 2 volts, which is a little low for the arduino). It also includes a usb port, so your cords will plug right into it.
Step 3: Programming your Arduino
There are a few libraries that make controlling the nRF24 radios pretty easy. I like RadioHead by Mike Payce.
You can download it here:http://www.airspayce.com/mikem/arduino/RadioHead/
As with most arduino libraries, just drag the whole folder into your arduino folder, and you can select the examples and library the next time you open your Arduino IDE.
I suggest starting with something simple, like the basic Client and Server sketches, to get things going. One node will be the Server and the other the Client. You can have as many clients as you want, although the server will eventually get bogged down.
Step 4: The Radio
The nRF24 series is the cheapest radio I've found for arduino projects. xbee modules (which will also fit on the shield), tend to cost 20 dollars or more. the one disadvantage to nrf24s, is that only nordic chips can talk to them, which means you'll need another 24 connecting to each arduino or computer you wish to talk to, but they're so darn cheap, it's hard to go over budget.
nordic also makes nice dongles you can just stick in your usb port if you want to bridge to a laptop or other computer, rather than connect through an arduino.
Step 5: Putting it together
Your Nano plugs into the shield in the middle, and your nrf24 hangs slightly off the bottom edge. This connects their pins, and also breaks out all the arduino's spare inputs nicely into the outer rows of the IO shield. This is when you would connect whatever sensors or actuators you like. The shield can form the core of a simple robot, or just sit quietly on top of something to be monitored, the uses are endless!
Step 6: Power Management
Connecting the Solar panel to the arduino nano is the simplest, as you probably already have the cord.
A little better is connecting a USB to 5v barrel plug to the shield directly, as it has some power conditioning that will protect the arduino, and level out the voltage fluctuations a little bit. This might allow your sensor node to run in lower light.
The best is putting in a battery system of some kind. Most batteries meant to supplement electronics will charge from a usb cord and provide usb ports themselves, so hooking them up inline is easy and just takes one more cord, hooked up one of the two ways noted above.
Step 7: Up and running!
If you're in low light, or indoors at night like me, the simple setup might need a little help (here I'm pressing a lamp against the cell to raise the voltage a bit), but most other conditions, (even overcast worked fine in my tests) everything should just work.
If you have problems, try connecting directly to a computer or wallplug to make sure your issue isn't the arduino or shield. I have occasionally put the arduino in the wrong direction or without all the pins properly seated, try removing and replacing it. The nrf24 has to be firmly seated(those SPI pins are finicky) but expect it to wiggle a little bit, as it's hanging off to the side.
Now you have a simple wireless node, use it to make things controllable, pass along information, or just blink at passerby so long as the sun is up!
For more complicated fun, check out the mesh networking options in
That will let you scatter nodes all over the place, and they'll automatically forward messages for you if two nodes are out of range of each other.
Also check out nrf24l01+ modules with amplifiers and big antennas for truly stunning range (half a mile in open air), for a modes increase in prices (still under 15 dollars, usually).