Hacker News new | past | comments | ask | show | jobs | submit login
We are now Solar Powered (andrewjvpowell.com)
161 points by adriangrigore 70 days ago | hide | past | favorite | 79 comments

Not directly related to solar-powered-servers, but rather power-involved-in-computing ... I have a solar powered van (not the engine, alas), and it has been amazing to understand how a day of my kind of computing (edit/compile/debug cycle with C++) uses more power than the 12VDC refridgerator in the van. The computer is a small custom built direct-to-12VDC miniITX with an i5 processor.

The refridgerator literally has directly observable physical effects on the world - chilled wine! - and yet it uses less power than a device doing symbolic operations all day.

I've got a PowerWall and the Tesla app (which shows up-to-the-second readouts of your home's production & consumption), and it was shocking how little energy refrigerators and freezers use. Apparently it's because they're extremely well insulated; the compressor only needs to go on to adjust to changes in temperature, and if you don't open the door the temperature won't change much.

There were a bunch of other surprises as well. The baseline load of my house is only about 200W (which seemed shockingly low to me, since I was raised in the era of 100W light bulbs), and it includes every laptop, tablet, phone, and battery charger that's plugged in; refrigerator and chest freezer; TVs and home entertainment on standby; nightlights and other small lamps we leave on; clocks & alarms; and everything else that's running continuously. Our gas heating system, however, uses 500W when on; apparently the blower is electric, and twice as much of a current draw as the rest of the baseline load. During the winter this is our biggest electricity expense, despite being "gas". Dishwashers and washing machines are basically rounding error. Household appliances like vacuum cleaners are also surprisingly low-current. Anything with a heating element is a huge draw though (1-2kW), and that includes clothes dryers, electric thermos, Instapot, microwave, oven, and toaster oven. I can tell when my wife is preparing lunch by looking at the Tesla app.

If there's one thing you can do to save energy, it's probably to dry your clothes on a rack outside rather than the clothes dryer. We've got young kids so we do a lot of laundry, but in summertime probably 2/3 of our total energy usage goes to the clothes dryer, and in winter it's split between that and the gas heating.

> If there's one thing you can do to save energy, it's probably to dry your clothes on a rack outside

Here in NM, you can take a load of athletic gear laundry outside to hang up and by the time you're done hanging it, the first items are already dry :) In winter, it takes about twice as long, indoors. So .. yeah.

Dry it inside in summer for the free cooling.

24" of adobe takes care of that here, thank you very much. But yes, for people stuck with homes with climactically inappropriate construction, maybe. OTOH, adding humidity to the inside of your SE USA home in the summer may not seem so attractive.

The added humidity will make it not worth it in most places.

OTOH in Winter you may want the extra humidity.

If you’re in a place where your stuff dries outdoors in 15 minutes, the added humidity indoors won’t be a problem.

One can purchase more efficient clothes dryers which use a heat pump.

They use only about half the energy.

If you want one, head to any shop that sells appliances, and search "heat pump". Mine paid for itself within a year. You can also buy one 2nd hand for faster payback.

If you don't need all of the speed, I'd recommend disabling power boost. My i9 laptop averages ~10-15W with it disabled, compared to the ~20W my fridge uses. Even when maxed out CPU it's only ~40W, compared to ~100W with power boost enabled. That's more than double the power despite only being a modest speed increase!

Given that I spend the day compiling C++ for a project that takes 11 mins to build from scratch, disabling power boost isn't really viable for me.

Unless you live on a very tight power budget (eg. van/boat life off-grid), the power your laptop uses is probably a rounding error with or without power boost.

Besides - power boost only affects usage when actually stressing the CPU, which for most people is rare. Gamers are probably the exception.

Your computer heats air, which is a observable physical effect, though an unintended one ;)

In winter it could be an intended effect.

Quite a few buildings are heated with datacenter waste heat.

I'm notionally on-grid, but DTE's reliability this summer has been so poor, I've had a lot of time on generator and battery to contemplate such things.

Sooooo, this is is one reason I'm trying to move all the crap I host on my Synology, to a Ras Pi with an SSD, so I can shut down the spinning-rust most of the time. If I don't need to bother with a BackUPS because everything I care about runs off an 18650 for several hours, that means I can keep sleeping when the generator runs out of fuel and just restart it whenever my lazy bones want to roll out of bed.

Interested in the custom computer build, care to share some details?

It's a bit old at this point (I'm not working mobile as much as I used to, and tend to use a laptop more often than I used to when on the road).

Anyway, some details and photos back from when I built it (actually I built two, and am using the 2nd one now, after the builtin video on the first died and no more mobos were available)

Also, I seemed to have lied. It was based on an i3. I'm fairly sure you can get mobos in miniITX format for at least i5 and probably i7 at this point.


Some shots showing my van working setup:


Also, turned out that I needed a voltage regulator between my solar DC system and the computer. The picoPSU can only handle up to 14V, but the solar system can sometimes run the voltage at 14.4V, which will shutdown the computer. Such a thing as too much sunshine! :)

It's really crappy that US ISPs block ports. I'm in little New Zealand and have a static IP that allows me to host anything I want.

The "port blocking" may just be a symptom of how the modem connects to the internet, rather than being a malicious act by the ISP. CGNAT is becoming a common way for ISPs to connect consumers to the internet, even here in NZ many ISPs use this. It basically puts a bunch of consumers behind the same NAT interface meaning that port-forwarding no longer works.

He's an Australian, and so am I. His ISP (Optus) doesn't go out their way to block ports.

However, he says he's using a AC800s 4G/LTE modem and backs that up by saying is using mobile data. The default mobile data service from all telco's will use CGNAT and will hand him some address. I presume that's because mobile phones don't run servers as a rule, so no one notices and it saves them a bit of money. They don't deliberately block any particular port, but CGNAT effectively blocks all of them.

He could pay a extra and get mobile data with a static IP Address if he wished. Not from Optus - they discontinued that service (which gives an indication of popular it is), but other virtual carriers based on Optus still offer it. I guess it's not worth the money to him.

Everything supports IPv6 now, and IPv6 happily carries IPv4. Why the telco's are still dicking around with CGNAT and IPv4 is a bit of a mystery.

Depending how v4 over v6 implemented. NAT64/DNS64 don't use CGNAT for v4/v4 (but use v4/v6 NAT, may call proxy), but 464XLAT, MAP-E, and DS-lite is still CGNAT. I prefer v4/v4 CGNAT over NAT64/DNS64 for transparency. Some CGNAT allow to forward port (but on limited range).

I seem to recall hearing somewhere on HN that some ISPs even turn CGNAT on for IPv6 connections (in fact, I'm pretty sure AT&T's LTE has it). I have no idea why, other than people being so used to packets not routing to their local box that they've disabled their firewalls.

The people who made that decision probably went to the same school that told network admins to disable IPv6 on VPN connections.

Even with normal NAT, you have to set up the port-forwarding, and you have to know how to do that.

Also, some routers have a bug¹ whereby even a properly port-forwarded service won't be accessible from within the network. E.g., the port-forwarded service "works", except for you, on your own network. Really frustrating since it means how you connect depends on where you are, and it's a lot of special crap needed to determine "oh, okay, I'm on the home network so use the internal IP"; almost ended up setting up a split-horizon DNS to deal with it².

¹ISPs will tell you that they "lack a feature". Yeah, okay.

²but then we moved and now we have a different monopoly for an ISP.

> Also, some routers have a bug¹ whereby even a properly port-forwarded service won't be accessible from within the network.

i think the missing feature is called hairpinning[0]

[0] https://en.wikipedia.org/wiki/Hairpinning

1) isn't a bug, it is a lack of a feature.

In order to accomplish that you need to double-NAT things because otherwise the internal service will send the reply directly to your computer instead of sending it back to the NAT gateway to reverse the NAT. The router needs to NAT the destination IP for the client and NAT the source IP for the server.

The thing is, 99.9999% of these devices never even have the port forwarding feature touched and an even smaller % of the devices where people enable port forwarding care about this.

Author is in rural Australia, but your point is still valid.

My bad. I tend to assume most of what I read here is from the US.

A webpage, hosted on a Raspberry Pie, still reachable after mentioned on HN #4. Quite impressive, why do we need CDN again?

I also had a site running on a server of a few Watts and didn't have trouble with the HN homepage at #1. And it wasn't static files, it needed multiple mysql queries to build each response. And ran apache and php that, yesterday, some people here were surprised is still in use - yup it's fine and plenty fast. Just don't use wordpress or similar without converting it to static pages (e.g. through caching).

I should also look into solar panels. I don't live where I host anymore (living in Germany now, good uplinks at home are usually impossible or at minimum expensive) so it's a bit more complicated but posts like these are inspiring.

I remember a pinephone hosted website working well under the pressure of the first position on HN. It looks like the secret is really no uneeded data and correctly configured server.

My own blog - running on a solar-powered Raspberry Pi 3b+ was also hugged by HN, but it didn't even sweat. [0]

[0]: https://louwrentius.com/this-blog-is-now-running-on-solar-po...

Nice! I'm amazed I haven't seen your blog before, and you've done a much better job than I did overall. (I'm the author of the article btw) I will have to take some notes...

Thanks, your setup is more true to the concept as my switches, modem and router aren’t powered by solar.

Low tech magazine does link to my blog somewhere, as well as other, similar projects. Maybe they will also include yours!

You have a lot of sun probably so you lead acid battery will work. But lead acid needs to be recharged daily or the battery will deteriorate quickly. For more temperate climates lead acid is not ideal. And lead acid charges too slow for the little bit of sun we may have…

For lower latencies across the globe, intelligent caching, not having to deal with a server, serving heavy content, etc.

Also, solar powered, don't forget!

> But you can never get around 600~ms pings and limited data allowance ...

I'm not sure how that sentence is meant to be parsed, but the NBN Sky Muster Plus packages include unlimited downlink traffic (for everything except streaming video), though of course you're always stuck with satellite latency at ~ 600ms to domestic services ... at least until Starlink saves us all.

Though the Starlink phased arrays apparently consume a fairly consistent 100W, which might kibosh these kinds of cheap and cheerful solar + car battery rigs.

Plus I've not seen what Starlink offers in terms of fixed IP, or at least inbound routing. I can confirm that NBN SMP (as above) while relatively cheap for those of us in the middle of nowhere, does suffer from CGNAT, which makes this kind of self-hosted service infeasible.

Carrier-imposed NAT is a horrible thing, and it isn't clear to me why connections can't be given _at least_ a publicly accessible IPv6 address.

Can confirm that it's truly horrendous.

Since switching to that grade of service I have consistently had captcha challenges every time I go through paypal (despite it saying 'we recognise you on this device...'), my Unifi VPN fails to work, despite following several guides specifically for double NAT (I'll probably end up with wireguard), and most recently my O365 endpoint failed to talk to me, as one of the half-dozen IPv4 addresses they route out of had been marked by Spamhaus.org, which a) is identified a woeful arrangement in itself, and b) took me two days to get rectified by the ISP by switching which address I came out with (a minor change which resulted in a 24 hour total outage).

I did ask about IPv6 - but nothing about that experience screamed 'we're ready to move our customers to IPv6', as you could imagine.

T-Mobile switched from CGNAT to 464XLAT and an IPv6-only network something like 7 years ago

… but I believe they heavily filter the traffic in said IPv6 network, so that the addresses are not reachable

> Though the Starlink phased arrays apparently consume a fairly consistent 100W

Ouch. I hope that's something they can work on with the next version of the ground terminal. Do they at least start up quickly when powered down?

The power consumption is a fundamental part of how phased array antennas work.

You have hundreds of tiny antennas using constructive and destructive interference to steer the signal in software.

This digital aiming is awesome for targeting fast moving objects in low earth orbit. But you lose the huge amplification factor possible with a simple metal dish.

Combine this with the the desire to use higher attenuation frequencies in order to increase throughput and I don't really see Starlink's power consumption going down.

That power budget already represents a pretty big victory, and any gains will probably go to lower unit cost or higher data rates.

Wait, but it already physically moves to track the satellite. Sorry for the stupid question but what is this digital tracking still for? Sending it to within a degree or so is not close enough?

> Wait, but it already physically moves to track the satellite

It doesn't. It moves to be in the same plane as the satellite, but it doesn't actually track the satellite.

The phased array can only track a single line across the sky. The dish moves so that line is parallel with the satellites orbit.

Ah, so if I understand it correctly they (motor and phase array) basically each do one axis?

No, the motor basically aligns the satellite for the optimal phased array 'aim' (and can rotate and tilt the dish).

But after an initial aiming, the motors basically lock in place and the dish stays still. The phased array then tracks individual sats in orbit.

> I'm not sure how that sentence is meant to be parsed…

I think you parsed it correctly - author is saying you can’t get away from 600ms latency and limited bandwidth given where they live.

Aha, okay, that was my initial reading.

NBN (Australia's national broadband system) introduced, via a partner, this Sky Muster Plus offering about two years ago, that includes effectively unmetered plans, so the claim isn't as true as it used to be.

That IS true about Skymuster Plus. It wasn't true when I first set up this mobile/solar internet solution and back then I had to save every gigabyte; admittedly I forgot to mention that in the article. Still, yeah, not much can be done about the ping. I do have hope for Starlink.

Fairy nuff. I only discovered the SMP plans about 8 months ago, but evidently they've been around since ~ 2019-08. Not hugely well advertised to existing customers, unfortunately.

I'm barely hitting 1GB / month of metered content (but doing 300-600gb of unmetered) which is a huge improvement over the similar-priced satellite plans from SkyMesh for 70/70 (peak & off peak) plans, which involved regular usage checks and much fretting over bandwidth utilisation.

What caught my attention the most was the usage of 1-bit images. Clever restrain of resource usage, and interesting in its own right.

Because of dithering, that photo is 50kB, jpeg could easily have the same size and look much better.

Exactly. Dithering creates a lot of noise and PNG is poor choice to compress that.

it's the opposite way round. png is especially good at compressing dithered images.

It's a reduced color palette, (in this case just black and white) so there's lots of repeated sequences. Which works very well with lossless compression.

And yet, a 50kb JPG would look much better.

Dithered images won't be for everyone. I'm sure if I shrunk down a full colour JPEG to a very small size I could have used those rather than my dithered images, but I figure I could have a bit extra size (dimensions) with the dithered images. Also, yeah, I was totally going for the Solar version of Low Tech Magazine's aesthetic too...

This photo kind of looks like a halftone printing scan to me. In case that it actually isn't, maybe that was just the intention.

The main site (https://www.lowtechmagazine.com/ as opposed to https://solar.lowtechmagazine.com/) has normal images (for example https://krisdedecker.typepad.com/.a/6a00e0099229e888330282e1...), so I assume it's a deliberate choice to go with the low-tech aesthetic (while having practical benefits around bandwidth and so on).

> Indeed, as mentioned earlier, these common internet ports are blocked off at ISP level, so no amount of port forwarding in the router will expose our little web server to the internet.

I'd try to work around that limitation using tor: https://golb.hplar.ch/2019/01/expose-server-tor.html

Clients will have to use tor too, but it could be used to complement instead of replacing the current solution.

You could do that, but it would add a lot of latency, and I thought that's what the author was trying to avoid.

On measuring power and system load to correlate them (something the article mentions) - I would hook the Pi up to something that can measure outlet power consumption and report via USB, and then feed that back into the Pi’s own USB port. Metrics can then be collected and stored, and easily analyzed with eg. grafana. I have such a setup with an old watts up meter, telegraf collecting raw data off a custom script that talks to the watts up via usb, Prometheus for data storage and grafana for analysis.

If telegraf/Prometheus are overkill for the Pi, a cron that gets the power measurement and stores in an SQLite database would do the trick. Or one can go even more classical and use rrdtool to store and plot data, which can then be exposed as static files via the existing nginx setup.

Thank you for this, that's really handy info!

> …bit of reverse proxying with Nginx is needed also…

Nginx reverse proxy has capability of caching static assets, does it mean most of the website is actually being served by cloud? So, technically raspberry pie should be consuming power only when cache timesout.

Article author here, your question is actually a really good one as I'm a bit of an Nginx newb and your comment had me wondering that too. However for the past few hours since this article has been shared the hits have gone quite crazy according to the Raspberry Pis access.log, and the Pagekite.py process is constantly around 30-70% CPU usage, implying a heavy load as normally it uses nearly nothing. Does Nginx reverse proxy cache by default? I'm assuming not given my current results.

no it wont do that by default, there would be quite some wild assumptions to be made to make it a default for everything. even if cache behavior would be signaled from upstream servers properly.

Not by default.

This effort seems to be hosted in Australia, there is another similar project (albeit a magazine rather than personal website) that is run from Barcelona: https://solar.lowtechmagazine.com/

It would interesting to see similar efforts but from locations where the sun is less prominent, although I don't know how feasible that would actually be, guess it would depend on the size of the battery installation to avoid the fluctuations. Also projects powered by alternative means (wind and hydro comes to mind) would be awesome to see.

I had a similar setup running for two years day and night in the South of Portugal (also very sunny) without any issues. I used two very old 120W solar panels, a Victron charge controller and a 60Ah deep cycle battery running a 4G Modem/Router/Wifi and a security camera. At the house, which was some 300 meters away, I had a Ubiquiti Nano that connected to the modem and my wired network.

I suspect a 300Ah battery with 600W solar panels would take you through the Winter in the UK and similar latitudes.

He says he was inspired by https://solar.lowtechmagazine.com/.

> An Optus AC800s 4G/LTE modem (actually a Netgear device, just branded by the carrier), connected to two MiMO Yagi antennas,

I have a feeling that the best case / worst case scenario on what powers that remote 4G tower will disappoint a lot of people hoping this is a zero carbon footprint endeavor...

I wonder if the modem also runs Linux, then you could drop the router and RPi and save a bit more power.

Very cool, though I'd imagine you'd have a pretty good chance of success at just sending the power over that 110m ethernet span.

Could, but it should be mentioned that power outages can and do happen where I am, so on a few occasions having this solar setup actually meant even when my house had absolutely no power (and there's no phone signal at the house), we could still have internet connectivity.

Second blog post is about how great Gab is? yikes.

To be fair, after a bit more time on there my opinion on Gab changed a fair bit (not in a good way). And my encouraging people on there was precisely to try prevent it being a massive echo chamber, and I did admire the fact they have withstood pressure by Big Tech and kept their servers alive. Nowadays though I generally am all for self-hosting as much as possible and staying away from these silos.

A gopher server would be really good to save power.

… because no one would use it, so the modem can stay in standby all the time?

(The difference in power consumption for HTTP will be utterly negligible, and the addition of TLS very slight, amounting to no more than a couple of percent in the most extreme and pessimistic cases, according to my vague recollection of TLS CPU usage from some years ago.)

From the site:

> I'm fairly familiar with CSS3 and all the new whizz bang CSS things that I could very well use to make this fancy looking, but I decided to go the simplest route. [...] Also it's basically mobile responsive out of the box.

But then I notice some column layout : https://www.andrewjvpowell.com/#about

How is that responsive? Well, "inpect" reveals flexbox, which is very much modern css.

Still minimalist though.

You're not wrong, but my intention was not so much about not using _any_ CSS3, but more about keeping a basic design that degrades gracefully. Which it does, if you view it in a terminal browser it works totally fine.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact