EE2 Group Project
Low power computers for schools
in developing rural communities
Hardware
One Laptop Per Child

ARM-based boards
As electronic components are getting cheaper and smaller, there are quite a few different low cost computer modules on the market. We have picked a few that are suited to our needs and compare the hardware and software in these products.

Beaglebone is a similar device and is the entry edition of the Beagleboard range. It supports similar specification but it is more than double the cost more and uses significantly more power.
The other two devices we compared could only run Android. With around 70% market share in the smartphone OS market, this attracts many developers to design applications and improve the platform. The APC 8750 has an 800MHz processor and 2.5GB of RAM, which should ensure applications running smoothly. However, the power consumption is the highest out of all the devices we compared, and its 9V input may present technical challenges when implemented with existing infrastructure. Gooseberry, on the other hand, uses less power but has a faster CPU and supports Wifi connectivity, which can be beneficial in a long term.
OS | Storage | CPU | RAM | Output | Power | Connectivity | Cost (£) | |
XO-1.75 (One Laptop Per Child) | Fedora (Linux) | 4-8 GB NAND Flash memory | Marvell Armada 610 with an ARM CPU (800 MHz) | 1 GB | 3 USB 2.0 ports | 11-18V, 0.83-1.36A, 15W | 802.11b/g/s wireless LAN | 110 at mass order |
Raspberry Pi | Linux | SD/MMC 2GB+ | 700 MHz Low Power ARM1176JZ-F Applications Processor | 512MB | HDMI, Composite RCA, 2xUSB | 5V supply, 700mA, 3.5W | Ethernet | 25 |
APC 8750 | Andriod | MicroSD | VIA 800MHz Processor | 2.5GB | HDMI VGA, 4x USB |
DC Jack, 13.5W, 9V/1.5A | Ethernet | 32 |
BeagleBone | Linux | microSD 4GB+ | 700-MHz superscalar ARM Cortex™-A8 |
256MB | USB | USB, 5V, 2A, 10W | Ethernet | 58 |
Gooseberry | Andriod | Internal 4GB NAND + microSD | A10 1 Ghz | 512MB | 1xminiUSB, 1x HDMI | AC/USB, 4W, 5V, 800mA | Wifi | 40 |

We decided to use Raspberry Pi as the basis for our because of its low power consumption and price. Despite a faster CPU, we felt that BeagleBone was too expensive for our application, and APC 8750 will require a redesign of our battery box because of the 9V input. We see Gooseberry is a good alternative but is over our requirement; hence the price difference cannot be justified at this stage.
Display
Part of our solution is to implement a desktop setup and the choice of display is an important consideration. It is the component with the greatest power consumption and can also make up a significant proportion of the cost. To choose an appropriate display, we needed to consider the trade-off between power consumption and cost. The main technologies considered were cathode ray tube (CRT) monitors and liquid crystal displays (LCD). Plasma and organic light emitting diode (OLED) screens were ruled out due to power consumption and manufacturing cost respectively.
Cathode Ray Tube (CRT) Monitors
As an aging technology, CRT monitors can be purchased for a very low cost over the internet at present, however they are very power hungry. They are also large and heavy and so it is likely that they would be unsuitable for transportation in a country with less developed infrastructure.
Liquid Crystal Displays (LCDs)
Despite a higher cost, more modern LCD monitors are a lot more energy efficient. There are several types of LCDs on the market and the most common is the thin-film transistor (TFT) LCD, which is widely used in modern mobile devices and indeed in the general display market.
The TFT LCD is an active matrix that operates by blocking light from a backlight through different colour and polarisation filters[]. Twisted Nematic (TN) and Super Twisted Nematic (STN) LCDs were also considered. These are both older, passive matrix techniques, which were used in early generation mobile phones. Although these have lower power consumption, these technologies are inherently inferior with limited information content, colour range and viewing angle compared to TFTs.
The latter is a serious drawback as the application of this system is in school classrooms where as many children as possible should be able to see the display. TFT LCDs also suffer from a limited viewing angle, but it is much greater (up to 70°), and its other advantages make it a suitable choice.
Another way of reducing both power consumption and cost, is to reduce the size of the screen. Approaching the problem from the perspective of someone who has never owned or even seen a computer before, we felt that sacrifices in certain features that the average westerner would take for granted would be acceptable.
For these reasons, we have opted for a smaller screen than is normal for a desktop computer. There were several options considered. We searched through a number of suppliers, and considered a number of options including a 7.0” integrated TFT module supplied by RS Components. This was ruled out however as it uses an 8080 serial input connection. The Raspberry Pi does have a display serial interface, but the software for it to run with the graphics processing unit has not been created yet.

Charitable donations and second-hand screens
It is possible that large companies may be willing to charitably donate LCD screens when they replace their office stock. This option would become more feasible if this project were to grow to a larger scale and gain more credibility. Companies would also want to see a thorough recycling plan, to ensure no damage to their reputation. Another potential source of cheap or free screens is internet sources such as eBay or recycling websites. However, the quality of these screens could not really be guaranteed, and they would probably be not as low power as the BBOXX screen mentioned above.
Reducing the power consumption of TFT LCDs
Although they generally consume less power than CRTs, TFT LCDs are actually quite inefficient. Choi documents a number of techniques to reduce the power consumption of these screens. Some are easily implemented, such as choosing the colours you display carefully. Black is the most power intensive as the most light must be blocked, whereas white is the least. Other techniques require more complicated operations. Choi shows that the refresh rate of the display can be reduced to 33% before a minor flicker becomes observable, saving 346.2mW (test is a 6.4” TFT LCD). Backlight brightness as well, although changes must be made to prevent image degradation These techniques could all be applied to our system to optimise it for use with a battery.
Software
Operating System
The ARM1176JZ-F processor used in the Raspberry Pi only supports ARM instruction sets, so we immediately had to rule out Windows and Mac. It is presently not possible to obtain copies which allow these Operating systems to be ran on either non-Apple hardware or ARM hardware. Since we want to prepare the students for future work in an office environment, we think they're more likely to encounter Linux-based operating systems than any of the other compatible operating systems. With that in mind, we drew up a shortlist of operating systems:
Raspbian OS - | An operating system based on one of the most popular Linux distributions: the Debian distribution. This is also the official distribution supported by the Raspberry Pi Foundation. Recommended as one of the most beginner friendly distributions by the online forums. |
Android OS - | A operating system built for mobile devices. This was considered because it supports keyboard and mouse, and has the biggest app ecosystem out of all the Linux distributions making this one of the most versatile OSes. |
Arch Linux (ARM) - | Another Linux distribution, but one focuses on simplicity for the developer. The main advantage is that it can be customised to be more system resource friendlier than the other OSs. |

Arch Linux was then briefly considered because of its high customisability and requiring the lowest computing resources to run. However, from an application development and usability point of view, we found Raspbian to be more user-friendly. With the latest Raspbian release, the Raspberry Pi now supports overclocking without voiding the warranty, which allows the processor to have a higher clock frequency than the factory default frequency. This translates to a slightly faster performance. We were also able to install and build many third party applications such as VLC media player with working audio output, and remote access with a desktop client. Recently, the foundation has also set up an App Store exclusively for the device, this will be beneficial when internet is available in the area.
Game Engine
Due to the limited specifications of Raspberry Pi and the groups’ limited game making knowledge, 3D games would not be a feasible option, so we decided to look for game engines which made 2D games. The Raspberry Pi website states that any software which can be compiled with ARMv6 will be compatible with the device. That was the direction we took and we found three suitable game engines.
Pygame - | One of the more popular game engines, Pygame was suggested online in many forums. Designed primarily for game development, Pygame is an additional library of the programming language Python, which is one that we are already familiar with already. |
Marshmallow - | Marshmallow is a C++ game engine still in development and was originally built for Marshmallow Entertainment System, an open-source project for DIY game console. This game engine supports 8bit or 16bit graphics and is used for 2D games. It’s compatible with Linux and been tested on a Raspberry Pi. |
Slick2D - | Slick2D provides tools and libraries for 2D Java game development. Although easy to program, it is likely to have compatibility issues with the device since the language is Python. At the time of research, we have yet to find any evidence of Slick2D being implemented on a Raspberry Pi. |

Rwandan Curriculum
The Rwandan curriculum for schools was researched on the website of the Ministry of Education. The ministry has devised a large range of curriculum. In the English syllabus, a lot of emphasis has been put into learning vocabulary, as well as grammar and reading. The Maths syllabus is similar to that of Cambridge Primary, one of the examination boards in the UK.From our own experience, games or interactivity makes the lesson a lot more interesting and hence why we think we should create games for the Raspberry Pi. The idea of these games also means that students can also make self learning a lot more interesting. When designing these games, we have to keep in mind that the content of the game must be easily configurable. This is done so that teachers can create more content for the game themselves, and in a long term, teachers can themselves create games that should suit their needs much better.