(Introductory text here, first three paragraphs, adapted from description in Skip's email)
Looma I, the current code, was written at Dartmouth and The Garage in 2012. It is a python program that creates and manages GTK windows in which PHP/HTML code is used to generate what is displayed. All pages, inter-page links, and even exact media filenames are hardwired.
Looma II, the new code (in development) is written purely in PHP/HTML/JS, so that
- it is portable to any system or browser (no OS or graphics toolkit dependencies)
- will run on any web server (no Looma hardware dependencies)
- can run on the vts website for public access without a Looma, and
- is maintainable locally (no Python dependencies.)
It is expected that the media metadata [e.g. “3M05” stuff] will be in a local MySQL DB. Displayed page structures will be created dynamically by PHP reading the config from MySQL tables.
To run Looma II, we install LAMP (Apache, MySQL, PHP (already on any Linux)) and open an index.html file - that’s all. Any html page can be linked to from the Looma's HTML. (Browser: Currently Looma runs on the Webkit that comes with Ubuntu and ships with Firefox and Chrome browsers pre-loaded.)
Recent attempts to integrate technology into the rural classroom have proven difficult due to the lack of Wi-Fi connectivity and high cost of acquisition and maintenance. Looma aimed to get around this dilemma by equipping the system with a solar chargable battery, super cheap plywood, and the most basic processor.
Case and Carry Bag
Looma is encased in a 13x13x4 wooden box with a slide-in lid. All internal components are screwed into the bottom panel and on the sides.
The lid must be removed to both turn on the projector as well as focus it. This lid fits into a groove and slides out to expose all the components.
Custom made carry bag is used to transport Looma that also stores the keyboard, mouse, wand, external speakers and other accessories.
Fans and Filters
2 fans are placed each in the front and back for outtake and intake respectively for thermal cooling and dust protection. 2x2.4”, 12V, 0.4A four pin PWM fans from Cooljag Everflow (model126015BU) have been used. The stickers in the fan determine the flow of air direction. The placements of the fans allow air blown across the components.
When the lids are closed the the fans make considerable amount of noise. Also when the lids are removed thermal cooling is not needed. Thus Looma works with outlet fans on or the lid removed. (See coolerguys link)
The fans are covered 140mm Ultra thin Flexible Fan Dust filters. The four speaker openings are covered with 80mm steel mesh fan filter guards.
Cables, Wiring and Power
Off-the-shelf cables have been used for internal wiring. The current wiring layout is not compact. The wires are loosely connected and not permanently fixed. This provides easy replacement of wires but a messy look.
The Looma requires 12 Volts to operate. It is either connected through a converter to the grid (220V AC wall power to 12V DC, 10A) or it is connected to a 12V lead acid battery.
The grid power in in Nepal it comes as 220V AC. A converter is needed to transform and rectify this current to 12V DC which the Looma requires. The Looma consumes ~100W at 12V so it draws 8Amps, therefore the brick should be rated for around 10Amps
The Looma takes in 12 Volts. The custom designed circuit by Pocobor provides the CPU, FPGA and speakers with 5 Volts, the fans with 12 Volts and the LED Projector with 19.5 Volts.
Computer Board and Memory
Looma uses Panda Board ES as it’s main computer. PandaBoard ES is a low cost (~$175), computer board which allows open mobile software development platform. From PandaBoard’s reference manual description it states:
- "Pandaboard ES is an OMAP4460 platform designed to provide access to as many of the powerful features of the OMAP4460 Multimedia Processor as possible, while maintaining a low cost. This will allow the user to develop software to utilize the features of the powerful OMAP4460 processor. In addition, by providing expandability via onboard connectors, the Pandaboard ES supports development of additional capabilities/functionality"
- —Panda Board Spec (PDF, see p. 12)
Looma uses SD cards for memory storage. A SD card slides into SD/MMC Card age (J14) of the PandaBoard. Currently all the Looma’s are running on 32 GB SD cards (from SanDisk Extreme Pro 95Mb/s). This enables the Looma to hold its content.
Offtheshelf DLP/LED projector, pdf Dell M110 provides excellent quality and light capability (300 lumens). This is sufficiently strong enough to have a clear image in lighted classrooms at 1520 feet from the screen. It is small (4.1”x4.1”x1.42”) and light weight (0.8 lb.) and has up to 20,000 hours of usage.
Off-the-self Dell Projector sums up to half of the both cost and power consumption (~$360 and largest power consumption of any Looma component 44W) and thus is to be removed with projector engines only in the future version of Looma.
The Dell M115 projector can project 1280x800 pixels (“HD”). Close to 16:9. Videos display best around 1024x600 to allow other controls (back-button, home-button, etc). A ‘full screen’ mode can display the video at full resolution with no "chrome".
Wand, GPU and Communication with the Looma
The wand, unique to Looma feature, is a hand held mouse which can navigate the Looma’s contents, games, activities and can draw on the whiteboard. It has been designed by VTS volunteers.
Body of the wand is 3D printed, which is a cylindrical bar with a push button, infrared on the top, on/off switch in the base and battery holder. The body has been designed to be teacher friendly while the teacher is teaching in a class.
It uses an infrared LED to communicate with the Looma of its position and a bottom to click and draw on the Looma screen. It is low power device (1.46W)
The wand emits a infrared (IR) light through a diffuser. The current design uses a Nintendo Wii IR camera to locate this signal and pass the coordinates to the FPGA The FPGA converts the I 2 C code from the Wii remote to USB which the CPU can use to update the Looma screen with the location of the cursor. This is the FPGA’s only function, and as as it is a large device it takes up room, power and money.
The CPU has an audio in and audio out port. The audio out is spit to support 2 small audio amplifier boards and 4 small speakers. These are scavenged from offtheshelf computer speakers. They only support a weak sound volume, with occasional electronic noise. For this reason a USB port external speakers is used which delivers high quality audio.
The PandaBoard CPU has a Ethernet and a USB port. Using extensions enables the Looma to have 4 USB ports. Both these ports as well as the Ethernet cord or on the front and side of the Looma box. One USB port is used for the mouse and keyboard dongle. Another is used for the external speakers. USB ports can be flipped on or off. These switches can be found on the back side of the USB port.
Keyboard - Mouse - Dongle
The Looma uses Microsoft's wireless mouse 1000 and keyboard 800. The transceiver (dongle) clips into the underside of the mouse and enables both. The mouse uses a double A battery for power and works well on most surfaces (1000 dpi). The mouse will work up to 15ft away from the looma (2.4Ghz signal).