oswald: lessons from and for the open hardware movement
TRANSCRIPT
BackgroundLessons LearnedFuture prospects
Linux Plumbers Conference 2011OSWALD: Lessons from and for the Open Hardware Movement
Tim Harder
OSU Open Source Lab
September 9, 2011
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project historyHardwareSoftwareEducational usage
Inception of the OSWALD and the project’s timeline
I Concepts/ideas leading to the projectI OSU Platforms for LearningI TekBots program for ECE students
I Paired with BeaversourceI Combines coding and social networking — Elgg + TracI Easy introduction to open source communities
I TimelineI Project started in June 2008I Release first prototypes in December 2008I First deployment in April 2009I Large-scale deployment in October 2009I Project stalls mainly due to hardware issues in 2010
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project historyHardwareSoftwareEducational usage
Design considerations
I PriceI FlexibilityI ManufacturabilityI Openness
BeagleBoard used as a model platform
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project historyHardwareSoftwareEducational usage
OSWALD hardware
I ARM processorI 128 MB RAMI 256 MB NANDI 3.5” 320x240 display
I DVI out (up to1024x768)
I Resistive touchscreenI TouchpadI 3-axis accelerometer
I 5-way rocker switchI SpeakerI Microphone
I Built-in battery
(a) CORE.0 board (b) OSWALD
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project historyHardwareSoftwareEducational usage
OSWALD software
I X-Loader and U-Boot bootloadersI Linux kernel: OMAP tree + OSWALD
patchesI Custom distribution: RadixI Other platforms: Gentoo, Ångström,
Poky, MeeGo, and AndroidI Code repositories:
code.oregonstate.edu/gitI Wiki: beaversource.oregonstate.
edu/projects/cspfl
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project historyHardwareSoftwareEducational usage
Composition of Radix
I Built using OpenEmbeddedI Lightweight and flexibleI Matchbox desktopI GCC, Java (via jamvm), Python, PerlI SDK availableI Emulation possible via qemu branch
Default Radix desktop
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project historyHardwareSoftwareEducational usage
Applications available on Radix
Figure: Applications
(a) epdfview (b) gpicview
(c) pcmanfm (d) xournal
I Focus on lightweightapplications
I Examples:I PDF viewer: epdfviewI Image viewer: gpicviewI File manager: pcmanfmI Drawing/writing: xournal
I Patched to work better withinOSWALD environment
I Plenty of other software:mplayer, octave, etc
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project historyHardwareSoftwareEducational usage
Gaming
Figure: Various games and emulators running on the OSWALD
(a) Opentyrian (b) Freedoom (c) Numpty Physics
(d) Snes9x (e) Dosbox (f) ScummVM
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project historyHardwareSoftwareEducational usage
A hands-on approach to computer science
I Freshmen students acquire devices on entry into the CSprogram
I Devices are integrated into courses throughout the curriculumto enhance labs and lectures
I Help emulate real world development and programmingenvironments for students
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project historyHardwareSoftwareEducational usage
A hands-on approach to computer science
I Mainly used in introductoryclasses for a few terms
I Programming basics in Java,data structures, and a few otherclasses
I OSU Robotics club: used in the2010 Mars rover design
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
HardwareSoftwareEducational
In-house development
I Great for small projects and limited deploymentsI Allows for better control over the platform — experts close at
handI Hard to fix problems on complex platforms quicklyI Disastrous when core development team moves on
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
HardwareSoftwareEducational
Shoestring budget planning
I Bad hardware batches can quickly kill small projectsI Hard to communicate with 3rd party manufacturersI Difficult to plan through hardware revisions
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
HardwareSoftwareEducational
Finding external support
I Nearly impossible to find a vendor neutral solutionI Companies enjoy promising future devicesI Generally slow, similar to the grant process
Sponsors
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
HardwareSoftwareEducational
Small development team
I Allowed for more experimental andreactive system building
I Communication network was quickand easy to navigate
I Hard to spend development timeworking on training new developers
I Difficult to spend time on importantside projects — GUI development andtheming, keyboard improvement, etc
I Building a communityRadix virtual keyboard
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
HardwareSoftwareEducational
GUI hassles
Figure: Display problems
(a) GTK dialog
(b) File menu
I Small resolutions not supported well in manycurrent GUI toolkits (desktop-centric appsare mainly to blame)
I Generally requires extensive theming andtoolkit rework
I Most companies/projects create their ownthemes or toolkits for mobile interfaces
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
HardwareSoftwareEducational
Prepare a solid software foundation, i.e. get someone elseto do the work
I In the best case, use a well-tested platform with plenty of 3rdparty support and documentation
I Outsource majority of development and documentation effortsto a community or larger project
I Focus efforts on creating educational content and relatedcontent modules
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
HardwareSoftwareEducational
Poor classroom experiences are costly
I Teachers are very risk averseI Mistakes and rushed deployments are extremely expensiveI Hard to regain entry and confidence in the classroom
environmentI Students are turned off by poor experiences
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
HardwareSoftwareEducational
Required infrastructure for successful deployments
I Have necessary support in place and trained before largedeployments
I More lead-in time for professors and TAs for Q&A sessionsand training before classroom usage
I Documentation and related support information a mustI Additional resources: debugging environments, basic IDE
support, SDKs, and VMs
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
HardwareSoftwareEducational
Extremely high barrier to entry for newcomers
I Average incoming student has minimal exposure to workingwith Linux let alone in embedded development environments
I Deploy devices from the top downI Test runs with advanced/older students and trickle down as
the project matures
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project statusOSWALD 2.0
OSWALD’s future
I Current status: extremely small amount of working devicesleft in stock
I Project suspended while searching for funds and futureplatform
I Looking and interested in any ideas or suggestions towardspossible devices
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project statusOSWALD 2.0
Searching for the perfect platform
I Information sharing, interoperability, user-centered design, andcollaboration around open source education
I Well-supported 3rd party device with a relatively openplatform
I Dream goal: Help create a platform used by multipleuniversities to develop open curriculum around open sourceand embedded development
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Project statusOSWALD 2.0
Requirements for an open, educational platform
I Hardware: Rugged case, decent battery life, andwell-supported chipset family
I Software: OS flexibility (no jailbreaking required)I Environment: Support standard programming environments
(Java and C/C++ for current classes)I Connectivity: Wifi and USB host mode requiredI Desired features: Easily modifiable case and rich set of I/O
devices
Tim Harder Linux Plumbers Conference 2011
BackgroundLessons LearnedFuture prospects
Acknowledgements
DevelopersBen Goska, Kevin Kemper, Corbin Simpson,
and all other unmentioned contributors
Project managersCarlos Jensen, Don Heer, and others
Sponsors
Tim Harder Linux Plumbers Conference 2011