A Solar System for Silar’s Orphanage, Port Au Prince Haiti

soraSora Edwards-Thro, a college freshman, used her 2014 Christmas break to install a solar system which she designed, funded, purchased, and installed.  60 full time residents, and perhaps 200 additional day students will benefit from 24/7 access to “Internet In a Box” wikipedia, and various online resources provided by 3G internet access which she installed. These instructional resources are now available via 20 XO laptops, which can now be charged by  via her new solar system, and a low voltage distribution system which she manufactured on site.

For additional information, and a case study of all facets of a successful solar installation see: https://schoolserver.wordpress.com/power/solar-power-for-silars-orphanage-a-case-study/

Posted in Uncategorized | Leave a comment

Current Monitor Progress Report — 2/16/2014

11110335924_08f672ee7f_zAt the OLPC summit in late October 2013, I gave a demonstration of an Arduino based current monitor.  At the time, I was more excited about the schoolserver on the trimslice which was streaming Internet In A Box to a portable LED battery powered projector.

Arduino with Battery Monitor  Shield (trimslice in background)

Arduino with Battery Monitor
Shield (trimslice in background)

But in retrospect, I’m thinking that the battery monitor, which I also was demonstrating at the Summit, is more needed in the developing world.

My Surface Mount Arduino Including Current Monitor

My Surface Mount Arduino
Including Current Monitor

During the December holidays, I started thinking about the XOduino that Scott Ananian designed which had a total parts cost of $10 or so (surface mount parts are cheap).  I dreamed that if the battery monitor circuit could be added  to his design, for a total parts cost less than $20, the product could be sold for $60-90, at an attractive price point.  It was a learning experience to start from Scott’s circuit board design, using Cadsoft’s Eagle circuit board design tool, stripping off all the unwanted parts, an adding those needed for current monitoring.

It turns out, for me, that soldring the CPU (44 pins) was infinitely easier than resistor networks with only 8 pins.  I concluded that hand soldering was not really an option (I was thinking cottage industry in Haiti).

So I reset my thinking. At about the same time I noticed that Amazon had Arduino Leonardo knock offs available for $13 (see knockoff Leonardo). Of course I ordered 2. And I discovered that they would be shipped from Hong Kong, and would arrive in a month. But if these boards turn out to function adequately,  the standard Arduino, with a shield, composed with through hole parts, seems like a better solution.

Through hole design

Through hole design

On Feb 13, I submitted a through hole design to the printed circuit fabrication shop I like (oshpark.com). This company gives about 15 day turn around on 3 boards for $30. The plated through holes make it so much easier to put together a functioning prototype. Otherwise I have to solder on both sides of the board at the critical pads where current must transfer from one side to the other (really hard underneath connectors).

The schematic for this Arduino Shield: current_monitor_v2. The design documentation from which I drew inspiration can be found in this application note.
Many battery experts believe that the life of lead acid batteries can be greatly extended by using very short pulses of high current. This circuit, called a “desulfator” is inspired by this reference at http://fucimin.altervista.org/desulf/desulfator.pdf. I am just about to have a circuit board built for this circuit:  battery-nurse as a companion for the Arduino shield mentioned in the previous paragraph.

Posted in Uncategorized | Leave a comment

School Server Realities

During a nine day visit to Haiti Jan 20-29, the difficulties of providing power, and the realities of my poor planning and judgement, hit home.  When I visited Haiti in March, and Sept, I  installed two school servers with 12 volt lead acid batteries supplying the energy during the frequent power outages.

Silar's Orphanage

Silar’s Orphanage

During my January visit, I discovered that both batteries were completely discharged.  This is a condition which can lead to battery failure within a few months. In March, at Silar’s, I installed a 15 Amp charger. At Mission of Hope, there was a charger available, which I agreed to, which turns out to be a 1.2 Amp intelligent charger manufactured by Black and Decker.

The Chargers

15 Amp Smart Charger

15 Amp Smart Charger

When I arrived at Silar’s the power was on, and the charger capable of  charging at a 15 Amp rate, was only providing 8 Amps.  This indicates that the chemical activity of the lead plates has already been degraded, and may require special charging to recover.

It turns out that when we asked a kid at Silar’s orphanage to log the power start/stop times, the average on-time of the city grid is 1-2 hour per day, with a gap of two days with no power at all.

1.2 amp smart charger Totally inadequate!

1.2 amp smart charger
Totally inadequate!

At Mission Of Hope International, it was my poor judgement, which created the problem. I did not insist on the purchase of an adequate charger to accompany the newly installed battery back in September, when we installed the battery.  The 1.2 Amp charging rate  of the charger is completely inadequate for supplying a school server which is drawing .5 Amps on a continuous basis. With the battery completely discharged, it would take 230 hours to reach full charge, assuming that the power was on full time, and that the charger actually worked. Neither are true.

There may be solutions at both Silar’s, and at Mission of Hope.  We probably should install some solar panels and a charge controller at Silar’s.  The total charge capacity at Silar’s is 2700 Watt Hours. If we use half of that, 1350 watt Hours are necessary.  With a seven hour day, a 200 watt panel would just barely be adequate. I’ve never seen 100 watts from a 100 Watt panel. And Silar wants to have some power for light in the evening.

At Mission of Hope, I contributed $200 towards the purchase of a 10Amp charger from a local (Home Depot like) supplier. The local administrator purchased a 20 Amp charger for $100.  He was not able to confirm that the charger that he bought was “smart”, and would not overcharge (and thereby destroy) the battery. Time will tell!

Both of these deployments emphasized for me how useful it will be to have a battery monitor (see https://schoolserver.wordpress.com/power/a-battery-tender-for-the-school-server/).

Posted in Uncategorized | Leave a comment

Raspberry Pi As an OLPC Classroom Projector

When I was a high school teacher, I used films from the County education department to make the geography books I was teaching more concrete, and sometimes just to babysit the class, when I was overworked, or nearing the end of a school year.

I believe similar motivations would motivate teachers in the developing world, if there was available  a turnkey solution, and a means for acquiring appropriate Audio Visual materials. The Raspberry Pi, integrated with the school server,  can fulfill this need. What would it take?

11110287615_a1e1c02846_zAt the OLPC Summit, in late October, 2013, I demonstrated a battery powered Raspberry Pi projector, receiving Khan academy video over wifi from a Trimslice school server. The Khan academy videos were contained in the Internet In a Box, which is a collection of free material on the 1 Terabyte hard drive in the Trimslice.

The picnic basket contained the Raspberry Pi with a tiny wifi USB dongle, the sealed lead acid battery, and the 20 watt LED projector (the horizontal package sticking up above the wire basket), and all the wires coiled up that connected everything.

This $300 projector creates a 1024×800 image that has pretty good definition, but really requires a fairly dark room to be seen by a large number of students.  My experience is that often the classrooms in Haiti are naturally pretty dark, but if they do happen to have large windows that let in a lot of light, there usually are no curtains handy. It’s a problem that would need some attention.  But the $400 for the projector, and the $300 for the schoolserver would be the primary stumbling block — not even mentioning the lack of enough power to charge the batteries.

Posted in Uncategorized | Leave a comment

Revisit to Silar’s Orphanage 6 Months after School Server Install

wtstelzer-IMG_0039This picture shows Adam, and me working together on the installation of the XO4 as the new school server.  I was in New York city, and talking to Adam via skype on his laptop. And I was also connected remotely to the server itself by way of the USB 3G modem (white USB on right side of screen), and openvpn.

My visit to Silar’s Orphanage, was a hurried, 4 hour affair. But I had a lot of reactions, positive and negative.

  • Some of the kids have done some amazing work.
  • It’s a problem to try to introduce a new feature like Internet In A Box without testing it on the OS and hardware that is already in the field.
  • The batteries we installed in March are not being charged enough, or they are being used too much, and we can expect premature failure. (I was not able to determine if they are failing already).

map The original objective was to replace the XO1.75 hardware with a XO4 running more recent XSCE software, and to add the Internet In A Box (IIAB).  Adam discovered, when he arrived at Silar’s earlier in the week, that the version of the Operating System (11.3.1) did not display IIAB maps, and handled the 34 PDF creole language books we added to the web server very poorly. IIAB, shown here, works perfectly on my Macbook Pro!

So we wanted to upgrade the OS to 12.1.0. But we were very reluctant to just wipe out the kids work. So we did the first part of the upgrade. We got developer keys for all the machines, and permanently disabled security for each of them.  (This was necessary because the new Tiny Core linux customization process does not work when security is enabled).

A number of students were eager to upgrade their machines.  We tried to explain that they needed to save their most valuable work to a USB key, so that it could be restored, once the OS upgrade had occurred. We saw some fantastic stuff.

We demonstrated the upgrade process. The kids pushed forward, wanting to upgrade their own laptops. Unfortunately the files on the gnome side, which the more advanced kids seemed to prefer, did not get transferred to the USB stick successfully.

The plus side is that some stuff was saved. See   http://flickr.com/tiayiti/sets/72157635396971821  And we didn’t come in and wipe stuff out, without some preparation, and warning. The down side is that some valuable work was lost.  The architectural-quality drawings on the Gnome side were sadly lost in the kids’ (largely self-imposed, but still foolish) rush to upgrade

In the end, only 5 of the 20 laptops were upgraded.  With the additional three we brought, only 8 of 23 will work well with the new server capabilities. We hope that Junior, the local teacher, can help the other students save their work more successfully, before those laptops are upgraded.

Posted in Uncategorized | 1 Comment

My First School Server Deployment

IMG_2327Silar’s orphanage in Port Au Prince, Haiti, usually has power once a day, often in the time between 12pm to 6 or 7am. In this context, it seemed necessary to have some sort of battery system, for the server, and for charging the 20 XO laptops in the middle of the day. So AC power issues turned out to be a gating issue during this trip to Haiti, just as it was last time I was here.

Adam and I had a budget of about $500 to buy batteries, inverter, and battery charger. We had to find out what was available in the local stores. It turned out that the total cost turned out to be closer to $600.

The inverter shown below was mounted on the left hand wall, but in not shown well in the picture of the batteries.


The electrical wiring for Silar’s orphanage, worked, but didn’t appear very safe. Bare stranded wire was inserted in unmounted electrical receptacles to power a small radio, because the plug was missing.

So I made some effort to make everything a little safer, by installing outlets in electrical boxes, and adding a changeover switch, for the weekly use of the generator during the church service on Sunday (upper right behind wire basket).

Note 3G modem top right

Note 3G modem top right

The SchoolServer installation was mounted right above the battery array, in a wire basket I had brought with me when I thought it would include an external USB disk. (hard disks don’t like being dangled from USB cable).

It turned out that the hard disk I had with me, occasionally would flip into read only mode, and could only be restored for log files, etc, by doing a reboot.  Since reliability was a major objective, Adam and I decided to use an SD card as hard disk instead, and the wire basked might have been overkill.  But it nicely contains the access point, power strip, and XO as a single package that can be taken off the wall, and manipulated as a single unit. (nylon ties hold everything in place)

It’s been 5 days since the school server was installed. The 3G modem, and the openvnp connection appear to have been functioning about 50 hours, or averaging 10 hours per day. I’ve been tweaking the scripts to maximize uptime, but I still have not found a way to simulate physical removal of the USB stick. (I’m handicapped by the fact that the school server does not appear to reboot reliably).

Posted in Uncategorized | 1 Comment

End of a wonderful week of geeking

Jerry Vonau and I accomplished a lot during this last week.  For me the high point was getting all the remote administration, client/server stuff stitched together. It was also really rewarding, when the software that we’ve been writing pretty much worked on the XO-1.5, even though it had been tested and developed on the XO-1.75.

When installing on the XO-1.5, we ran into a blocker situation. After the install, everything worked.  Then we did a reboot, and neither of the network adapters was configured correctly! The “work around” is to remove the lan USB adapter, during the reboot, and to reinsert it after the XO finishes the reboot.  The problem can be fixed. But it may require reworking the kernel, and/or initramrd.  Neither Jerry or I had enough experience to tackle the problem during this week.

For additional information see the wiki at http://wiki.laptop.org/go/User:Holt/XS_Community_Edition/Install_Recipe

Posted in Uncategorized | 1 Comment

XS Community Edition at a Critical Crossroad

My strengths and weaknesses are now apparent in what we have been calling the School Server — Community Edition.  Let me explain:

I’m pretty good at picking targets that are strategic, and starting to explore the paths that might lead towards that destination. I can write quick and dirty code  to learn how stuff works.

I’m not very good at finishing the job, starting over when necessary, in order to end up with clean, well structured, tested, software. And I tend to end up with a huge number of unfinished projects, waiting to be incorporated in the final product.

A good example of this would be the Server Sleep program I wrote.  It’s a python GTK-GUI interface to turn the School Server off on nights and weekends in order to conserve power when running off of solar power. I need a partner to help me test and finish the job.

My partnership with Jerry Vonau is a success story.  I started with the idea that the monolithic setup script, used in previous XS builds, needed to be pulled apart, at least conceptually, so that individual components could be selected independently.  His experience with packaging rpms, led him to make an additional segregation.  He separated the pieces that would be unique to the XS running on an XO into a separate rpm.

I’ve been working this last week on the GUI that I think is needed. The challenge has been to get the output from a php server side program, running as an unprivileged apache user,  initiated by an http client, to be visible to the remote desktop vnc client, so that the user can monitor the process and know when it is complete (not stalled). This is to enable a “headless install” (no keyboard, monitor, mouse on the server).

What’s up for next week, when Jerry and I both decend on Adam’s parents’ house west of Toronto?

  • Rework our git commits, preparing to add them to OLPC Boston repositories, evolving XS Community Edition towards XS-0.8.
  • Get all the XS-0.7 services running, and tested.
  • Remote configuration http client GUI, integrated into the setup process. Add in root password authentication, and an access cookie which expires at the end of the session.
  • Jerry and I should make more rigorous attempt to incorporate the ideas, from the different use cases discussed on the OLPC lists. If we do this successfully, we may be more able to incorporate additional programmer volunteers in our ongoing development process.
  • Make a first attempt to write a script to generate a USB stick for offline, and more automatic, server installs on an XO.
  • Automate the generation of XS-CE rpms for use on the XO-1.5.
  • If time permits, it would be great to get the sugardextrose webdav client talking to the XS webdav server (which is incorporated in our code, but not configured/tested).


Posted in Uncategorized | Leave a comment

Early testing Results for XS-ARM

Jerry Vonau, and I, worked on the new School Server software pretty steadily for a week. We ate and drank too much, got too little exercise, but had a fun week with Adam Holt, at his parents’ house, a few miles northwest of Toronto.

Anna Schoolfield, agreed to be our tester. Towards the middle of the week, we shipped off the first edition of our efforts.  It wasn’t a resounding success.  She had to deal with typos, and network configuration problems, and lots of things didn’t work.

Over the second weekend, we revised our strategy.  We both had places on the internet, where we had been sticking the software we developed. Both of these repositories were changing pretty rapidly, and depending on the moment, contained stuff that just didn’t work.  We decided to let Jerry’s repo be the “stable” repository, and mine, the one we called “testing”.  We’ll copy from mine to his once a week, after we’ve done a little testing ourselves.  The stable branch is at http://build.laptop.org.au/xs/XS-0.7+/repos/XS-F17ARM/SRPMS/.

Anna had better luck with our first release of the “stable” branch which occurred Sept 24 or so.  Her email had some great news:

Great progress!  My USB ethernet dongle “just works,” even when I boot up with it plugged in.  Registering an XO-1 “just works” and it puts schoolserver.local into the collaboration server field.

So I put up the instructions for loading XS-CE software on a XO-1.75 at https://schoolserver.wordpress.com/xs-installation/community-edition-xs-on-xo-1-75/.

Ejabberd still has problems starting because it’s trying to create a lock on a temporary file system directory which hasn’t been created yet.

Our thorniest problem right now seems to be moodle. We may be haveing a mismatch between postgresql version 8.4 (used in XS-0.7) and the Fecora 17 included postgresql 9.1. I am choosing to spend my time fixing up and enlarging the http GUI  rather than to dive into the moodle issue.

Posted in Uncategorized | 1 Comment

XS Progress Report

The fedora 17 XO software is now released.  I’m working on adding School Server functions on top of this base release for the XO-1.75. A 4 watt School Server is the target.

The OLPC-Australia design document mentions breaking apart the monolithic structure of the XS software platform; even to the point of having an XS per classroom, and running only a collaboration server on it.

I’ve been working for the last 2 months on a scheme to separate the setup functions for each installable package, and make them individually callable.  The paradigm for the interface is:

# model for loading a module (in this case the apache web server)
source xs-setup-functions
httpd yes

Eventually this will need to be attached to a GUI, but for now this permits testing and the easy addition of new features.  The “xs-setup-functions” script looks for executables in a “functons” directory, where additional functions can be defined, or existing functions can be shadowed and redefined.

I’ve had the most fun using the web server to create a GUI interface for some of the useful information available on the command line of the School Server. In particular, I enjoyed figuring out how to get a javascript VNC client configured so that remote clients can get real time information about the progress of an installation without having to first install a vnc client.

So far, I’ve been able to install all of the XS services, and been able to verify the functions of dhcpd, named, httpd, vnc, postgresql.  I have not yet verified the function of ejabberd, moodle, activity-server, registration, or avahi.

I’m concerned about the time it takes to run the install process; at this point, using a fairly fast internet connection, it takes over 50 minutes to install all the services.  At this point I might be able to cut this in half.  I can put the repository packages on a USB key, and avoid the download latency. But maybe the solution is to use olpc-os-builder to create a snapshot that can be signed, and then loaded like a regular XO image.

The XO image, as recently released by OLPC Boston, is 1.65GB. The minimun XS install adds another 232MB. And a complete install of everything, similar to the monolithic XS-0.7 adds 644MB to the original 1650MB = 2.29GB.

Posted in Uncategorized | 1 Comment