Thursday, August 9, 2012

How to build a DIY perpetually-powered wireless outpost

Earlier this week, I had a mystery box of electronics and was looking for something to do with it. Thanks to Bryan from New Zealand, who asked about creating a wireless farm monitoring outpost…

The idea of a perpetual power supply comes up now and again, mostly in the context of a remote outpost. Naturally, the idea of creating mesh networks in the wild and digital dead drops appeal to my inner Bourne, but that’s a story for a different day.


This project is really broken out into two parts: the perpetual powering, and then doing something useful with the perpetual power.

Perpetual (Self-Replenishing) Power

I found a couple of Mike’s old boat motor batteries, along with some 12V solar panels we had here in the lab. Since the batteries were 24V, I put the solar panels in series. Some back of the envelope math, along with my handy voltmeter, suggested that the solar panels could charge the batteries at about 200 mAH outside in the sun.

For the month of August, here in the Boston area, I get about 13.5 hours of sunlight. That means, each day, I’m storing about +2700 mA per day.


Testing the system that I have in the mystery box (which I’ll get to in a second), I’m burning a low of -75 mAH and a high of –150 mAH. It averages out to be about –100 mAH, or –2400 mA per day, for a net of +300 mA per day.

The massive batteries ensure that things will keep going for a while, even if I’m wrong about how much sun is getting through, and if there happens to be an unexpected volcanic cloud over Boston that day.

The Mystery Box (a.k.a. awesome Pelican case o’ stuff)

I put the batteries in the box, along with a BeagleBoard xM, BeagleJuice 2nd Gen, and BeagleTouch, as well as a couple Arduinos to run sensors.


Mystery Box

The Pelican case itself is designed to be waterproof, although I hacked the neoprene o-ring in the front to run wires out of a single location. For testing purposes, I have a light sensor hooked up to the Arduino, and I have an AT&T 3G setup running from the BeagleBoard, which is sharing that Internet connection over WiFi to create a wireless hotspot. (If you look carefully at the top, I stuffed a wireless router in there as well)

There are three key links here, which each deserve a separate blog post complete with code:

Light Sensor to Arduino
Arduino with Sensor to BeagleBoard
BeagleBoard to 3G (I’ll write a blog about how to do this as well, but Dune made an excellent post, which got me started)

Towards the bottom, I also included a couple USB-powered speakers…  (Oh the possibilities! :-)


Matt helped me dig a hole in the ground to bury the case, and then we ran some of the wires through a PVC contraption we made to mount the solar panels and WiFi antenna. It’s not the neatest thing in the world, but it works.


I’ve built a (mostly) perpetually-powered outpost, using a Pelican case, solar panels, some boat batteries, and an Android-powered BeagleBoard setup that converts a 3G cellular connection into a WiFi hotspot, all while logging and uploading sensor data. Now all I need is a coffee maker, and I’ll basically have Starbucks!

Naturally Mike had a brilliant idea for a light sensor and speakers…after all, what farm outpost would be complete without a rooster’s cockadoodledoo every morning. So I present to you, Mike’s Digital Cock app :-)

Next week, I’ll break out each piece of the project into distinct tutorials, especially the 3G cellular modem + BeagleBoard + Android component, which quite a few folks have been asking about.

What would you do with a remote, perpetually-powered wireless outpost? I’m planning to save this one for Halloween to have a robotic, motion-detecting scarecrow…

Post your thoughts to comments, or get a hold of me on twitter @liquidware, or over email at


Warren Burstein said...

How many charge/discharge cycles are the batteries good for?

Anonymous said...

How did you step down 24V to 5V for powering the Arduino and BeagleBoard?

Justin said...

@Warren great question, I'll have to check. We're talking about 2 different types of batteries here: the boat batteries, and the individual cells on the BeagleJuice 2nd Gen

@Chris I'll post in more detail about this, but basically the BeagleJuice 2 steps down 24V to a regulated, clean 5V output, which is delivered to the Arduino sensors and BeagleBoard/Android setup.