The Computer Science Platform For Learning (CSPFL) is a student-developed Ultra-Mobile PC (UMPC) called the Oregon State Wireless Active Learning Device (OSWALD), made for undergraduate students to explore CS concepts hands-on. To do this, the OSWALD is powerful, flexible, and incorporates some of the latest technology available, while keeping the cost to a minimum.
The concept of the project stemmed from my success in creating small low-power Linux devices for the RDRL project. During the development of these systems for the RDRL, I built one into an ALTOIDS tin powered by a 9v battery so I could carry it around safely and work on it wherever I found time. This concept of carrying around a little computer where it was possible to really explore the Linux kernel and write meaningful drivers (drivers that actually interacted with hardware like ADC) became the motivation for the design of the OSWALD.
The design began as the rough rapid prototype pictured at the left. The idea was to build a device would require careful thought about program size and efficiency while allowing students to explore novel input methods and user interaction. Although I did not do the drafting for the case, I dictated the design (for better or worse).
As project lead (and sole developer of the electronics) I was responsible for implementing these ideas and have working devices for students within 9 months. To reduce costs to students, I negotiated for hardware donations from Texas Instruments totaling in excess of $30,000 and worked with Tektronics to donate manufacturing time for 300 devices at their Beaverton, OR factory. I even managed to convince Intel to pitch in $50,000 to help pay for the developers and molds for the cases. The devices, more powerful than the Motorola Droid (and first to market), had a final cost to students of about $160.
The work did not end at the creation of the hardware. There did not exist a distribution of Linux that both worked on the ARM Cortex A8 architecture and provided a reasonable graphics interface optimized for touch screens. The Android OS was just beginning and did not provide the freedom and flexibility need to really let students explore. Our only option at that point was to build our own (which we called RADIX). My role at this point was to develop any drivers needed to get all functionality working for the devices. This monumental task included building completely new drivers for the USB (both for device and master modes), the audio codec, the power manager, and frame buffer.
By the end of my time with the project (when I left for graduate school), I had built 300 units with injection-molded clear polycarbonate cases and functioning hardware. An example of the device in action playing Doom II can be seen in the youtube video embedded below.
Specifications and Features
- Texas Instruments OMAP3530 applications processor
- 128 Mbyte DDR-SDRAM (266 MHz)
- 256 Mbyte NAND flash memory
- 3.5" QVGA (320:240) 24bit Color LCD
- Resistive touchscreen
- DVI out at with max resolution of 1024:768
- Texas Instruments TLV320AIC33 stereo audio codec
- 24bit resolution
- 96 kHz sampling rate
- 3D/Bass/Treble/EQ/De-emphasis Effects
- IEEE 802.15.4 wireless with IP over 802.15.4 support
- 3 axis accelerometer
- 5-way rocker switch (up, down, left, right, and center)
- 6 general purpose buttons
- A Speaker
- Built-in 1300mAh Polymer Li-ion battery