-
Solar panel
Sanyo 190W photovoltaic panel, made in 2002. Reclaimed from my house rooftop solar installation after an upgrade.
-
Solar charge controller
I used a
Victron MPPT 100/20controller. This is the correct rating for the battery and panel I am using. If you’re using a smaller solar panel you might pick up a much cheaper charge controller. MPPT controllers are much more efficient than PWM ones. A nice feature of the Victron controller is that it has a port which continuously outputs data about incoming solar power and battery charge status. I use this to monitor battery levels and decide when to shutdown or boot my Raspberry Pi computer (see 8). The controller smooths out the incoming solar energy and uses it to charge the battery. It also provides power out connections from the battery it’s charging, so it acts as a central hub in the system. -
Rechargeable Battery
12.8V 10Ah LiFePo4battery.Lithium iron phosphate batteries can be recharged many many more times than a lead acid battery, so they’re more sustainable. They can last up to about 10 years. They don’t catch fire under stress like more lightweight rechargeables (LiPo), so they are relatively safe.
-
DC-DC stepdown converter
This converts the 12.8V (actually over 13V in practice) to a usable voltage for the Raspberry Pi computer. I used a
DFRobot GS2678 DC-DC Converter Module. It can output variable voltages or a fixed 5V. My research suggested that it was best to set it to 5.1V to power the Pi. -
Voltage regulator The 12.8V battery also powers the microcontroller (see 6), but that only requires 3.3V. So we use the 5.1V output from 4) and apply a voltage regulator to bring it down to 3.3V. I used a
LP2950-33LPE3to do this. -
Microcontroller
This is a programmable chip consuming very minimal power, which is used to boot and shutdown the Raspberry Pi. I used an
Atmega328P, which is the chip used in Arduinos, and can be programmed using the Arduino IDE. To reduce power requirements, I just used the chip itself and the minimum additional components to get it running (some capacitors, a crystal, the voltage regulator), rather than an Arduino board. This is known as a bare-bones Arduino. I ran the chip at 8MHz / 3.3V, instead of the standard 16MHz / 5V. This reduces power consumption even further.The microcontroller sends boot and shutdown signals to the Raspberry Pi, but also needs to be set up as part of a small circuit to control the power supplied to the Pi. It cuts off power to the Pi once it has safely shut down, saving battery power. This involves switching a P-Channel MOSFET using a transistor. Setting this up may appear daunting if you are unfamiliar with electronics, but it is actually a very simple circuit. Some soldering is required though. I will share more info about this, and the microcontroller code, in another post.
-
Fuse
The fuse protects the computer from current spikes. I used an automotive 5A fuse.
-
Computer/webserver
I used a
Raspberry Pi 4Bfor my web server. It seems to have a decent balance of low power consumption and processing capacity, and I found one with 4GB RAM second hand.
Costs
| Hardware | Cost |
|---|---|
| Solar panel | Free |
| Solar charge controller | £60 |
| Battery | £28 |
| Stepdown converter | £8.50 |
| Microcontroller | £5 |
| Fuse | £3 |
| Raspberry Pi 4B, 4G RAM | £40 second hand |
| Various electronic components (capacitors, crystal, MOSFET, transistors, resistors, wire, protoboard) | I had most of these already: maybe ~£5 |
| Time | Lots and lots |
| My build TOTAL | £149.50 |
Notes
A similar panel to mine could be picked up on ebay for £20-25.
You could very probably use a smaller solar panel, and therefore a much cheaper charge controller. Many of my choices were dictated by the panel and components I already had to hand.