The Walden Effect: Homesteading Year 5. Farming, simple living, permaculture, and invention.

Homestead Blog


Homesteading Tags

Recent Comments

Blog Archive

User Pages


About Us

Submission guidelines


freedombox for a solar powered house

I'm swinging on the front porch shade, with happy wifi bars lit up on my laptop. A good network makes for a happy home, isn't that how the saying goes? (Maybe not yet.)

Typically that's easy to achieve -- here it wasn't. The house is solar powered, the only connection to the outside is a phone line. So I needed a computer that would work in that environment, using minimal (12 volt) power, and getting the most out of the limited dialup bandwidth while providing those happy wifi bars.

Tecchies have been building little servers like this for years, to be used in our homes and the homes of family. We've only recently came up with a name for them -- "FreedomBox". Expect to hear more about FreedomBoxes soon.

All right then, here's my latest FreedomBox build. Some of its parts are recycled from a FreedomBox I set up years ago when Anna and Mark were just getting started at their farm, and were on dialup.

  • Computer: Linksys NSLU2. There are faster choices than the "Slug", but on dialup, speed doesn't much matter, and there are not many lower-powered choices. And with the NSLU2, I can take advantage of years of development and experience, that has resulted in great support for running eg, Debian on it, and deep available knowledge of hardware hacks. It's proven, cheap, highly reliable hardware, and I had it lying around.
  • Power: The NSLU2 is a 5 volt computer. There are some highly (90%) efficient 12 volt to 5 volt converters, which I covet. But the cheap and easy option is a automotive USB power adapter. So power is coming in to the NSLU2 on a USB cable. It's possible to just plug that into its usb port and it will run. But that wastes a port. Instead, I made the other end of the usb cable have a NSLU2 power socket on it. So, no wasted ports. The system has available as many amps as the voltage converter supplies. Not many. Booting it with too many usb gadgets attached could be an issue. (If I need to run an external usb hard drive, it had better have its own power supply.)
  • Wireless: ZyDAS 2501 USB dongle. Not my first choice, just one I had lying around. This device cannot run in AP mode. It is, by the way, possible to use some USB dongles in AP mode with a modified hostapd, but the few I know that work are out of stock. No problem; this house won't have many visitors, and I can tell them the details for connecting using Ad-Hoc wireless mode.
  • Storage: 64 gb thumb drive I had lying around. Hmm, last time I touched a NSLU2, I had only 1 gb drives lying around. Progress.
  • Modem: My NSLU2 is modified to have an external serial port, so I can use an external modem if desired. But I suspect a USB modem will use slightly less power, even though this third USB device means I need a USB hub too. I was doubtful about finding a USB modem dongle that works with Linux, but it was actually no problem, the USR5637 Just Works.
  • Software: Debian Linux. For the first time I'm using the polipo web proxy cache, and it works marvelously on dialup and on this low-spec system. Combined with dnsmasq, this makes web browsing over dialup actually not painful.
Solar charge controller mounted in the kitchen

(This guest post was previously posted on my blog.)

Want to be notified when new comments are posted on this page? Click on the RSS button after you add a comment to subscribe to the comment feed, or simply check the box beside "email replies to me" while writing your comment.

Interesting setup! I suppose you've set up a cron job to dial up and cache the sites you want to read every day overnight?

I've been thinking to replace my desktop with a somewhat more quiet and and less energy-hungry system when it dies. Maybe even atom-based. Wrt CPU power my laptop would probably do fine for a lot less power consumption. But I kind of like my dual big disk setup for automatic backup purposes and I want to keep that. A single harddisk is just not reliable enough IMO. And I like to be able to pick and choose components so it will run FreeBSD flawlessly.

Comment by Roland_Smith Wed Sep 22 14:53:19 2010
Energy efficiency factored highly into my decision to get a laptop (although now that I have one, I can't imagine not being able to go outside and sit under the peach tree with my computer.) You're right, though --- I should do better backups. (And Joey's laptop is way more efficient than mine --- I like full size keyboards, so my bigger screen draws around twice as much juice as Joey's!)
Comment by anna Wed Sep 22 17:50:16 2010

Get an external USB connected disk that is as least as big as the harddisk in your laptop. That's the most convenient way of making backups these days.

For UNIX-like systems like Linux, I recommend rsync for simple backups. For windows, I'd recommend DirSync Pro. Both are free.

If you also want to use the external disk as an archive and retain files you delete from the laptop, it is slightly more complicated and it depends on what exactly you want to achieve. But it is certainly doable.

My rule of thumb is to keep at least two copies of a file on different harddisks. Especially for irreplacable data like photos.

On my computers (which all run the FreeBSD UNIX variant) I keep the files in important directories under revision control with git (other systems would work just as well). This enables me to track the history of all files in those directories. Very handy if you delete or change something by accident.

Comment by Roland_Smith Wed Sep 22 18:10:20 2010

We run Debian Linux here (and windows, when I absolutely must boot over there to do some video editing --- if you know of any good video editing software that runs on linux, you'd make Mark a happy camper and cut down on my chocolate consumption.)

How much would a USB connected disk cost, ball park estimate? I should probably just get my act together and get one for both Mark and me. I've used rsync, although I needed a bit of help from Joey, as I recall. I was just backing up my computer to Joey's server somewhere in Europe until I got all photo crazy. :-) I liked the idea of having the backup on a different continent...

Comment by anna Wed Sep 22 18:17:40 2010

I would be curious to hear what you think of the above method of power harvesting and if it might be an option for you at your new location?

Comment by mark Wed Sep 22 18:33:06 2010
When the phone company installed fiber optic lines, not only did we lose this source, but now we have to give the phone company electricity to keep their system alive inside our house.
Comment by Errol Thu Sep 23 10:40:26 2010

Looking at the newegg and amazon, it seems you can get around 200-300 GiB disks for around $50. The terabyte models are more expensive starting around $100.

But if you have data that you consider priceless, the cost of the backup medium should not be your main concern!

Generally, I would advise to get two equal sized disks. One should be stored at home, and one at another location. Swap them every other week or so. You should both back up your data to both drives. So you'll have at least two spare copies.

Sometimes an external disk without power supply cannot get enough power from the USB port to work properly. Wether that is the computer manufacturer not meeting the USB spec or the drive manufacturer exceeding it I cannot tell. Models with external power supplies will not have that problem, so i tend to use those.

I bought a couple of empty enclosures and some 3.5" western digital raid edition disks to put in them. At that time that was all that was available. They've served me well. Of course they are spun up only about once every week, so they're not intensively used. I don't have sufficient data to have an opinion about the reliability of different brands of harddisks or 3.5" versus 2.5".

On the software side I use rsync(1) to back up my home directory (which is on a separate partition), and dump(8) to back up my system partitions. This is all described in detail on my webpage. One thing to note is that to the best of my knowledge, Linux didn't have a working dump command for ext2 filesystems, so you'll have to use e.g. tar(1) instead.

For safeguarding in case to theft, I use on-disk encryption. This is invisible as long as the filesystem is mounted; you can read and write your files normally. But on the disk the data is encrypted and you'll have to supply a key or passphrase to mount it. I use FreeBSD's geli(8). I understand that LUKS is more or less the Linux equivalent. There are other options as well.

Comment by Roland_Smith Thu Sep 23 14:18:56 2010

Have a look at this list. Personally I don't do a lot of video editing. I've got enough time-sinks as it is. :-) But I think most of these programs tend to use a lot of memory and disk space.

For simple cutting and re-assembling and powerful re-encoding into different and smaller formats (films coming from a camera tend to use quite basic and inefficient codecs) I tend to use mencoder (for e.g.H.264 format in an AVI container) or ffmpeg2theora to encode into Ogg Theora video and Ogg Vorbis audio and mkvtoolnix to wrap it in a matroŇ°ka container (see e.g. here).

I'm curious about the chocolate connection, though?

Comment by Roland_Smith Thu Sep 23 14:42:55 2010

I have to drug myself to boot over to Windows... :-)

I'll take a look at that list. We've tried out a couple of different Linux video editing programs and none of them gave me all of the functionality I wanted, unfortunately.

Thanks for the hints on backups too! That'll be helpful once I finally get around to doing some research.

Comment by anna Thu Sep 23 14:51:13 2010

Wow, more interest than I expected. Y'all are a very technical crowd. :)

@Roland: If I were using this on the grid, I would indeed have cron jobs to download web pages etc at night. On solar power, that doesn't make sense. I don't run the computer all the time. It's best to confine non-critical power usage to daytime sunny days when possible, since power then is essentially free and won't run down the batteries. Although a cron job running shortly after sunrise, when I'm still asleep, would perhaps work well.

But I have yet to find a power-cheap way to turn the computer on at a specific time, let alone at sunrise. I'm interested in the possibility of a low-power circuit with a light sensor and clock to periodically turn on the computer when power was cheap. My other use-case: To hook up a webcam to the computer, and use it to watch the display of my solar charge controller, periodically turning on and uploading a reading so I can keep tabs on the batteries while I am away...

@anna: External USB disks are absurdly cheap now. Get a terabyte for $80 or $90, and you'll basically never fill it with normal usage. I find the WD Passport drives are handy; they're small, quiet, run without an extra power supply, and can be spun down while connected to save power (many USB drives cannot). Ask to see mine next time I've over. I personally think you and Mark should have a small server like the one I describe in this article and just have the laptops send backups to it. I have a spare NSLU2..

@mark: I can't see the video right now, but I imagine it has to do with parasiting over the current available from phone lines. I researched that briefly before, and the amperage is so limited (at least, it is when the phone is not ringing!) you really can't do much useful with it. You could power a small LED light or something. I haven't run the numbers, but available power via the phone line over a full day is probably on the order of the power produced by my solar panels in 10 minutes.

Comment by joey Thu Sep 23 15:58:56 2010

Do you know how much power your NSLU2 is using? If you run the root filesystem off a flash card and only put your homedir on a disk that can spin down, it shouldn't use that much. According to this page, it only uses about 4W!

By the time you've built a timer and light switch electronics complete with the relay to power up the computer, I think you might be looking at a power budget on the same order of the computer itself. Especially if the electronics don't run at your house voltage and you have to use a convertor. But don't take my word for it, look at the specs for timer circuits on the web. Some simple timers I found required between 1.2W and 3.6W for the circuits themselves, not counting any voltage converters.

It seems to me it would make more sense to use the computer to control and monitor stuff. E.g. log the voltage from the batteries/converter using a DAC, and perhaps other things you're interested in. There are lots of interesting USB connected measuring devices available these days.

These days it's much more flexible, easier and upgradable to do nifty things in software than in hardware. Older machines at work are all driven by relay controls where the logic is hardcoded into the circuits. Modern machines tend to have PLC or even embedded PC's as controllers.

Comment by Roland_Smith Thu Sep 23 17:02:15 2010
I love the idea of a server backup! That would prevent me from having to remember to plug in the external backup and run a command, wouldn't it? We all know the less I have to remember, the better....
Comment by anna Thu Sep 23 18:53:48 2010

They are quite handy once you have everything set up. But that is were the work is. There are a lot of aspects and trade-offs to think of wrt privacy, correctness and robustness.

E.g. you probably don't want other people to read your data on the server. That means solid authentication. If your laptop gets stolen, presumably you don't want the thief to be able to access the server. So you you cannot store the authentication keys completely on the laptop. You'll have to make a program pop up and ask you for a password to syncronize with the server.

Unless you don't care that others can read your data, you'll want encryption both on disk and in transit. The latter especially when you're using wireless or backing up over the internet. The keys for that encrpytion should be regularly and automatically changed in case one is compromised.

You also want to make it robust. What if the connection is lost halfway through the backup? When the connection is restored, the backup software needs to restart and be able to recognize the situation and perform any necessary clean-up.

If you want to be able to retrieve earlier versions of a file on the server, you'll have to add a revision control system to the mix.

All of this is doable. But it takes considerable time and energy to set up and to make it foolproof and to maintain it. You might not want to do this yourself (or even foist it off on your brother :-) )

A long time *BSD hacker named Colin Percival has created an online backup service called tarsnap. You might want to think about using that. Even if that doesn't suit you, you can read about the non-trivial design desicions that went into the system.

Comment by Roland_Smith Fri Sep 24 13:26:38 2010

I have great confidence that Joey can pull it off --- he is, after all, such a big name in computer programming circles that my geeky friends had already heard of him when I went to college. (I'd never consider trying to set it up myself.)

Luckily, privacy is not all that much of a concern. I don't keep anything sensitive on my computer, and the nearest house (and road) is half a mile a way, well out of wireless range with all of our trees. I don't think a server would be any more prone to be hacked from elsewhere than my computer, with the wireless problem aside.

Comment by anna Fri Sep 24 13:34:56 2010
I hope my NSLU2 is using less than 4 watts. I don't have the overhead of conversion from AC, nor does it have any hard drive. With a Murata 78SR regulator, a NSLU2 has been measured at 2.9 Watts. My converter is likely less efficient though. Yes, that is very low for a general purpose computer. (To put this in a less technical perspective, people have successfully run a NSLU2 for half an hour off of four AA batteries!) Maybe I will have enough power to leave it on full time. It will be interesting to find out.
Comment by joey Fri Sep 24 15:55:56 2010

One very unique homestead, $1,500 per acre, the opportunity of a lifetime