Codementor Events

Solar powered microservers for a post-hurricane Maria Puerto Rico

Published May 09, 2018

As you have probably read already, less than a year ago Puerto Rico experienced one of the worst natural disasters in recorded history. The situation after hurricane Maria has been compounded by an already deficient energy infrastructure. Frequent blackouts are now a common occurrence of daily life.

Blackouts are not just annoying, but cause a series of problems impacting almost all aspects of modern life. Being a technology worker, blackouts directly impact my bottom line and my primary source of income.

After months in the dark, I took the plunge an built a small solar power system. To make use of solar energy it is very common to use a voltage inverter to boost the 12 volts DC produced by the solar panels and stored by the batteries to 120 volts AC which is what most electronic devices use. Using an inverter introduces some conversion losses in the system. In order to minimize these losses, I started converting as many devices as I could to work with 12 volts DC. This way they could be operated directly from the solar system batteries. It was time to start migrating my tools of work to it too.

One of the systems I need for my daily work are computers and servers. I have some hosted on the cloud and other locally. Constant power outages mean a lot of the charge in my solar system batteries is being wasted keeping the servers and computers working. There had to be a better way to keep equipment I needed running and optimize their electricity use.

Instead of a few larger computers, I decided to start scaling down the devices I used. More devices meant I could spread the services among them.

Single board computers or SBCs are all very common now with a big variety to choose from. These SBCs are usually powered by USB so they already work with DC current. On my favorite single board computers is the ODROID C2. The ODROID C2 is open hardware, is produced by a responsible company, it’s well documented and, and it is very well supported. The ODROID C2 has a 64-bit quad-core ARM CPU, 2 GB of RAM, and support eMMC for storage. It is one of the most powerful SBCs in the market in its price range. With this in mind, I set out to convert some of my existing ODROID and SBCs to replace the common servers and computers I normally use.


The common plastic and 3D printed enclosures for these SBCs are not enough to protect them and don’t leave any space for additional components. Aluminum enclosures are a much better choice.


ODROID C2 with power on indicator and button. The switch is not connected to anything and left for future use (maybe via GPIO). Power indicator soldered to heartbeat LED on the board.


Power cable. JST plug goes to the voltage converter inside the aluminum box. All cable bonds are protected with heat-shrink tubing.


An Anderson connector goes on the outside of the cable. First crimped then a bit of solder applied for best conductivity.


Testing for continuity. Some heat-shrink tubbing to work as strain support.


Odroid mounted using brass standoffs. The residue is from double-sided tape from a previous attempt.


The serial console and power plugs were replaced.


Voltage converter mounted with double-sided tape. The converter takes the 12 volts from the solar system and reduces it to 5 volts. This particular converter can supply 3 amps continuously.


Everything mounted and all cabled tied properly.


ESP8266 (ESP-01) programmed to work as a WiFi to serial console bridge. This will allow access to the console of the ODROID even if communications fail. Perfect for debugging and management.


Box all closed up. The holes for the USB, network connector and the power button were cut by hand and there was some scuffing. This can be avoided using painters tape or with better tools like a CNC or a bench drill.


The ODROID C2 support eMMC storage and this one has a 16 GB card which is used for system files. For storage and external SSD SATA hard drive is used with a SATA to USB adapter. The ODROID’s USB ports are USB 2. This means that the access to the storage will not the ultra fast but it is adequate for the work this box will perform.


The microserver placed next to the solar system charge controller and connected to the Anderson power distribution box.


Mayan EDMS 3.0 beta 1 on a solar powered ODROID C2.


Pi-hole running the ODROID C2 for ad, malware and phishing blocking. Improves use of our limited connectivity port hurricane Maria.


Docker running the PostgreSQL container for the Mayan EDMS installation among others.

This microserver is running Mayan EDMS 3.0 beta, it is also working as a file server, a database server, a Docker host, a network firewall and intrusion detection. Because it is now solar powered I can have access to all these services 24 hours a day, 7 days a week. Since my network connection and WiFi router were already converted to be powered by the solar system, I can also access this server remotely any time of the day with no worries about it losing power.

Because my solar power system is configured to work using 12 volts, the microserver should work with any other 12 volt system, even with a car battery using a cigarette lighter adapter or a direct connection.

One last benefit of the solar-powered microserver is that in case of an emergency evacuation I can just unplug it and toss it on a bug-out bag and still have all our important documents and our work safe with us.

Discover and read more posts from Roberto Rosario
get started