Authors UT Freshmen
- Jake Bailey
- Christopher Cargill
Describe Your Group
Our group is interested in both consumer and power electronics.
What do you hope to gain by participating in this challenge?
We hope to gain design and programming experience along with an interesting achievement to add to a resume.
Do you participate in IRC?
irc.freeenode.net #beagle #ubuntu-arm JakeJBailey & CCCargill
Where are you located, and what hours do you tend to work?
UT Austin Campus, Weekends
What are you making?
We will prototype a small portable computer for entertainment purposes such as watching movies and playing games. The device will provide the open source community a platform to create games and applications for along with a basis for creating other small devices.
For whom are you making it, and why do they need it?
No completely opensource (hardware as well) device such as this currently exists. There is a large community who currently wrestle with getting closed commercial devices to run "homebrew" code. Using our device anyone will have full access to create whatever they want. The design will permit any beagleboard with headers to be dropped in to the case to make use of the included peripherals; allowing a beagleboard to be used not only as a development platform, but an entertainment device as well. This project will also provide guidance to anyone else who wishes to modify their own hardware.
What technologies (programming languages, etc.) will you be using?
We plan on using C and C++ but are not bound to these languages. Assembly will likely be used for any micro-controllers. We will also try to exclusively use components that are simple to solder and assemble so the open source community can easily recreate this project at a low cost.
This project will involve both hardware and software design. On the hardware side we will need a board to manage battery power along with interfacing to all of the peripherals that a gaming/entertainment device requires. This board will include voltage level translators for the display along with a micro-controller or discrete ADC to manage analog inputs and buttons. For software, drivers will have to be created for the controls, the screen will have to be properly configured for the beagleboard to output to it, along with setting up a Linux environment that suits the devices purpose. Finally a physical case must be created to contain all the components and make the device portable. Our team has experience in all of these areas; having created PCB's for robotic motor speed controls, written drivers with multiple analog inputs for a wireless communication interface, and constructed housings and cases for different components of all sizes. The team is also familiar with the CAD tools needed to create such a device for both the board and the case.
What license(s) does your project use?
For code written for this project, we will use GPLv2. When the project is based on an existing open source package, the license of that package will be used.
Existing code is primarily GPLv2 and all kernel code should be so. Some developers use other FOSS licenses, such as MIT, LGPL, etc. There are some TI codecs available for use on the platform that are provided under publicly-available binary-only licenses as well as other binary firmware builds distributed as part of the Linux kernel, but these are discouraged from being used as part of any student project.
Generally you should avoid using the GPLv3 license if possible.
- Compatible with any BeagleBoard that has headers
- Open source hardware and software
- Touch screen and analog inputs
- External Expansion port access for creating attachable hardware modules
- Li-ion battery
- Easily modified
Pictures & Videos
Current Project Pictures
Videos can be embedded directly into the wiki using the EmbedVideoPlus extension. For documentation on this extension, please see http://www.mediawiki.org/wiki/Extension:EmbedVideoPlus
We have finished constructing the case, setting up a performance linux environment that suits the devices purpose (SD card image coming soon, using ubuntu with fluxbox) and started working on drivers for the various methods of input available. Schematics and board layout are mostly finished but our attempts to construct a PCB with such small spacing between tracks have failed and it seems a professionally made board must be ordered to finish the project.
GPIO buttons currently using polling; interrupts still need to be implemented. File:Gpio.zip
Current Parts List
Eagle schematic, board, and library files (work in progress) File:Bbpc.zip
Also here is a basic system flow chart.