Difference between revisions of "EBC Project Ideas"

From eLinux.org
Jump to: navigation, search
(Mini Project Ideas)
m (Fall 2012)
(35 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Category:ECE497]]
+
[[Category:ECE497 |Project]]
 
[[Category:BeagleBoard]]
 
[[Category:BeagleBoard]]
 +
{{YoderHead}}
  
 
We have both mini projects and projects in ECE497.   
 
We have both mini projects and projects in ECE497.   
Line 23: Line 24:
 
* [[BeagleBoard/Ideas-2009]] Google summer code ideas 2009.
 
* [[BeagleBoard/Ideas-2009]] Google summer code ideas 2009.
  
== Mini Project Ideas ==
+
== Full Projects ==
 +
 
 +
=== Fall 2012 ===
  
 
{| border="1" cellspacing="0" cellpadding="5"
 
{| border="1" cellspacing="0" cellpadding="5"
! Suggestor
+
! Team Members
! Implementor
+
! Project Title
! Description
+
! Description  
! Link
+
 
|-
 
|-
 
| Mark A. Yoder
 
| Mark A. Yoder
| Jack Ma
+
| Spectrum Analyzer
| Work up an example of controlling the PWM registers from the shell.
+
| http://www.oz9aec.net/index.php/beaglebone/480-rtlizer
| [http://esdw.wordpress.com/2010/03/25/a-useful-tool-devmem2/ PWM via the shell]
+
|-
+
| Mark A. Yoder
+
|
+
| Weather Station
+
| [http://dominion.thruhere.net/koen/cms/using-the-beaglebone-as-a-weatherstation Ultrasonic weather]
+
|-
+
| Mark A. Yoder
+
| Mike Yuhas
+
| Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C
+
| [http://yetanotherhackersblog.wordpress.com/2011/04/07/interfacing-the-beagleboard-with-an-srf08-ultrasonic-ranger-over-i2c Ultrasonic Ranger]
+
|-
+
| Mark A. Yoder
+
|
+
| Compile the PowerVR examples
+
| [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp PowerVR Insider SDK Downloads]
+
|-
+
| Mark A. Yoder
+
|
+
| Work up some GStreamer PS EYE Demos
+
| [http://www.electronsonradio.com/2011/06/playstation-eye-gstreamer-examples GStreamer PS EYE Demos] and [http://www.ridgerun.com/blog/?p=224 RidgeRun]
+
|-
+
| Mark A. Yoder
+
| Douglas Selby
+
| Get TI' embedded speech recognizer installed and demo the examples.
+
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]
+
|-
+
| Mark A. Yoder
+
|
+
| 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.
+
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&sourceid=chrome-instant&ie=UTF-8&ion=1#hl=en&sugexp=ldymls&xhr=t&q=beagleboard+kinect&cp=0&qe=YmVhZ2xlYm9hcmQga2lu&qesig=9qrD0rFfjWfujRRGmkB_Bw&pkc=AFgZ2tn-cylx0f71PasgBKOazjBQY3VK712RWQ7DueEjQNAdbOHr6BCgUd9xdyXyPe8TWErkesrQ246vygwImnAS5mIzCG2-5g&pf=p&sclient=psy&rlz=1C1GPCK_enUS392US392&site=webhp&source=hp&aq=0&aqi=&aql=&oq=beagleboard+kin&pbx=1&bav=on.2,or.&fp=3e817b7ec5d13467&ion=1 Google - beagleboard kinect]
+
|-
+
| Mark A. Yoder
+
| Greg Harrison
+
| I have several [http://en.wikipedia.org/wiki/PlayStation_Eye 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.
+
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&sourceid=chrome-instant&ie=UTF-8&ion=1#hl=en&sugexp=ldymls&xhr=t&q=beagleboard+playstation+eye+microphone+array&cp=0&qe=YmVhZ2xlYm9hcmQgcGxheXN0YXRpb24gZXllIG1pY3JvcGhvbmUgYXJyYXk&qesig=Sdh5Ru_jodwYydoeTls1GA&pkc=AFgZ2tmwB41tQwF7XwrJPqFnf0NRO911bMCrbnU1HR9Vm6-Pg0sH8LvbJZsKwjKRUpoin4cZlwLIngZw8OC7dyanjcJCG4N_kg&pf=p&sclient=psy&rlz=1C1GPCK_enUS392US392&site=webhp&aq=f&aqi=&aql=&oq=beagleboard+playstation+eye+microphone+array&pbx=1&bav=on.2,or.&fp=3e817b7ec5d13467&ion=1 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.
+
| [http://processors.wiki.ti.com/index.php/CMEM_Overview CMEM Overview]
+
|-
+
| Mike Lester
+
|
+
| 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.
+
| [[BeagleBoardBeginners#Connect_with_your_beagleboard_using_VNC_and_ethernet_over_USB | 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.
+
| [http://en.wikipedia.org/wiki/PlayStation_Eye#cite_note-Linux_support-32 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?
+
| [http://itgen.blogspot.com/2011/03/beagleboard-xm-u-boot-without-serial.html 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.
+
| [http://elinux.org/Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB Mount BeagleBoard Root Filesystem over NFS via USB]
+
Here's an example of mounting dfs/afs on the Beagle
+
  
[[ECE497 Mounting dfs/afs in Linux]]
+
Uses Bone, LCD and a DVB dongle.
 
|-
 
|-
| Lei Liu
 
| Lei Liu
 
| Build communication with FPGA via USB port.
 
 
|
 
|
|-
+
| 3G modem
| Aaron Bamberger
+
| [http://mbed.org/cookbook/VodafoneUSBModem]
| 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.
+
| [http://antipastohw.blogspot.com/2010/09/how-to-make-beagleboard-elastic-r.html 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.
+
| [http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC XBMC wiki page]
+
|
+
|-
+
| Sam Allen
+
|
+
| Port Android to beagle
+
| It's done.  Check out [http://code.google.com/p/rowboat/ this].
+
 
|-
 
|-
 
| Mark A. Yoder
 
| Mark A. Yoder
| Yifei Li
+
| [http://www.edn.com/article/521185-How_to_design_a_digital_FM_radio.php Add a digital FM radio]
| Change the splash screen to a Rose logo when the Beagle starts up
+
| Interface an FM radio SoC to the Beagle.
| [http://blog.bizmobiletech.com/?p=253&utm_source=feedburner&utm_medium=twitter&utm_campaign=Feed%3A+BeagleBoard+%28BeagleBoard.org%29 How to Change Angstrom Boot logo in beagleboard]
+
 
|-
 
|-
 
| Mark A. Yoder
 
| Mark A. Yoder
| Ziyi Zhang
+
| [http://www.instructables.com/id/Email-notification-bell/ Email notification bell]
| Do remote debugging with EclipseMy page needs updating.
+
| Make a real hardware bell ring when email arrivesDo it all on the Beagle without the need of a host PC.
| [[ECE497 Installing the Eclipse IDE]]
+
 
|-
 
|-
 
| Mark A. Yoder
 
| Mark A. Yoder
|
+
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]
| 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 BeagleHow fast does it run?  Has anyone used it on the Beagle?
+
| Port TI's fixed-point speech recognizer to the DSPIt currently runs on the ARM.
| [http://eigen.tuxfamily.org/index.php?title=Main_Page eigen.tuxfamily.org]
+
 
|-
 
|-
 
| Mark A. Yoder
 
| Mark A. Yoder
|  
+
| Kinect
| Find what libraries are available for the DSP side of the DM 3730 and write some examples that use them.
+
| [http://hackaday.com/2010/11/15/rendering-a-3d-environment-from-kinect-video/ Here] and [http://gamerfront.net/2010/12/with-a-second-kinect-you-can-map-out-your-bedroom-in-3d/4644 here] are some interesting things people are doing with Kinects. Maybe we could port it to the Beagle.
| [http://focus.ti.com/docs/toolsw/folders/print/sprc265.html C64x+ DSP Library (DSPLIB)]  
+
[http://focus.ti.com/docs/toolsw/folders/print/sprc092.html DSPLIB]  
+
[http://focus.ti.com/docs/toolsw/folders/print/sprc094.html IMGLIB]
+
 
|-
 
|-
| Mark A. Yoder
+
| Michael Fuson 
|
+
Jay Dial
| Convert the OSS labs to use the new ALSA drivers
+
| Spectrum Analyzer
| [http://www.alsa-project.org/main/index.php/Tutorials_and_Presentations ALSA Tutorials]
+
|Create a real-time audio Spectrum analyzer on the BeagleBoard. My realtime demo does much of this. You could initially find a JavaScript fft routine and have the browser to the computations.
|-
+
[http://elinux.org/ECE497_Project_Spectrum_Analyzer Project Page]
| 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.
+
| [http://elinux.org/BeagleBoardFAQ#.22DSS2.22_display_driver_for_.3E.3D_2.6.29 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
+
|-
+
| Mona Yan
+
| Mona Yan
+
| Display BeagleBoard orientation by using accelerometer and opengl.
+
|
+
 
|}
 
|}
 
== Full Projects ==
 
  
 
=== Winter 2011-2012 ===
 
=== Winter 2011-2012 ===
Line 222: Line 72:
 
! Project Title
 
! Project Title
 
! Description  
 
! Description  
 +
|-
 +
| Mark A. Yoder
 +
| [http://www.gigamegablog.com/2012/01/05/beaglebone-coding-101-blinking-an-led/ Blink LED]
 +
[http://www.hive76.org/beagle-bone tweeting]
 +
[http://imakethin.gs/blog/?p=2613 Washing-Up Detector]
 +
| Doing things with BeagleBone
 +
|-
 +
| Mark A. Yoder
 +
| [http://beagleboard.org/project/webLightSwitch/ Home Automation]
 +
[https://groups.google.com/forum/#!topic/beagleboard/rUBiPuTvOS0 via x10]
 +
| Control lights, etc. with the Beagle.
 +
|-
 +
| Mark A. Yoder
 +
| [http://www.instructables.com/id/Email-notification-bell/ Email notification bell]
 +
| Make a real hardware bell ring when email arrives.  Do it all on the Beagle without the need of a host PC.
 
|-
 
|-
 
| Mark A. Yoder
 
| Mark A. Yoder
Line 313: Line 178:
 
| Run classic pong, projecting the screen and using a camera to track user's hands for input.
 
| Run classic pong, projecting the screen and using a camera to track user's hands for input.
 
|}
 
|}
 +
 +
== Mini Project Ideas ==
 +
 +
=== Fall 2012 ===
 +
 +
{| border="1" cellspacing="0" cellpadding="5"
 +
! Suggestor
 +
! Implementor
 +
! Description
 +
! Link
 +
|-
 +
| Mark A. Yoder
 +
|
 +
| Kill-A-Watt interface
 +
| [http://www.forums.adafruit.com/search.php?t=15273&sid=53cf632c498272ff75cfe115cfd3bf06 Schematics]
 +
|-
 +
| Kevin Geisler <br> Tom Atnip
 +
|
 +
| Stream Audio over HTTP
 +
| [http://gstreamer.freedesktop.org/ Gstreamer]
 +
|-
 +
| Kevin Geisler <br> Tom Atnip
 +
|
 +
| Stream Audio and Video over HTTP
 +
| [http://gstreamer.freedesktop.org/ Gstreamer]
 +
|-
 +
| Ruffin White
 +
|
 +
| Grab images off a Canon digital SLR via USB
 +
| [http://ultrawide.wordpress.com/2009/01/27/timelapse-photography-on-linux/ Time Laps]
 +
|-
 +
| Matthew Moravec
 +
|
 +
| Voice recognition
 +
| [http://beagleboard.org/project/tiesr/ TIESR]
 +
|}
 +
 +
=== Winter 2011-2012 ===
 +
 +
{| border="1" cellspacing="0" cellpadding="5"
 +
! Suggestor
 +
! Implementor
 +
! Description
 +
! Link
 +
|-
 +
| Mark A. Yoder
 +
| Mike Yuhas
 +
| Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C
 +
| [http://yetanotherhackersblog.wordpress.com/2011/04/07/interfacing-the-beagleboard-with-an-srf08-ultrasonic-ranger-over-i2c Ultrasonic Ranger]
 +
|-
 +
| Mark A. Yoder
 +
|
 +
| Compile the PowerVR examples
 +
| [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp PowerVR Insider SDK Downloads]
 +
|-
 +
| Mark A. Yoder
 +
| Douglas Selby
 +
| Get TI' embedded speech recognizer installed and demo the examples.
 +
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]
 +
|-
 +
| Mark A. Yoder
 +
| Stephen Mayhew
 +
| Find who is doing what with Kinect on the Beagle and install and run it.
 +
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&sourceid=chrome-instant&ie=UTF-8&ion=1#hl=en&sugexp=ldymls&xhr=t&q=beagleboard+kinect&cp=0&qe=YmVhZ2xlYm9hcmQga2lu&qesig=9qrD0rFfjWfujRRGmkB_Bw&pkc=AFgZ2tn-cylx0f71PasgBKOazjBQY3VK712RWQ7DueEjQNAdbOHr6BCgUd9xdyXyPe8TWErkesrQ246vygwImnAS5mIzCG2-5g&pf=p&sclient=psy&rlz=1C1GPCK_enUS392US392&site=webhp&source=hp&aq=0&aqi=&aql=&oq=beagleboard+kin&pbx=1&bav=on.2,or.&fp=3e817b7ec5d13467&ion=1 Google - beagleboard kinect]
 +
|-
 +
| 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.
 +
| [http://processors.wiki.ti.com/index.php/CMEM_Overview CMEM Overview]
 +
|-
 +
| Mark A. Yoder
 +
| Yifei Li
 +
| Change the splash screen to a Rose logo when the Beagle starts up
 +
| [http://blog.bizmobiletech.com/?p=253&utm_source=feedburner&utm_medium=twitter&utm_campaign=Feed%3A+BeagleBoard+%28BeagleBoard.org%29 How to Change Angstrom Boot logo in beagleboard]
 +
|-
 +
| Mark A. Yoder
 +
| Ziyi Zhang
 +
| Do remote debugging with Eclipse.  My page needs updating. This [http://www.lvr.com/eclipse1.htm tutorial] might be helpful.
 +
| [[ECE497 Installing the Eclipse IDE]]
 +
|-
 +
| Mark A. Yoder
 +
|
 +
| 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?
 +
| [http://eigen.tuxfamily.org/index.php?title=Main_Page 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.
 +
| [http://focus.ti.com/docs/toolsw/folders/print/sprc265.html C64x+ DSP Library (DSPLIB)]
 +
[http://focus.ti.com/docs/toolsw/folders/print/sprc092.html DSPLIB]
 +
[http://focus.ti.com/docs/toolsw/folders/print/sprc094.html IMGLIB]
 +
|-
 +
| Jack Ma
 +
|
 +
| Install an RT kernel on beagleboard. If successful, this could turn into a full project for exploring RT system and application.
 +
|
 +
|}
 +
 +
 +
{{YoderFoot}}

Revision as of 18:56, 19 February 2013

thumb‎ Embedded Linux Class by Mark A. Yoder


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
ditto.

Sources for Project Ideas

Here are some links where you'll find ideas for your project.

Full Projects

Fall 2012

Team Members Project Title Description
Mark A. Yoder Spectrum Analyzer http://www.oz9aec.net/index.php/beaglebone/480-rtlizer

Uses Bone, LCD and a DVB dongle.

3G modem [1]
Mark A. Yoder Add a digital FM radio Interface an FM radio SoC to the Beagle.
Mark A. Yoder Email notification bell Make a real hardware bell ring when email arrives. Do it all on the Beagle without the need of a host PC.
Mark A. Yoder TI Embedded Speech Recognizer Port TI's fixed-point speech recognizer to the DSP. It currently runs on the ARM.
Mark A. Yoder Kinect Here and here are some interesting things people are doing with Kinects. Maybe we could port it to the Beagle.
Michael Fuson

Jay Dial

Spectrum Analyzer Create a real-time audio Spectrum analyzer on the BeagleBoard. My realtime demo does much of this. You could initially find a JavaScript fft routine and have the browser to the computations.

Project Page

Winter 2011-2012

Team Members Project Title Description
Mark A. Yoder Blink LED

tweeting Washing-Up Detector

Doing things with BeagleBone
Mark A. Yoder Home Automation

via x10

Control lights, etc. with the Beagle.
Mark A. Yoder Email notification bell Make a real hardware bell ring when email arrives. Do it all on the Beagle without the need of a host PC.
Mark A. Yoder 3D Structured Light using DLP® Technology Create 3D maps using a DLP pico and the Beagle.
Mark A. Yoder Beagle Midi Make the Beagle synthesize midi files.
Mark A. Yoder Beagle Power Management Work up some power management demos.

2011

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.

Team Members Project Title Description
Mark A. Yoder TI Embedded Speech Recognizer Port TI's fixed-point speech recognizer to the DSP. It currently runs on the ARM.
Mark A. Yoder Kinect Here and here are some interesting things people are doing with Kinects. Maybe we could port it to the Beagle.
Mike Lester Accelerometer-based auto-leveled projection Several projects have been started to add accelerometer support to the BeagleBoard. This project would involve getting an accelerometer installed and working, perhaps using a trainer board, as well the TI Pico Projector. The orientation data from the accelerometer would be used to rotate, skew, keystone the projected image in order to keep it level and normalized.
Aaron Bamberger Kinect Based 3d Scanner Build some sort of motorized gantry that allows the Kinect to be rotated around (and possibly from top to bottom) of an arbitrary object. The motors would be controlled using the BeagleBoard's I2C or SPI interfaces. Use libfreenect to capture depth information from every side of the object as the Kinect rotates around the object. Use this data and OpenGL to build a 3d model of the scanned object
Mark A. Yoder Port winDSK6 to the Beagle winDSK6 is a Windows program that talks to a TI 'C6711 DSK and performs many interesting audio effects. This project would implement the code running on the Windows side on the ARM. The ARM could capture a frame of audio and send it to the DSP for processing. The ARM could then send the processed audio to the speakers. c6run would be used to interact with the DSP.
David Bliss Automated Die Tester Make a device that can roll a die, and keep statistics on how random the die is. The build can either be very complex, or very simple, depending on how you define "rolling a die". The software doesn't necessarily have to know what the numbers mean, it just has to be able to uniquely identify the sides.
Stephen Mayhew Set-Playing System Set is a relatively simple card game that lends itself nicely to image recognition and computer play. The layout is not very structured, and the game play is pretty simple. This project would incorporate image recognition, projection of possible moves (using the pico projector), and maybe even speech synthesis, and recognition. For example, if someone didn't know how to play Set, then the board could take them through a tutorial, asking questions of the user as it went along ("If I have these 2 cards, what 3rd card would make a set?"). This would make for an interesting demo at conferences.
Michael Fuson

Jay Dial

Spectrum Analyzer Create a real-time audio Spectrum analyzer on the BeagleBoard. Project Page

2010

Team Members Project Title Description
Yannick Polius pyWikiReader This project is mostly software, with the hardware element being the use of the dsp. The idea is to tie together three technologies: speech recognition, speech synthesis, and internet access in order to create an interface capable of orating information to the user based on a vocal command. The implementation I have in mind is to use the Pocket Sphinx speech recognition engine to first understand what the user wants through speech, such as "Rose-Hulman". Once the speech is translated, the software can execute a Wikipedia search to pull said item's page. Most of the important info is contained within the introductory paragraph, so the software will take only that chunk and feed it into the Flite speech synthesis engine. The end result is a simple machine with "mother box" like usability, that is, no interaction besides what is natural to the user (speaking) should be necessary to retrieve the information.
Paul Morrison
Steven Stark
3D Chess with Networking This project would simulate a hand-held chess game, and the game would allow two player games using two beagleboards over a network connection. The graphics would use the beagle's PowerVR SGX for hardware accelerated graphics by using OpenGL. In addition to 3D graphics and networking, a third portion of the project would be to optimize the boot time because a chess computer should start up quickly.
Tom Most
David Baty
Mark Jacobson
Sumo Robot The goal of this project is to create a robot capable of competing in the 3.0 kg weight class of a sumo competition (an example). This would have minor hardware and electronics elements, but would focus on communication with sensors using the BeagleBoard and the Linux kernel. At minimum, this involves sensors to detect the edge of the ring and the opposing robot. This would likely be implemented using Sharp IR rangefinders, a ultrasonic rangefinders, and ideally a camera. Sumo rules.
Brian Embry
Jessica Lipscomb
Paul Banister
ECE597 Network based MP3 player Network based mp3 player. The Beagle will be programmed using a custom, protocol for transferring files from a network based server (x86 pc) to a Beagle. Speakers will be attached to the Beagle, where the file will be played back. Possible extensions are a LCD for displaying id3 tag information, and buttons for user interaction (next track, previous track, etc.) on the GPIO interface.
Chris Routh
J. Cody Collins
Greg Jackson Keqiong Xin
ECE597: Auto HUD Use the beagle board to run image recognition on a camera feed located inside a car, and then signaling to the driver via a pico projector various objects of interest.
Adam Jesionowski
Qiang Jiang
Adding Sense to Beagle (See BeagleBoard/GSoC/Ideas) Sensory aware applications are becoming more mainstream with the release of the Apple iPhone. This project would combine both HW and SW to add sensory awareness to beagle. First, additional modules such as GPS, 3-axis accelerometers, Gyroscopes, Temperature Sensors, Humidity Sensors, Pressure Sensors, etc, would be added to beagle to compliment the microphone input in order to allow sensing of the real world environment. Then SW APIs would need to be layered on top to allow easy access to the sensory data for use by applications.
Mitch Garvin
Matt Luke
Elliot Simon
Jian Li
Interactive Pong Run classic pong, projecting the screen and using a camera to track user's hands for input.

Mini Project Ideas

Fall 2012

Suggestor Implementor Description Link
Mark A. Yoder Kill-A-Watt interface Schematics
Kevin Geisler
Tom Atnip
Stream Audio over HTTP Gstreamer
Kevin Geisler
Tom Atnip
Stream Audio and Video over HTTP Gstreamer
Ruffin White Grab images off a Canon digital SLR via USB Time Laps
Matthew Moravec Voice recognition TIESR

Winter 2011-2012

Suggestor Implementor Description Link
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 Douglas Selby Get TI' embedded speech recognizer installed and demo the examples. TI Embedded Speech Recognizer
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 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
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 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)

DSPLIB IMGLIB

Jack Ma Install an RT kernel on beagleboard. If successful, this could turn into a full project for exploring RT system and application.




thumb‎ Embedded Linux Class by Mark A. Yoder