EBC Project Ideas
We have both mini projects and projects in ECE497.
Mini projects involved finding something interested in the Beagle world and installing it to your beagle and demoing it to the class. You would also create a wiki page documenting what you did to get it installed. Often you may find multiple efforts do to something, for example there are a few efforts to port Android on the Beagle. Your task is to figure out which one should be used. Generally mini projects won't require you to write new code; however they are the background work that may lead to a full project. You should do a couple mini projects for the class. Generally they are done alone, but working in pairs is OK. These will be about 1/3 of your grade and should be done in the first 5 weeks or so.
Only one full project is done for the class and it's done with a team of 3 or 4. These projects can take a mini project (or a whole new idea) and add to it. The goal is to have your work contribute to the open source world. Any code is generated will be kept on github and a bitbake receipt will be created to automatically download and create the object files.
What follows are
- Places to look for project ideas
- Feel free to add your own suggestions.
- Mini Project ideas
- Add your own suggestions, and do some of them. Mark the ones you've done.
- Full Project ideas
Sources for Project Ideas
Here are some links where you'll find ideas for your project.
- ETechDays Community Lightning Talks, this is a one-day web-based conference where many project ideas are presented. One of our 2009-2010 senior design projects was found here.
- Official list of Beagle Projects, there are many Beagle specific projects listed here. Many are inactive. List your project here once it running.
- Augmented Reality Project, here's an idea that I think we can do on the Beagle. Rather than using augmented reality glasses, I'd suggest we use a TI DLP pico projector. Here's AR running on the Beagle.
- Android, this is one of a couple of efforts to port Google's Android OS to the Beagle.
- BeagleBoard/Ideas-2009 Google summer code ideas 2009.
Mini Project Ideas
|Mark A. Yoder||Write up some notes on the NEON extensions to ARM.||arm-neon-tutorial-in-c-and-assembler|
|Mark A. Yoder||Jack Ma||Work up an example of controlling the PWM registers from the shell.||PWM via the shell|
|Mark A. Yoder||Weather Station||Ultrasonic weather|
|Mark A. Yoder||Mike Yuhas||Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C||Ultrasonic Ranger|
|Mark A. Yoder||Compile the PowerVR examples||PowerVR Insider SDK Downloads|
|Mark A. Yoder||Work up some GStreamer PS EYE Demos||GStreamer PS EYE Demos and RidgeRun|
|Mark A. Yoder||Douglas Selby||Get TI' embedded speech recognizer installed and demo the examples.||TI Embedded Speech Recognizer|
|Mark A. Yoder||David Zitnik||Demo last year's TI speech project. I have a microphone amplifier and mike you can use.||ECE597 Project pyWikiReader|
|Mark A. Yoder||Stephen Mayhew||Find who is doing what with Kinect on the Beagle and install and run it.||Google - beagleboard kinect|
|Mark A. Yoder||Greg Harrison||I have several Sony PlayStation Eye web cams and I have examples of how to pull video from them via V4L2 (ECE497 DaVinci Workshop Labs). The Eye also has a 4 microphone array. I don't know how to get audio from it. Figure out how. This may expand to a full project if there is no solution out there.||Google - beagleboard playstation eye microphone array|
|Mark A. Yoder||Find some examples of how to use cmem. CMEM is an API and library for managing one or more blocks of physically contiguous memory. It also provides address translation services (e.g. virtual to physical translation) and user-mode cache management APIs. It's used for managing the shared memory between the ARM and the DSP on the processor. I've been unable to find examples of how to use it.||CMEM Overview|
|Mike Lester||Jack Ma||Connect to your beagleboard using ethernet over USB. This allows your beagleboard to share the host computer's internet connection and allow you to connect via VNC/ssh without the need for an external router/switch. This should make development much easier.||VNC|
|Brian Hulette||Experiment with audio synthesis and/or sampling/processing. You could either synthesize and play a few tones to generate a song, or have the Beagle sample an audio signal then process and output it to create a sort of effects pedal.|
|David McGinnis||David McGinnis||Look into connecting the beagleboard to a phone or headphones using bluetooth. This could involve either outputting audio and taking in audio from a bluetooth headset, allowing you to have audio I/O with the beagleboard, or could involve connecting with phones automatically as they come into range of the beagleboard, allowing for an automatic attendence registration system, among other things.|
|David Bliss||David Bliss||Get a video stream from a PS Eye, and identify the relevant device files.||PlayStation_Eye#cite_note-Linux_support-32|
|William Gerth||William Gerth||Explore the possibility of implementing OpenAOS on the Beagle, to make a portable media player and etc.||http://www.openaos.org/|
|Joel Carlson||Lacking a serial port and don't have a USB-serial converter? Why not find a way to make the BeagleBoard boot over a USB console connection?||BeagleBoard XM U-boot without Serial|
|Joel Carlson||Joel Carlson||Depending on what one is working on, it might be useful to mount the BeagleBoard root filesystem over NFS. The link to the right does that using a USB-Ethernet connection, but one that just runs over an Ethernet cable would be nice.|| Mount BeagleBoard Root Filesystem over NFS via USB
Here's an example of mounting dfs/afs on the Beagle
|Lei Liu||Lei Liu||Build communication with FPGA via USB port.|
|Aaron Bamberger||Aaron Bamberger||Play around with the BeagleBoard's various SPI and I2C ports, and get it to talk to some simple SPI and I2C peripherals, such as a 7-Segment display driver or small LCD panel|
|Jay Dial||Jay Dial||Look into the parallel computing possibilities of the BeagleBoard. See how difficult it would be to get two BeagleBoards to communicate properly for parallel computing.||How to make a BeagleBoard Elastic R Beowulf Cluster|
|Randy Billingsley||Randy Billingsley||Configure wlan on the beagle board using a wireless usb adapter|
|Mike Fuson||Mike Fuson||Get XBMC working on the beagle.||XBMC wiki page|
|Sam Allen||Port Android to beagle||It's done. Check out this.|
|Mark A. Yoder||Yifei Li||Change the splash screen to a Rose logo when the Beagle starts up||How to Change Angstrom Boot logo in beagleboard|
|Mark A. Yoder||Ziyi Zhang||Do remote debugging with Eclipse. My page needs updating. This tutorial might be helpful.||ECE497 Installing the Eclipse IDE|
|Mark A. Yoder||Jack Ma||Investigate Eigen. Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. Explicit vectorization is performed for SSE 2/3/4, ARM NEON, and AltiVec instruction sets, with graceful fallback to non-vectorized code. This means it should run fast on the Beagle. How fast does it run? Has anyone used it on the Beagle?||eigen.tuxfamily.org|
|Mark A. Yoder||Find what libraries are available for the DSP side of the DM 3730 and write some examples that use them.||C64x+ DSP Library (DSPLIB)|
|Mark A. Yoder||Convert the OSS labs to use the new ALSA drivers||ALSA Tutorials|
|Mark A. Yoder||Dig into the DSS drivers. The OMAP display subsystem supports rotation and mirroring, but the mirror and rotate files in /sys/devices/platform/omapdss/display X don't work. Find the code that implements them see if you can figure out what's wrong.||dss2|
|Jack Ma||Install an RT kernel on beagleboard. If successful, this could turn into a full project for exploring RT system and application.|
|Jack Ma||Interface beagleboard with a GPS device to read location information. If successful, see if it's possible build a (small) app that downloads appropriate map from google map and shows the beagleboard's location.|
|Jack Ma||Install a VPN server on beagleboard.|
|Guanqun Wang||Run beagle board with a small LCD display|
|Yifei Li||Demo a BeagleLight program that could synchronize LEDs with music.||http://processors.wiki.ti.com/index.php/BeagleLight|
|Yuming Cao||Make beagleboard make a phone call||http://www.youtube.com/watch?v=uVCx1S8RLfs&feature=related|
|Mona Yan||Mona Yan||Display BeagleBoard orientation by using accelerometer and opengl.|
|Jack Ma||Jack Ma||Automatically start VNC service after login on BeagleBoard|| }
Edit this page to add projects you would like to do. If you aren't in the class, add ideas you would like to see done by class members.