<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/api.php?action=feedcontributions&amp;user=Mac&amp;feedformat=atom</id>
		<title>eLinux.org - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/api.php?action=feedcontributions&amp;user=Mac&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/Special:Contributions/Mac"/>
		<updated>2013-06-19T19:07:01Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.22alpha</generator>

	<entry>
		<id>http://elinux.org/ECE497_Project:_Multiple_Partitions_via_U-boot</id>
		<title>ECE497 Project: Multiple Partitions via U-boot</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project:_Multiple_Partitions_via_U-boot"/>
				<updated>2012-02-20T23:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
&lt;br /&gt;
Team members: [[user:Yuhasmj|Michael J. Yuhas]], [[user:mac|Jack Ma]]&lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to give the U-boot boot-loader the ability to mount different partitions on start-up.  This would allow the user to dual-boot the beagle board by controlling the boot sequence with a user button or RS-232 link.&lt;br /&gt;
&lt;br /&gt;
There are two principal parts to this project: finding a method to create a multiboot mmc card, and creating a command in U-Boot to simplify the process of booting multiple partitions for the user.  We have successfully completed both parts in this project and have found a method create and boot from a multi-partition mmc card on the Beagle Board.&lt;br /&gt;
&lt;br /&gt;
If we had more time, we would like to research further into booting from USB devices.  Initially, our projects scope included booting from external USB devices, but we were not able to make any progress with this goal.&lt;br /&gt;
&lt;br /&gt;
We feel that this project was successful in that we achieved the primary goals we set out to accomplish.  In addition, we learned many new things about the inner workings of boot-loaders, solid state storage devices, and the way the kernel boots during startup.&lt;br /&gt;
&lt;br /&gt;
== Installation Instructions ==&lt;br /&gt;
&lt;br /&gt;
These instructions will guide you through the installation of our modified U-boot boot-loader.&lt;br /&gt;
&lt;br /&gt;
If you do not yet have git installed see the instruction on [http://elinux.org/EBC_Exercise_07c_git EBC Exercise 07].&lt;br /&gt;
&lt;br /&gt;
Open a terminal on your host machine and pull our git repository:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host$ git clone git@github.com:albertlee5/project.git&lt;br /&gt;
host$ cd project/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To compile the code for our project you will have to source two shell scripts that set certain environmental variables and the cross-compiler toolchain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host$ source ~/.oe/environment-oecore&lt;br /&gt;
host$ source ~/.oe/crossCompileEnv.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before you can build our installation, you will need to configure some variables so that the make file knows exactly what platform U-boot will use.  First you need to unconfigure any previous settings and then have make configure itself for the Beagle Board.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host$ make unconfig&lt;br /&gt;
host$ make omap3_beagle_config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you should be able to make our project:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host:/project$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next copy the resulting MLO, uboot.img, and uboot.bin to the boot partition of your mmc-card and rename the corresponding existing files so they don't interfere at startup.  The beagle should now boot with our modified bootloader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt; Note: follow the instructions in the section below if you ran into some problems during make.  The errors described are caused by a problem in the files we pushed to the repository.  Although we believe we fixed the problem, we only have two machines with which to test this, so we included the remedy below as a precaution.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If make fails with an error such as &amp;quot;System not Configured&amp;quot; or the like, there are several commands you will have to run to fix this.  This is caused because the copy on the repository may contain some temporary files that were native to the editors host machine, but will not work with your configuration.  We will have to remove several files so that make will re-generate them for your machine.  In the terminal type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host:/project$ rm -rf include/autoconf.mk&lt;br /&gt;
host:/project$ rm -rf include/autoconf.mk.dep&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This removes some auto-configuration files from the include directory.  We will also need to remove a number of .depend files created by make.  (Note that simply typing make clean will not remove these since they were not created with your Makefile).  The following commands perform a batch remove of these files, and then check to see if the removal was successful:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host:/project$ find . -name .depend | xargs rm -rf&lt;br /&gt;
host:/project$ find . -name .depend.* | xargs rm -rf&lt;br /&gt;
host:/project$ find . -name .depend&lt;br /&gt;
host:/project$ find . -name .depend.*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The last two commands should return no output.  Now try using make to compile U-boot.&lt;br /&gt;
&lt;br /&gt;
== User Instructions ==&lt;br /&gt;
&lt;br /&gt;
=== The Multi-Partition Creator Script ===&lt;br /&gt;
&lt;br /&gt;
Before you can dual-boot your Beagle Board, you will need an mmc card with multiple partitions.  Surprisingly, a Google search reveals that there are few, if any people who have accomplished this.  (Please note that the SuperJumbo package for the Beagle Board by Always Innovating uses a different method to switch between OS's while the board is powered on).  To remedy this issue, we have created a script that will set up an mmc card with U-boot and multiple Angstrom partitions.  We based our script on the OMAP3 SD Booting script created by Slim Logic Ltd. which can be found at the following url: [http://www.slimlogic.co.uk/2011/05/omap3-sd-booting/ http://www.slimlogic.co.uk/2011/05/omap3-sd-booting/].  If you would like to see the modifications we made to achieve multi-boot, please view the 'Theory of Operation' section below.&lt;br /&gt;
&lt;br /&gt;
First, download our script [http://www.rose-hulman.edu/~yuhasmj/embedded_linux/partitioning.sh here].&lt;br /&gt;
&lt;br /&gt;
Before you can run the script, you will have to change the permissions so that it will be executable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host$ sudo chmod 777 parititioning.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now run the script with no arguments.  You should receive the below output message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host$ sudo ./partitioning.sh&lt;br /&gt;
Usage: partitioning.sh &amp;lt;drive&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now plug the mmc card into your host machine and determine which name the host computer assigns to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host$ dmesg | tail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There should be a few lines talking about mounting a disk and giving it the name sdx where x is any letter for the drive.  Now that we know the name of the disk, we can run our script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host$ sudo ./partitioning.sh /dev/sdx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your drive now has four partitions on it, three of which can serve as a root file system for linux.  The first partition is FAT32 and will serve as the boot sector where U-boot lives.  Now, copy your MLO, u-boot.bin, u-boot.img, and uimage to the boot sector of your mmc card.  Also, obtain a copy of the root file system for Angstrom.  Due to the the size limitations of uploads, we cannot provide this, but if you follow the instruction [http://elinux.org/EBC_Exercise_00_Installing_Angstrom_on_SD here] to build a normal Angstrom MMC card and then sudo copy all the files in Narcissus-rootfs to your computer, you will have a bootable root file system.&lt;br /&gt;
&lt;br /&gt;
=== I Have Multiple Partitions, Now What? ===&lt;br /&gt;
&lt;br /&gt;
Now put the sd card in your beagle board and fire it up.  Be sure to plug a cable from the serial port on the beagle board to some kind of connection on the computer.  Instructions to do this can be found [http://elinux.org/ECE497_Tips_and_Tricks#Accessing_the_Beagle_via_the_Serial_Port here].&lt;br /&gt;
&lt;br /&gt;
Once byobu is opened, and you have U-boot running, enter the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-boot # jack&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command with no parameters should display a list of partitions on the mmc card.  Now choose some partition x and boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-boot # jack x&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Beagle Board should now boot to whichever file system you have selected.&lt;br /&gt;
&lt;br /&gt;
== Highlights ==&lt;br /&gt;
&lt;br /&gt;
Our project gives the Beagle Board the ability dual boot from and sd card.  The project combines a script for setting up an sd card with multiple partitions with a user-friendly method of multi-booting with U-boot.  After many hours of online research, we believe that our project is the first documented project of its kind for the Beagle Board.  Although our system currently only works with the Angstrom distribution of Linux, it lays the groundwork for dual-booting multiple OS's such as Ubuntu and Android.&lt;br /&gt;
&lt;br /&gt;
== Theory of Operation ==&lt;br /&gt;
&lt;br /&gt;
This section will describe how we accomplished our project and detail some of the challenges we faced while we worked.&lt;br /&gt;
&lt;br /&gt;
=== Partition Script ===&lt;br /&gt;
&lt;br /&gt;
Initially we tried to manually create a multi-partitioned sd card from which to boot, however, we soon ran into many problems.  At first, we manually partitioned the disk into a 128MB boot sector and divided the rest of the space evenly between two ext2 partitions.  We then copied files from a working sd card to populate the partitions.  The initial problem was that we performed did not perform a sudo copy and that some files were left behind, but when we tried this strategy on previously unformatted cards, we discovered that there was something else wrong with this method.&lt;br /&gt;
&lt;br /&gt;
Before we could continue, we had to learn little bit about how static memory is addressed in a hard disk or any other form of longterm storage.  It turns out that data is still allocated into sectors, cylinders and heads, just like in the early days of computing.  An in depth description can be found [http://en.wikipedia.org/wiki/Cylinder-head-sector here].  We learned that for a FAT32 file system, there are 512 bytes in each sector, and 63 sectors in each head.  There is a maximum number of 255 permitted heads for one device.  This means that to deal with larger file systems, the number of cylinders must change.  We played around with the command line tool fdisk to get an idea of partition a sd card with this format.  Because the process was fairly complex, we decided to write a script to do our job for us.&lt;br /&gt;
&lt;br /&gt;
Rather than reinventing the wheel, we found a [http://www.slimlogic.co.uk/2011/05/omap3-sd-booting/ website] who had already written a script to partition an sd card for a single partition of Angstrom Linux.  We used this script as the basis for our creation which will create four partitions on a single sd card.  The first partition is used for boot, meaning the remaining three partitions can be used as the root file system in an OS.&lt;br /&gt;
&lt;br /&gt;
=== U-boot Modifications ===&lt;br /&gt;
&lt;br /&gt;
Initially, we wanted to prove that we could multi-boot in U-boot just from the command line as a proof of concept.  After creating a multi-partition sd card (see above section), we discovered a method of booting to separate partitions.  This involves starting U-boot, and first, listing all the available partitions on the detected mmc device.  Next, we had to determine which partitions were bootable and then pass that partition to the ext2load command.  Analysis of the ext2load command showed us that this command calls the bootm command, which intern calls the boot command.  Each of these commands generates a set of parameters for the next one down the chain allowing the user to go from a high level of abstraction to a very low level of operations.  We played with the booting commands and environmental variables and determined the best way to select a boot partition was to follow the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
U-boot # mmc part&lt;br /&gt;
U-boot # setenv pnum X&lt;br /&gt;
U-boot # setenv mmcroot /dev/mmcblk0pX rw&lt;br /&gt;
U-boot # setenv loaduimage ext2load mmc 0:X ${loadaddr} /boot/uImage&lt;br /&gt;
U-boot # boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above commands, 'X' is an arbitrary ext2 partition number that exists on our mmc card.  Basically, we are resetting the location that U-boot chooses to look for the uImage file (kernel), and the partition that the kernel will mount as root.&lt;br /&gt;
&lt;br /&gt;
This process takes long time to perform by hand, so we thought it would be neat to create a user command that would add another layer of abstraction.&lt;br /&gt;
&lt;br /&gt;
After some research, we found instructions on how to create a command in U-boot, but the article was written entirely in Chinese. The webpage which gave us insight into how to add a command to u-boot is [http://hi.baidu.com/282409975/blog/item/527f5ce996cf77ddd539c9b9.html http://hi.baidu.com/282409975/blog/item/527f5ce996cf77ddd539c9b9.html]. From here, we further explored how we could invoke a command within command. Luckily we had Jack in our group.  The following is a high level description of the process of adding a user defined command to U-boot.&lt;br /&gt;
&lt;br /&gt;
First, you must add your command.c file to the common folder using the naming scheme, cmd_&amp;lt;your command name&amp;gt;.c.  You must also include the following headers in your file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;common.h&amp;gt;&lt;br /&gt;
#include &amp;lt;config.h&amp;gt; //CONFIG_CMD_JACK&lt;br /&gt;
#include &amp;lt;command.h&amp;gt;  //U_BOOT_CMD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The common.h loads libraries native to all U-boot source code.  The command.h and config.h load globals that commands will need to be recognized by U-boot.  It is important to note that stdio.h and stdlib.h are not supported by the tool chain we will be using.&lt;br /&gt;
&lt;br /&gt;
In addition, we must define our command in the Makefile, the header for the Omap3 Beagle Board, and the config_cmd_all.h that contains a list of all commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./common/Makefile:COBJS-$(CONFIG_CMD_JACK) += cmd_jack.o&lt;br /&gt;
./include/configs/omap3_beagle.h:#define CONFIG_CMD_JACK&lt;br /&gt;
./include/config_cmd_all.h:#define CONFIG_CMD_JACK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We named our command jack and created a cmd_jack.c file in the common directory.  In the cmd_jack.c file, we needed to create some functions to execute when the command is called.  The do_jack() function is the main function that will be executed every time the command is called.  We also needed to add a call to U_BOOT_CMD(jack,0,1,do_jack,&amp;quot;Test Program.\n&amp;quot;); that would run every time somebody ran help on the jack command.&lt;br /&gt;
&lt;br /&gt;
To call other commands from the U-boot, we discovered the run_command(&amp;quot;string to run&amp;quot;, flag); command to let us access pre-written commands.  We also discovered that although stdio.c was not in the toolchain, we could use sprintf to parse variables into strings.  Theses commands gave us the tools we needed to take the above command list and automate them under a single unified user command.&lt;br /&gt;
&lt;br /&gt;
=== Difficulties Using the Git Repository ===&lt;br /&gt;
&lt;br /&gt;
The installation section describes some steps that must be taken if the git repository that someone pulls is bad.  We discovered that a number of .depend files are created every time a user runs make on U-boot, and if this user pushes there directory to git, the .depends will cause problems for users with other machine configurations.  To solve this, we discovered an includes file in git that would allow us to include and exclude certain files while do a git push.  We believe we have solved this problem, but just in case, the work-around is located above.&lt;br /&gt;
&lt;br /&gt;
== Work Breakdown ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;color:black; background-color:#ffffff;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Task !! Completion Date !! User&lt;br /&gt;
|-&lt;br /&gt;
| Create Project Page&lt;br /&gt;
| Jan 23, 2012&lt;br /&gt;
| Yuhas&lt;br /&gt;
|-&lt;br /&gt;
| Research loading multiple partitions / u-boot scripting language&lt;br /&gt;
| Feb 6, 2012&lt;br /&gt;
| Yuhas &amp;amp; Ma&lt;br /&gt;
|-&lt;br /&gt;
| Determine schedule for project&lt;br /&gt;
| Feb 6, 2012&lt;br /&gt;
| Yuhas &amp;amp; Ma&lt;br /&gt;
|-&lt;br /&gt;
| Create SD card with multiple root partitions&lt;br /&gt;
| Feb 7, 2012&lt;br /&gt;
| Yuhas &amp;amp; Ma&lt;br /&gt;
|-&lt;br /&gt;
| Test U-boot to multiboot using command-line&lt;br /&gt;
| Feb 7, 2012&lt;br /&gt;
| Ma&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Conclusions ==&lt;br /&gt;
&lt;br /&gt;
We found this project very interesting because it gave us an in depth look into the way a boot-loader works. We saw how to add commands, and learned how the boot-loader actually determines what to do when a user enters a command.  We also learned about the way memory is addressed in long term storage and learned about how it affects different file system schemes.&lt;br /&gt;
&lt;br /&gt;
We feel that future additions to this project could include the following:&lt;br /&gt;
&lt;br /&gt;
1.) The ability to boot from USB (We tried to look into this, but did not make much progress)&lt;br /&gt;
&lt;br /&gt;
2.) The usage of the user button to select a boot partition at start-up&lt;br /&gt;
&lt;br /&gt;
3.) The ability to boot into different operating systems. (Our code should support this, but we did not have time to test it).&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Project:_Multiple_Partitions_via_U-boot</id>
		<title>ECE497 Project: Multiple Partitions via U-boot</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project:_Multiple_Partitions_via_U-boot"/>
				<updated>2012-02-13T04:50:03Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
&lt;br /&gt;
Team members: [[user:Yuhasmj|Michael J. Yuhas]], [[user:mac|Jack Ma]]&lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to give the U-boot boot-loader the ability to mount different partitions on start-up.  This would allow the user to dual-boot the beagle board by controlling the boot sequence with a user button or RS-232 link.&lt;br /&gt;
&lt;br /&gt;
Currently we have discovered how to create mmc-cards with multiple partitions, and discovered a way to mount the different partitions as root during start-up using built in U-boot commands.  Currently we are developing a command to allow the user to select the partitions from which to boot.&lt;br /&gt;
&lt;br /&gt;
Plans for the duration of the project includes finishing development of the multiboot command and modification of the boot script to allow partition selection using the user button. We would also like to discover how to create a FAT boot partition from scratch. Finally, if time permits, we also intend to research booting from USB devices.&lt;br /&gt;
&lt;br /&gt;
== Installation Instructions ==&lt;br /&gt;
&lt;br /&gt;
If you do not yet have git installed see the instruction on [http://elinux.org/EBC_Exercise_07c_git EBC Exercise 07].&lt;br /&gt;
&lt;br /&gt;
Open a terminal on your host machine and pull our git repository:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host$ git clone git@github.com:albertlee5/project.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To compile the code for our project you will have to source two shell scripts that set certain environmental variables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host$ source  ~/.oe/environment-oecore&lt;br /&gt;
host$ host$ ~/.oe/crossCompileEnv.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you should be able to run make to compile U-boot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next copy the resulting MLO, uboot.img, and uboot.bin to the boot partition of your mmc-card and rename the corresponding existing files so they don't interfere at startup.  The beagle should now boot with our modified bootloader.&lt;br /&gt;
&lt;br /&gt;
== User Instructions ==&lt;br /&gt;
&lt;br /&gt;
Not yet available&lt;br /&gt;
&lt;br /&gt;
== Highlights ==&lt;br /&gt;
&lt;br /&gt;
Not yet availble&lt;br /&gt;
&lt;br /&gt;
== Theory of Operation ==&lt;br /&gt;
&lt;br /&gt;
The current plan of attack for our project is to write a script that will run automatically in U-boot, allowing the user to select between different partitions.&lt;br /&gt;
&lt;br /&gt;
== Work Breakdown ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;color:black; background-color:#ffffff;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Task !! Completion Date !! User&lt;br /&gt;
|-&lt;br /&gt;
| Create Project Page&lt;br /&gt;
| Jan 23, 2012&lt;br /&gt;
| Yuhas&lt;br /&gt;
|-&lt;br /&gt;
| Research loading multiple partitions / u-boot scripting language&lt;br /&gt;
| Feb 6, 2012&lt;br /&gt;
| Yuhas &amp;amp; Ma&lt;br /&gt;
|-&lt;br /&gt;
| Determine schedule for project&lt;br /&gt;
| Feb 6, 2012&lt;br /&gt;
| Yuhas &amp;amp; Ma&lt;br /&gt;
|-&lt;br /&gt;
| Create SD card with multiple root partitions&lt;br /&gt;
| Feb 7, 2012&lt;br /&gt;
| Yuhas &amp;amp; Ma&lt;br /&gt;
|-&lt;br /&gt;
| Test U-boot to multiboot using command-line&lt;br /&gt;
| Feb 7, 2012&lt;br /&gt;
| Ma&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Conclusions ==&lt;br /&gt;
&lt;br /&gt;
Not yet available.&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Mac</id>
		<title>User:Mac</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Mac"/>
				<updated>2012-02-10T21:20:47Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jack Ma:&lt;br /&gt;
&lt;br /&gt;
I am a CS/Math senior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
*[[ECE497 Project: Multiple Partitions via U-boot | Multi-Partition Boot via U-Boot]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 2 ==&lt;br /&gt;
&lt;br /&gt;
* [[man | Listings for Chapter 2 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[Hellohello | Listings for Chapter 4 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 5 ==&lt;br /&gt;
&lt;br /&gt;
* [[man | Listings for Chapter 5 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 6 ==&lt;br /&gt;
&lt;br /&gt;
* [[man | Listings for Chapter 6 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 7 ==&lt;br /&gt;
&lt;br /&gt;
* [[man | Listings for Chapter 7 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 8 ==&lt;br /&gt;
&lt;br /&gt;
* [[man | Listings for Chapter 8 ]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE497]]&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Project:_Multiple_Partitions_via_U-boot</id>
		<title>ECE497 Project: Multiple Partitions via U-boot</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project:_Multiple_Partitions_via_U-boot"/>
				<updated>2012-02-10T21:19:43Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
&lt;br /&gt;
Team members: [[user:Yuhasmj|Michael J. Yuhas]], [[user:mac|Jack Ma]]&lt;br /&gt;
&lt;br /&gt;
== Executive Summary ==&lt;br /&gt;
&lt;br /&gt;
The goal of this project is to give the U-boot boot-loader the ability to mount different partitions on start-up.  This would allow the user to dual-boot the beagle board by controlling the boot sequence with a user button or RS-232 link.&lt;br /&gt;
&lt;br /&gt;
Currently the project is still in the planning phases and there is no functionality.&lt;br /&gt;
&lt;br /&gt;
We hope to have this project functional by the tenth week of winter term at Rose-Hulman.&lt;br /&gt;
&lt;br /&gt;
== Installation Instructions ==&lt;br /&gt;
&lt;br /&gt;
Not yet available&lt;br /&gt;
&lt;br /&gt;
== User Instructions ==&lt;br /&gt;
&lt;br /&gt;
Not yet available&lt;br /&gt;
&lt;br /&gt;
== Highlights ==&lt;br /&gt;
&lt;br /&gt;
Not yet availble&lt;br /&gt;
&lt;br /&gt;
== Theory of Operation ==&lt;br /&gt;
&lt;br /&gt;
The current plan of attack for our project is to write a script that will run automatically in U-boot, allowing the user to select between different partitions.&lt;br /&gt;
&lt;br /&gt;
== Work Breakdown ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;color:black; background-color:#ffffff;&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Task !! Completion Date !! User&lt;br /&gt;
|-&lt;br /&gt;
| Create Project Page&lt;br /&gt;
| Jan 23, 2012&lt;br /&gt;
| Yuhas&lt;br /&gt;
|-&lt;br /&gt;
| Research loading multiple partitions / u-boot scripting language&lt;br /&gt;
| Feb 6, 2012&lt;br /&gt;
| Yuhas &amp;amp; Ma&lt;br /&gt;
|-&lt;br /&gt;
| Determine schedule for project&lt;br /&gt;
| Feb 6, 2012&lt;br /&gt;
| Yuhas &amp;amp; Ma&lt;br /&gt;
|-&lt;br /&gt;
| Create SD card with multiple root partitions&lt;br /&gt;
| Feb 7, 2012&lt;br /&gt;
| Yuhas &amp;amp; Ma&lt;br /&gt;
|-&lt;br /&gt;
| Test U-boot to multiboot using command-line&lt;br /&gt;
| Feb 7, 2012&lt;br /&gt;
| Ma&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Conclusions ==&lt;br /&gt;
&lt;br /&gt;
Not yet available.&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Project_Ideas</id>
		<title>ECE497 Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project_Ideas"/>
				<updated>2012-02-10T21:18:13Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
[[Category:BeagleBoard]]&lt;br /&gt;
&lt;br /&gt;
We have both mini projects and projects in ECE497.  &lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
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 [https://github.com/ github] and a [http://bitbake.berlios.de/manual/ bitbake receipt] will be created to automatically download and create the object files.&lt;br /&gt;
&lt;br /&gt;
What follows are&lt;br /&gt;
&lt;br /&gt;
; Places to look for project ideas: Feel free to add your own suggestions.&lt;br /&gt;
; Mini Project ideas: Add your own suggestions, and do some of them.  Mark the ones you've done.&lt;br /&gt;
; Full Project ideas: ditto.&lt;br /&gt;
&lt;br /&gt;
== Sources for Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
Here are some links where you'll find ideas for your project.&lt;br /&gt;
* [http://wiki.omap.com/index.php/ETechDays_Community_Lightning_Talks 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.&lt;br /&gt;
* [http://beagleboard.org/project Official list of Beagle Projects], there are many Beagle specific projects listed here.  Many are inactive.  ''List your project here once it running.''&lt;br /&gt;
* [http://www.youtube.com/watch?v=Mk1xjbA-ISE 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 [http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&amp;amp;tabId=2235 TI DLP pico projector]. [http://www.hitlabnz.org/wiki/EmbeddedAR Here's] AR running on the Beagle. &lt;br /&gt;
* [http://code.google.com/p/0xdroid/ Android], this is one of a couple of efforts to port [http://source.android.com/ Google's Android OS] to the Beagle.&lt;br /&gt;
* [[BeagleBoard/Ideas-2009]] Google summer code ideas 2009.&lt;br /&gt;
&lt;br /&gt;
== Mini Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Suggestor&lt;br /&gt;
! Implementor&lt;br /&gt;
! Description&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| See what Mentor is up to in Linux.&lt;br /&gt;
| [http://www.mentor.com/embedded-software/downloads/linux-kits/ Mentor Linux]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| David Zitnik&lt;br /&gt;
| Write up some notes on the NEON extensions to ARM.&lt;br /&gt;
| [http://www.cnx-software.com/2011/11/27/arm-neon-tutorial-in-c-and-assembler/ arm-neon-tutorial-in-c-and-assembler]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Work up an example of controlling the PWM registers from the shell.&lt;br /&gt;
| [http://esdw.wordpress.com/2010/03/25/a-useful-tool-devmem2/ PWM via the shell]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Weather Station&lt;br /&gt;
| [http://dominion.thruhere.net/koen/cms/using-the-beaglebone-as-a-weatherstation Ultrasonic weather]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Mike Yuhas&lt;br /&gt;
| Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C&lt;br /&gt;
| [http://yetanotherhackersblog.wordpress.com/2011/04/07/interfacing-the-beagleboard-with-an-srf08-ultrasonic-ranger-over-i2c Ultrasonic Ranger]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Compile the PowerVR examples&lt;br /&gt;
| [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp PowerVR Insider SDK Downloads]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Work up some GStreamer PS EYE Demos&lt;br /&gt;
| [http://www.electronsonradio.com/2011/06/playstation-eye-gstreamer-examples GStreamer PS EYE Demos] and [http://www.ridgerun.com/blog/?p=224 RidgeRun]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Douglas Selby&lt;br /&gt;
| Get TI' embedded speech recognizer installed and demo the examples.&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Demo last year's TI speech project.  I have a microphone amplifier and mike you can use.&lt;br /&gt;
| [[ECE597 Project pyWikiReader]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Find who is doing what with Kinect on the Beagle and install and run it.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+kinect&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQga2lu&amp;amp;qesig=9qrD0rFfjWfujRRGmkB_Bw&amp;amp;pkc=AFgZ2tn-cylx0f71PasgBKOazjBQY3VK712RWQ7DueEjQNAdbOHr6BCgUd9xdyXyPe8TWErkesrQ246vygwImnAS5mIzCG2-5g&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;source=hp&amp;amp;aq=0&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+kin&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard kinect]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Greg Harrison&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+playstation+eye+microphone+array&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQgcGxheXN0YXRpb24gZXllIG1pY3JvcGhvbmUgYXJyYXk&amp;amp;qesig=Sdh5Ru_jodwYydoeTls1GA&amp;amp;pkc=AFgZ2tmwB41tQwF7XwrJPqFnf0NRO911bMCrbnU1HR9Vm6-Pg0sH8LvbJZsKwjKRUpoin4cZlwLIngZw8OC7dyanjcJCG4N_kg&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+playstation+eye+microphone+array&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard playstation eye microphone array]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://processors.wiki.ti.com/index.php/CMEM_Overview CMEM Overview]&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| [[BeagleBoardBeginners#Connect_with_your_beagleboard_using_VNC_and_ethernet_over_USB | VNC]]&lt;br /&gt;
|-&lt;br /&gt;
| Brian Hulette&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| 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.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Get a video stream from a PS Eye, and identify the relevant device files.&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_Eye#cite_note-Linux_support-32 PlayStation_Eye#cite_note-Linux_support-32]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| William Gerth&lt;br /&gt;
| William Gerth&lt;br /&gt;
| Explore the possibility of implementing OpenAOS on the Beagle, to make a portable media player and etc.&lt;br /&gt;
| http://www.openaos.org/&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://itgen.blogspot.com/2011/03/beagleboard-xm-u-boot-without-serial.html BeagleBoard XM U-boot without Serial]&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB Mount BeagleBoard Root Filesystem over NFS via USB]&lt;br /&gt;
Here's an example of mounting dfs/afs on the Beagle&lt;br /&gt;
&lt;br /&gt;
[[ECE497 Mounting dfs/afs in Linux]]&lt;br /&gt;
|-&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Build communication with FPGA via USB port.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| 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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://antipastohw.blogspot.com/2010/09/how-to-make-beagleboard-elastic-r.html How to make a BeagleBoard Elastic R Beowulf Cluster]&lt;br /&gt;
|-&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Configure wlan on the beagle board using a wireless usb adapter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Get XBMC working on the beagle.&lt;br /&gt;
| [http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC XBMC wiki page]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Sam Allen&lt;br /&gt;
|&lt;br /&gt;
| Port Android to beagle&lt;br /&gt;
| It's done.  Check out [http://code.google.com/p/rowboat/ this].&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| Change the splash screen to a Rose logo when the Beagle starts up&lt;br /&gt;
| [http://blog.bizmobiletech.com/?p=253&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+BeagleBoard+%28BeagleBoard.org%29 How to Change Angstrom Boot logo in beagleboard]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Ziyi Zhang&lt;br /&gt;
| Do remote debugging with Eclipse.  My page needs updating. This [http://www.lvr.com/eclipse1.htm tutorial] might be helpful.&lt;br /&gt;
| [[ECE497 Installing the Eclipse IDE]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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?&lt;br /&gt;
| [http://eigen.tuxfamily.org/index.php?title=Main_Page eigen.tuxfamily.org]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Find what libraries are available for the DSP side of the DM 3730 and write some examples that use them.&lt;br /&gt;
| [http://focus.ti.com/docs/toolsw/folders/print/sprc265.html C64x+ DSP Library (DSPLIB)] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc092.html DSPLIB] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc094.html IMGLIB]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Convert the OSS labs to use the new ALSA drivers&lt;br /&gt;
| [http://www.alsa-project.org/main/index.php/Tutorials_and_Presentations ALSA Tutorials]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/BeagleBoardFAQ#.22DSS2.22_display_driver_for_.3E.3D_2.6.29 dss2]&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install an RT kernel on beagleboard. If successful, this could turn into a full project for exploring RT system and application.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install a VPN server on beagleboard.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Guanqun Wang&lt;br /&gt;
| &lt;br /&gt;
| Run beagle board with a small LCD display&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| &lt;br /&gt;
| Demo a BeagleLight program that could synchronize LEDs with music.&lt;br /&gt;
| http://processors.wiki.ti.com/index.php/BeagleLight&lt;br /&gt;
|-&lt;br /&gt;
| Yuming Cao&lt;br /&gt;
| Yuming Cao&lt;br /&gt;
| Make beagleboard make a phone call&lt;br /&gt;
| http://www.youtube.com/watch?v=uVCx1S8RLfs&amp;amp;feature=related&lt;br /&gt;
|-&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Display BeagleBoard orientation by using accelerometer and opengl.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Automatically start VNC service after login on BeagleBoard.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Full Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Winter 2011-2012 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://www.gigamegablog.com/2012/01/05/beaglebone-coding-101-blinking-an-led/ Blink LED]&lt;br /&gt;
[http://www.hive76.org/beagle-bone tweeting]&lt;br /&gt;
[http://imakethin.gs/blog/?p=2613 Washing-Up Detector]&lt;br /&gt;
| Doing things with BeagleBone&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://beagleboard.org/project/webLightSwitch/ Home Automation]&lt;br /&gt;
[https://groups.google.com/forum/#!topic/beagleboard/rUBiPuTvOS0 via x10]&lt;br /&gt;
| Control lights, etc. with the Beagle.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://www.instructables.com/id/Email-notification-bell/ Email notification bell]&lt;br /&gt;
| Make a real hardware bell ring when email arrives.  Do it all on the Beagle without the need of a host PC.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://e2e.ti.com/blogs_/b/dlp_mems_blog/archive/2011/05/13/3d-structured-light-using-dlp-technology.aspx 3D Structured Light using DLP® Technology]&lt;br /&gt;
| Create 3D maps using a DLP pico and the Beagle.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://m.matrixsynth.com/2011/06/beagleboard-synth-proof-of-concept.htm Beagle Midi]&lt;br /&gt;
| Make the Beagle synthesize midi files.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://www.sakoman.com/OMAP/an-overiew-of-omap3-power-management-with-2639-pm.html Beagle Power Management]&lt;br /&gt;
| Work up some power management demos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
| Port TI's fixed-point speech recognizer to the DSP.  It currently runs on the ARM.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Kinect&lt;br /&gt;
| [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.&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Accelerometer-based auto-leveled projection&lt;br /&gt;
| Several projects have been started to add [http://matthsu-abacus.blogspot.com/2009/11/build-3-axis-accelerometer-on.html  accelerometer support] to the BeagleBoard. This project would involve getting an accelerometer installed and working, perhaps using a [http://elinux.org/BeagleBoard_Trainer trainer board], as well the [http://focus.ti.com/general/docs/gencontent.tsp?contentId=52770 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.&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Kinect Based 3d Scanner&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Port winDSK6 to the Beagle&lt;br /&gt;
| [http://www.ece.wisc.edu/~morrow/software/ 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.  [http://processors.wiki.ti.com/index.php/C6Run c6run] would be used to interact with the DSP.  &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Automated Die Tester&lt;br /&gt;
| 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 &amp;quot;rolling a die&amp;quot;. The software doesn't necessarily have to know what the numbers mean, it just has to be able to uniquely identify the sides.&lt;br /&gt;
|-&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Set-Playing System&lt;br /&gt;
| 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 (&amp;quot;If I have these 2 cards, what 3rd card would make a set?&amp;quot;). This would make for an interesting demo at conferences. &lt;br /&gt;
|-&lt;br /&gt;
| Michael Fuson  &lt;br /&gt;
Jay Dial&lt;br /&gt;
| Spectrum Analyzer&lt;br /&gt;
|Create a real-time audio Spectrum analyzer on the BeagleBoard. [http://elinux.org/ECE497_Project_Spectrum_Analyzer Project Page]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| [[ECE597 Project pyWikiReader | pyWikiReader]]&lt;br /&gt;
| 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 &amp;quot;Rose-Hulman&amp;quot;. 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 &amp;quot;mother box&amp;quot; like usability, that is, no interaction besides what is natural to the user (speaking) should be necessary to retrieve the information.&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison &amp;lt;br&amp;gt; Steven Stark&lt;br /&gt;
| [[ECE597 3D Chess | 3D Chess with Networking]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most &amp;lt;br&amp;gt; David Baty &amp;lt;br&amp;gt; Mark Jacobson&lt;br /&gt;
| [[ECE597: Sumo Robot|Sumo Robot]]&lt;br /&gt;
| The goal of this project is to create a robot capable of competing in the 3.0 kg weight class of a sumo competition ([http://www.youtube.com/watch?v=V3OR_sHrOJM 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.  [http://circ.mtco.com/competitions/2010/rules/sumo Sumo rules].&lt;br /&gt;
|-&lt;br /&gt;
|Brian Embry &amp;lt;br&amp;gt; Jessica Lipscomb &amp;lt;br&amp;gt; Paul Banister&lt;br /&gt;
| [[ECE597 Network based MP3 player]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|[[user:routhcr | Chris Routh]] &amp;lt;br&amp;gt; [[user:collinjc | J. Cody Collins]] &amp;lt;br&amp;gt; [[user:jacksogc | Greg Jackson]] [[user:Xinkeqiong | Keqiong Xin]]&lt;br /&gt;
| [[ECE597: Auto HUD]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&amp;lt;br&amp;gt;Qiang Jiang&lt;br /&gt;
| [[ECE597_Adding_Sense_to_Beagle|Adding Sense to Beagle]] (See [[BeagleBoard/GSoC/Ideas]])&lt;br /&gt;
| 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. &lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin &amp;lt;br&amp;gt; Matt Luke &amp;lt;br&amp;gt; Elliot Simon &amp;lt;br&amp;gt; Jian Li&lt;br /&gt;
| [[ECE597 Interactive Pong|Interactive Pong]]&lt;br /&gt;
| Run classic pong, projecting the screen and using a camera to track user's hands for input.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Mac</id>
		<title>User:Mac</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Mac"/>
				<updated>2012-02-10T21:16:24Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jack Ma:&lt;br /&gt;
&lt;br /&gt;
I am a CS/Math senior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chapter 2 ==&lt;br /&gt;
&lt;br /&gt;
* [[man | Listings for Chapter 2 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[Hellohello | Listings for Chapter 4 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 5 ==&lt;br /&gt;
&lt;br /&gt;
* [[man | Listings for Chapter 5 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 6 ==&lt;br /&gt;
&lt;br /&gt;
* [[man | Listings for Chapter 6 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 7 ==&lt;br /&gt;
&lt;br /&gt;
* [[man | Listings for Chapter 7 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 8 ==&lt;br /&gt;
&lt;br /&gt;
* [[man | Listings for Chapter 8 ]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE497]]&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Hellohello</id>
		<title>Hellohello</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Hellohello"/>
				<updated>2012-01-21T06:52:32Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
! Number&lt;br /&gt;
! Page&lt;br /&gt;
! Caption&lt;br /&gt;
! Listing&lt;br /&gt;
|-&lt;br /&gt;
| 4-1&lt;br /&gt;
| 71&lt;br /&gt;
| Kernel Build Output&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
source ~/.oe/crossCompileEnv.sh&lt;br /&gt;
make uImage&lt;br /&gt;
...&lt;br /&gt;
  CC      lib/rwsem-spinlock.o&lt;br /&gt;
  CC      lib/sha1.o&lt;br /&gt;
  CC      lib/show_mem.o&lt;br /&gt;
  CC      lib/string.o&lt;br /&gt;
  CC      lib/vsprintf.o&lt;br /&gt;
  AR      lib/lib.a&lt;br /&gt;
  LD      vmlinux.o&lt;br /&gt;
  MODPOST vmlinux.o&lt;br /&gt;
  GEN     .version&lt;br /&gt;
  CHK     include/linux/compile.h&lt;br /&gt;
  UPD     include/linux/compile.h&lt;br /&gt;
  CC      init/version.o&lt;br /&gt;
  LD      init/built-in.o&lt;br /&gt;
  LD      .tmp_vmlinux1&lt;br /&gt;
  KSYM    .tmp_kallsyms1.S&lt;br /&gt;
  AS      .tmp_kallsyms1.o&lt;br /&gt;
  LD      .tmp_vmlinux2&lt;br /&gt;
  KSYM    .tmp_kallsyms2.S&lt;br /&gt;
  AS      .tmp_kallsyms2.o&lt;br /&gt;
  LD      vmlinux&lt;br /&gt;
  SYSMAP  System.map&lt;br /&gt;
  SYSMAP  .tmp_System.map&lt;br /&gt;
  OBJCOPY arch/arm/boot/Image&lt;br /&gt;
  Kernel: arch/arm/boot/Image is ready&lt;br /&gt;
  AS      arch/arm/boot/compressed/head.o&lt;br /&gt;
  GZIP    arch/arm/boot/compressed/piggy.gz&lt;br /&gt;
  AS      arch/arm/boot/compressed/piggy.o&lt;br /&gt;
  CC      arch/arm/boot/compressed/misc.o&lt;br /&gt;
  LD      arch/arm/boot/compressed/vmlinux&lt;br /&gt;
  OBJCOPY arch/arm/boot/zImage&lt;br /&gt;
  Kernel: arch/arm/boot/zImage is ready&lt;br /&gt;
  UIMAGE  arch/arm/boot/uImage&lt;br /&gt;
Image Name:   Linux-2.6.32&lt;br /&gt;
Created:      Fri Jan 20 19:15:22 2012&lt;br /&gt;
Image Type:   ARM Linux Kernel Image (uncompressed)&lt;br /&gt;
Data Size:    3144260 Bytes = 3070.57 kB = 3.00 MB&lt;br /&gt;
Load Address: 80008000&lt;br /&gt;
Entry Point:  80008000&lt;br /&gt;
  Image arch/arm/boot/uImage is ready&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-3&lt;br /&gt;
| 77&lt;br /&gt;
| Kernel Subdirectory &lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
jack@jack-laptop:~/BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r113b+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155/git/arch/arm/plat-omap$ ls -ls | grep -v \\.o&lt;br /&gt;
total 812&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10215 2012-01-03 14:29 clock.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack   8486 2012-01-03 14:29 common.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   4702 2012-01-03 14:29 cpu-omap.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2192 2012-01-03 14:29 debug-devices.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   7170 2012-01-03 14:29 debug-leds.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10856 2012-01-03 14:29 devices.c&lt;br /&gt;
 52 -rw-r--r-- 1 jack jack  52738 2012-01-03 14:29 dma.c&lt;br /&gt;
 24 -rw-r--r-- 1 jack jack  23360 2012-01-03 14:29 dmtimer.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10055 2012-01-03 14:29 fb.c&lt;br /&gt;
 64 -rw-r--r-- 1 jack jack  63027 2012-01-03 14:29 gpio.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   5927 2012-01-03 14:29 i2c.c&lt;br /&gt;
  4 drwxr-xr-x 4 jack jack   4096 2012-01-03 14:29 include&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   6441 2012-01-03 14:29 io.c&lt;br /&gt;
 24 -rw-r--r-- 1 jack jack  20755 2012-01-03 14:29 iommu.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack   9117 2012-01-03 14:29 iommu-debug.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2152 2012-01-03 14:29 iopgtable.h&lt;br /&gt;
 20 -rw-r--r-- 1 jack jack  19320 2012-01-03 14:29 iovmm.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   6239 2012-01-03 14:29 Kconfig&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack   8384 2012-01-03 14:29 mailbox.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10541 2012-01-03 14:56 mailbox.ko&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   1504 2012-01-03 14:55 mailbox.mod.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   1062 2012-01-03 14:29 Makefile&lt;br /&gt;
 36 -rw-r--r-- 1 jack jack  36086 2012-01-03 14:29 mcbsp.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2263 2012-01-03 14:29 mux.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2739 2012-01-03 14:29 ocpi.c&lt;br /&gt;
 20 -rw-r--r-- 1 jack jack  19866 2012-01-03 14:29 omap_device.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   7252 2012-01-03 14:29 omap-pm-noop.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   7171 2012-01-03 14:29 omap-pm-srf.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2757 2012-01-03 14:29 psp-version.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   1202 2012-01-03 14:29 psp-version.h&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  12199 2012-01-03 14:29 resource.c&lt;br /&gt;
 16 -rw-r--r-- 1 jack jack  12884 2012-01-03 14:29 sram.c&lt;br /&gt;
 20 -rw-r--r-- 1 jack jack  18770 2012-01-03 14:29 usb.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-4&lt;br /&gt;
| 79&lt;br /&gt;
| Snippet from Linux 2.6 .config &lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Automatically generated make config: don't edit&lt;br /&gt;
# Linux kernel version: 2.6.32&lt;br /&gt;
# Tue Jan  3 15:00:03 2012&lt;br /&gt;
#&lt;br /&gt;
CONFIG_ARM=y&lt;br /&gt;
CONFIG_SYS_SUPPORTS_APM_EMULATION=y&lt;br /&gt;
CONFIG_GENERIC_GPIO=y&lt;br /&gt;
CONFIG_GENERIC_TIME=y&lt;br /&gt;
CONFIG_GENERIC_CLOCKEVENTS=y&lt;br /&gt;
CONFIG_GENERIC_HARDIRQS=y&lt;br /&gt;
CONFIG_STACKTRACE_SUPPORT=y&lt;br /&gt;
CONFIG_HAVE_LATENCYTOP_SUPPORT=y&lt;br /&gt;
CONFIG_LOCKDEP_SUPPORT=y&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 82&lt;br /&gt;
| Linux autoconf.h &lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
jack@jack-laptop:~/BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r113b+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155/git/include/linux$ cat autoconf.h | grep CONFIG_USB&lt;br /&gt;
#define CONFIG_USB_SISUSBVGA_MODULE 1&lt;br /&gt;
#define CONFIG_USB_MUSB_HDRC 1&lt;br /&gt;
#define CONFIG_USB_LEGOTOWER_MODULE 1&lt;br /&gt;
#define CONFIG_USB_SERIAL_IR_MODULE 1&lt;br /&gt;
#define CONFIG_USB_GSPCA_T613_MODULE 1&lt;br /&gt;
#define CONFIG_USB_SERIAL_TI_MODULE 1&lt;br /&gt;
#define CONFIG_USB_ETH_RNDIS 1&lt;br /&gt;
#define CONFIG_USB_SERIAL_MODULE 1&lt;br /&gt;
#define CONFIG_USB_W9968CF_MODULE 1&lt;br /&gt;
#define CONFIG_USB_RTL8150 1&lt;br /&gt;
#define CONFIG_USB_SERIAL_WHITEHEAT_MODULE 1&lt;br /&gt;
#define CONFIG_USB_GADGET_MUSB_HDRC 1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-6&lt;br /&gt;
| 84-89&lt;br /&gt;
| Makefile Targets&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
jack@jack-laptop:~/BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r113b+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155/git$ make help&lt;br /&gt;
Cleaning targets:&lt;br /&gt;
  clean		  - Remove most generated files but keep the config and&lt;br /&gt;
                    enough build support to build external modules&lt;br /&gt;
  mrproper	  - Remove all generated files + config + various backup files&lt;br /&gt;
  distclean	  - mrproper + remove editor backup and patch files&lt;br /&gt;
&lt;br /&gt;
Configuration targets:&lt;br /&gt;
  config	  - Update current config utilising a line-oriented program&lt;br /&gt;
  menuconfig	  - Update current config utilising a menu based program&lt;br /&gt;
  xconfig	  - Update current config utilising a QT based front-end&lt;br /&gt;
  gconfig	  - Update current config utilising a GTK based front-end&lt;br /&gt;
  oldconfig	  - Update current config utilising a provided .config as base&lt;br /&gt;
  localmodconfig  - Update current config disabling modules not loaded&lt;br /&gt;
  localyesconfig  - Update current config converting local mods to core&lt;br /&gt;
  silentoldconfig - Same as oldconfig, but quietly, additionally update deps&lt;br /&gt;
  randconfig	  - New config with random answer to all options&lt;br /&gt;
  defconfig	  - New config with default answer to all options&lt;br /&gt;
  allmodconfig	  - New config selecting modules when possible&lt;br /&gt;
  allyesconfig	  - New config where all options are accepted with yes&lt;br /&gt;
  allnoconfig	  - New config where all options are answered with no&lt;br /&gt;
&lt;br /&gt;
Other generic targets:&lt;br /&gt;
  all		  - Build all targets marked with [*]&lt;br /&gt;
* vmlinux	  - Build the bare kernel&lt;br /&gt;
* modules	  - Build all modules&lt;br /&gt;
  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)&lt;br /&gt;
  firmware_install- Install all firmware to INSTALL_FW_PATH&lt;br /&gt;
                    (default: $(INSTALL_MOD_PATH)/lib/firmware)&lt;br /&gt;
  dir/            - Build all files in dir and below&lt;br /&gt;
  dir/file.[ois]  - Build specified target only&lt;br /&gt;
  dir/file.ko     - Build module including final link&lt;br /&gt;
  modules_prepare - Set up for building external modules&lt;br /&gt;
  tags/TAGS	  - Generate tags file for editors&lt;br /&gt;
  cscope	  - Generate cscope index&lt;br /&gt;
  kernelrelease	  - Output the release version string&lt;br /&gt;
  kernelversion	  - Output the version stored in Makefile&lt;br /&gt;
  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH&lt;br /&gt;
                    (default: /home/jack/BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r113b+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155/git/usr)&lt;br /&gt;
&lt;br /&gt;
Static analysers&lt;br /&gt;
  checkstack      - Generate a list of stack hogs&lt;br /&gt;
  namespacecheck  - Name space analysis on compiled kernel&lt;br /&gt;
  versioncheck    - Sanity check on version.h usage&lt;br /&gt;
  includecheck    - Check for duplicate included header files&lt;br /&gt;
  export_report   - List the usages of all exported symbols&lt;br /&gt;
  headers_check   - Sanity check on exported headers&lt;br /&gt;
  headerdep       - Detect inclusion cycles in headers&lt;br /&gt;
&lt;br /&gt;
Kernel packaging:&lt;br /&gt;
  rpm-pkg         - Build both source and binary RPM kernel packages&lt;br /&gt;
  binrpm-pkg      - Build only the binary kernel package&lt;br /&gt;
  deb-pkg         - Build the kernel as an deb package&lt;br /&gt;
  tar-pkg         - Build the kernel as an uncompressed tarball&lt;br /&gt;
  targz-pkg       - Build the kernel as a gzip compressed tarball&lt;br /&gt;
  tarbz2-pkg      - Build the kernel as a bzip2 compressed tarball&lt;br /&gt;
&lt;br /&gt;
Documentation targets:&lt;br /&gt;
 Linux kernel internal documentation in different formats:&lt;br /&gt;
  htmldocs        - HTML&lt;br /&gt;
  pdfdocs         - PDF&lt;br /&gt;
  psdocs          - Postscript&lt;br /&gt;
  xmldocs         - XML DocBook&lt;br /&gt;
  mandocs         - man pages&lt;br /&gt;
  installmandocs  - install man pages generated by mandocs&lt;br /&gt;
  cleandocs       - clean all generated DocBook files&lt;br /&gt;
&lt;br /&gt;
Architecture specific targets (arm):&lt;br /&gt;
* zImage        - Compressed kernel image (arch/arm/boot/zImage)&lt;br /&gt;
  Image         - Uncompressed kernel image (arch/arm/boot/Image)&lt;br /&gt;
* xipImage      - XIP kernel image, if configured (arch/arm/boot/xipImage)&lt;br /&gt;
  uImage        - U-Boot wrapped zImage&lt;br /&gt;
  bootpImage    - Combined zImage and initial RAM disk&lt;br /&gt;
                  (supply initrd image via make variable INITRD=&amp;lt;path&amp;gt;)&lt;br /&gt;
  install       - Install uncompressed kernel&lt;br /&gt;
  zinstall      - Install compressed kernel&lt;br /&gt;
                  Install using (your) ~/bin/installkernel or&lt;br /&gt;
                  (distribution) /sbin/installkernel or&lt;br /&gt;
                  install to $(INSTALL_PATH) and run lilo&lt;br /&gt;
&lt;br /&gt;
  acs5k_defconfig          - Build for acs5k&lt;br /&gt;
  acs5k_tiny_defconfig     - Build for acs5k_tiny&lt;br /&gt;
  afeb9260_defconfig       - Build for afeb9260&lt;br /&gt;
  am200epdkit_defconfig    - Build for am200epdkit&lt;br /&gt;
  am3517_evm_defconfig     - Build for am3517_evm&lt;br /&gt;
  ams_delta_defconfig      - Build for ams_delta&lt;br /&gt;
  assabet_defconfig        - Build for assabet&lt;br /&gt;
  at91cap9adk_defconfig    - Build for at91cap9adk&lt;br /&gt;
  at91rm9200dk_defconfig   - Build for at91rm9200dk&lt;br /&gt;
  at91rm9200ek_defconfig   - Build for at91rm9200ek&lt;br /&gt;
  at91sam9260ek_defconfig  - Build for at91sam9260ek&lt;br /&gt;
  at91sam9261ek_defconfig  - Build for at91sam9261ek&lt;br /&gt;
  at91sam9263ek_defconfig  - Build for at91sam9263ek&lt;br /&gt;
  at91sam9g20ek_defconfig  - Build for at91sam9g20ek&lt;br /&gt;
  at91sam9rlek_defconfig   - Build for at91sam9rlek&lt;br /&gt;
  ateb9200_defconfig       - Build for ateb9200&lt;br /&gt;
  badge4_defconfig         - Build for badge4&lt;br /&gt;
  bcmring_defconfig        - Build for bcmring&lt;br /&gt;
  cam60_defconfig          - Build for cam60&lt;br /&gt;
  carmeva_defconfig        - Build for carmeva&lt;br /&gt;
  cerfcube_defconfig       - Build for cerfcube&lt;br /&gt;
  cm_t35_defconfig         - Build for cm_t35&lt;br /&gt;
  cm_x2xx_defconfig        - Build for cm_x2xx&lt;br /&gt;
  cm_x300_defconfig        - Build for cm_x300&lt;br /&gt;
  colibri_pxa270_defconfig - Build for colibri_pxa270&lt;br /&gt;
  colibri_pxa300_defconfig - Build for colibri_pxa300&lt;br /&gt;
  collie_defconfig         - Build for collie&lt;br /&gt;
  corgi_defconfig          - Build for corgi&lt;br /&gt;
  cpu9260_defconfig        - Build for cpu9260&lt;br /&gt;
  cpu9g20_defconfig        - Build for cpu9g20&lt;br /&gt;
  cpuat91_defconfig        - Build for cpuat91&lt;br /&gt;
  csb337_defconfig         - Build for csb337&lt;br /&gt;
  csb637_defconfig         - Build for csb637&lt;br /&gt;
  da8xx_omapl_defconfig    - Build for da8xx_omapl&lt;br /&gt;
  davinci_all_defconfig    - Build for davinci_all&lt;br /&gt;
  dove_defconfig           - Build for dove&lt;br /&gt;
  ebsa110_defconfig        - Build for ebsa110&lt;br /&gt;
  ecbat91_defconfig        - Build for ecbat91&lt;br /&gt;
  edb7211_defconfig        - Build for edb7211&lt;br /&gt;
  em_x270_defconfig        - Build for em_x270&lt;br /&gt;
  ep93xx_defconfig         - Build for ep93xx&lt;br /&gt;
  eseries_pxa_defconfig    - Build for eseries_pxa&lt;br /&gt;
  ezx_defconfig            - Build for ezx&lt;br /&gt;
  footbridge_defconfig     - Build for footbridge&lt;br /&gt;
  fortunet_defconfig       - Build for fortunet&lt;br /&gt;
  h3600_defconfig          - Build for h3600&lt;br /&gt;
  h5000_defconfig          - Build for h5000&lt;br /&gt;
  h7201_defconfig          - Build for h7201&lt;br /&gt;
  h7202_defconfig          - Build for h7202&lt;br /&gt;
  hackkit_defconfig        - Build for hackkit&lt;br /&gt;
  htcherald_defconfig      - Build for htcherald&lt;br /&gt;
  igep0020_defconfig       - Build for igep0020&lt;br /&gt;
  integrator_defconfig     - Build for integrator&lt;br /&gt;
  iop13xx_defconfig        - Build for iop13xx&lt;br /&gt;
  iop32x_defconfig         - Build for iop32x&lt;br /&gt;
  iop33x_defconfig         - Build for iop33x&lt;br /&gt;
  ixp2000_defconfig        - Build for ixp2000&lt;br /&gt;
  ixp23xx_defconfig        - Build for ixp23xx&lt;br /&gt;
  ixp4xx_defconfig         - Build for ixp4xx&lt;br /&gt;
  jornada720_defconfig     - Build for jornada720&lt;br /&gt;
  kafa_defconfig           - Build for kafa&lt;br /&gt;
  kb9202_defconfig         - Build for kb9202&lt;br /&gt;
  kirkwood_defconfig       - Build for kirkwood&lt;br /&gt;
  ks8695_defconfig         - Build for ks8695&lt;br /&gt;
  lart_defconfig           - Build for lart&lt;br /&gt;
  loki_defconfig           - Build for loki&lt;br /&gt;
  lpd270_defconfig         - Build for lpd270&lt;br /&gt;
  lpd7a400_defconfig       - Build for lpd7a400&lt;br /&gt;
  lpd7a404_defconfig       - Build for lpd7a404&lt;br /&gt;
  lubbock_defconfig        - Build for lubbock&lt;br /&gt;
  lusl7200_defconfig       - Build for lusl7200&lt;br /&gt;
  magician_defconfig       - Build for magician&lt;br /&gt;
  mainstone_defconfig      - Build for mainstone&lt;br /&gt;
  mini2440_defconfig       - Build for mini2440&lt;br /&gt;
  msm_defconfig            - Build for msm&lt;br /&gt;
  mv78xx0_defconfig        - Build for mv78xx0&lt;br /&gt;
  mx1ads_defconfig         - Build for mx1ads&lt;br /&gt;
  mx1_defconfig            - Build for mx1&lt;br /&gt;
  mx21_defconfig           - Build for mx21&lt;br /&gt;
  mx27_defconfig           - Build for mx27&lt;br /&gt;
  mx31pdk_defconfig        - Build for mx31pdk&lt;br /&gt;
  mx3_defconfig            - Build for mx3&lt;br /&gt;
  n770_defconfig           - Build for n770&lt;br /&gt;
  n8x0_defconfig           - Build for n8x0&lt;br /&gt;
  neocore926_defconfig     - Build for neocore926&lt;br /&gt;
  neponset_defconfig       - Build for neponset&lt;br /&gt;
  netwinder_defconfig      - Build for netwinder&lt;br /&gt;
  netx_defconfig           - Build for netx&lt;br /&gt;
  nhk8815_defconfig        - Build for nhk8815&lt;br /&gt;
  ns9xxx_defconfig         - Build for ns9xxx&lt;br /&gt;
  nuc910_defconfig         - Build for nuc910&lt;br /&gt;
  nuc950_defconfig         - Build for nuc950&lt;br /&gt;
  nuc960_defconfig         - Build for nuc960&lt;br /&gt;
  omap_2430sdp_defconfig   - Build for omap_2430sdp&lt;br /&gt;
  omap_3430sdp_defconfig   - Build for omap_3430sdp&lt;br /&gt;
  omap_3630sdp_defconfig   - Build for omap_3630sdp&lt;br /&gt;
  omap3_beagle_cam_defconfig - Build for omap3_beagle_cam&lt;br /&gt;
  omap3_beagle_defconfig   - Build for omap3_beagle&lt;br /&gt;
  omap3_defconfig          - Build for omap3&lt;br /&gt;
  omap3_evm_defconfig      - Build for omap3_evm&lt;br /&gt;
  omap3_pandora_defconfig  - Build for omap3_pandora&lt;br /&gt;
  omap3_pm_defconfig       - Build for omap3_pm&lt;br /&gt;
  omap3_touchbook_defconfig - Build for omap3_touchbook&lt;br /&gt;
  omap_4430sdp_defconfig   - Build for omap_4430sdp&lt;br /&gt;
  omap_apollon_2420_defconfig - Build for omap_apollon_2420&lt;br /&gt;
  omap_generic_1510_defconfig - Build for omap_generic_1510&lt;br /&gt;
  omap_generic_1610_defconfig - Build for omap_generic_1610&lt;br /&gt;
  omap_generic_1710_defconfig - Build for omap_generic_1710&lt;br /&gt;
  omap_generic_2420_defconfig - Build for omap_generic_2420&lt;br /&gt;
  omap_h2_1610_defconfig   - Build for omap_h2_1610&lt;br /&gt;
  omap_h4_2420_defconfig   - Build for omap_h4_2420&lt;br /&gt;
  omap_innovator_1510_defconfig - Build for omap_innovator_1510&lt;br /&gt;
  omap_innovator_1610_defconfig - Build for omap_innovator_1610&lt;br /&gt;
  omap_ldp_defconfig       - Build for omap_ldp&lt;br /&gt;
  omap_osk_5912_defconfig  - Build for omap_osk_5912&lt;br /&gt;
  omap_perseus2_730_defconfig - Build for omap_perseus2_730&lt;br /&gt;
  omap_zoom2_defconfig     - Build for omap_zoom2&lt;br /&gt;
  omap_zoom3_defconfig     - Build for omap_zoom3&lt;br /&gt;
  onearm_defconfig         - Build for onearm&lt;br /&gt;
  orion5x_defconfig        - Build for orion5x&lt;br /&gt;
  overo_defconfig          - Build for overo&lt;br /&gt;
  palmte_defconfig         - Build for palmte&lt;br /&gt;
  palmtt_defconfig         - Build for palmtt&lt;br /&gt;
  palmz71_defconfig        - Build for palmz71&lt;br /&gt;
  palmz72_defconfig        - Build for palmz72&lt;br /&gt;
  pcm027_defconfig         - Build for pcm027&lt;br /&gt;
  picotux200_defconfig     - Build for picotux200&lt;br /&gt;
  pleb_defconfig           - Build for pleb&lt;br /&gt;
  pnx4008_defconfig        - Build for pnx4008&lt;br /&gt;
  pxa168_defconfig         - Build for pxa168&lt;br /&gt;
  pxa255-idp_defconfig     - Build for pxa255-idp&lt;br /&gt;
  pxa3xx_defconfig         - Build for pxa3xx&lt;br /&gt;
  pxa910_defconfig         - Build for pxa910&lt;br /&gt;
  qil-a9260_defconfig      - Build for qil-a9260&lt;br /&gt;
  realview_defconfig       - Build for realview&lt;br /&gt;
  realview-smp_defconfig   - Build for realview-smp&lt;br /&gt;
  rpc_defconfig            - Build for rpc&lt;br /&gt;
  rx51_defconfig           - Build for rx51&lt;br /&gt;
  s3c2410_defconfig        - Build for s3c2410&lt;br /&gt;
  s3c6400_defconfig        - Build for s3c6400&lt;br /&gt;
  s5pc100_defconfig        - Build for s5pc100&lt;br /&gt;
  sam9_l9260_defconfig     - Build for sam9_l9260&lt;br /&gt;
  shannon_defconfig        - Build for shannon&lt;br /&gt;
  shark_defconfig          - Build for shark&lt;br /&gt;
  simpad_defconfig         - Build for simpad&lt;br /&gt;
  spitz_defconfig          - Build for spitz&lt;br /&gt;
  stmp378x_defconfig       - Build for stmp378x&lt;br /&gt;
  stmp37xx_defconfig       - Build for stmp37xx&lt;br /&gt;
  sx1_defconfig            - Build for sx1&lt;br /&gt;
  tct_hammer_defconfig     - Build for tct_hammer&lt;br /&gt;
  trizeps4_defconfig       - Build for trizeps4&lt;br /&gt;
  u300_defconfig           - Build for u300&lt;br /&gt;
  u8500_defconfig          - Build for u8500&lt;br /&gt;
  usb-a9260_defconfig      - Build for usb-a9260&lt;br /&gt;
  usb-a9263_defconfig      - Build for usb-a9263&lt;br /&gt;
  versatile_defconfig      - Build for versatile&lt;br /&gt;
  viper_defconfig          - Build for viper&lt;br /&gt;
  xcep_defconfig           - Build for xcep&lt;br /&gt;
  yl9200_defconfig         - Build for yl9200&lt;br /&gt;
  zeus_defconfig           - Build for zeus&lt;br /&gt;
&lt;br /&gt;
  make V=0|1 [targets] 0 =&amp;gt; quiet build (default), 1 =&amp;gt; verbose build&lt;br /&gt;
  make V=2   [targets] 2 =&amp;gt; give reason for rebuild of target&lt;br /&gt;
  make O=dir [targets] Locate all output files in &amp;quot;dir&amp;quot;, including .config&lt;br /&gt;
  make C=1   [targets] Check all c source with $CHECK (sparse by default)&lt;br /&gt;
  make C=2   [targets] Force check of all c source with $CHECK&lt;br /&gt;
&lt;br /&gt;
Execute &amp;quot;make&amp;quot; or &amp;quot;make all&amp;quot; to build all targets marked with [*] &lt;br /&gt;
For further info see the ./README file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 82&lt;br /&gt;
| Linux autoconf.h &lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 82&lt;br /&gt;
| Linux autoconf.h &lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Hellohello</id>
		<title>Hellohello</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Hellohello"/>
				<updated>2012-01-21T06:49:57Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
! Number&lt;br /&gt;
! Page&lt;br /&gt;
! Caption&lt;br /&gt;
! Listing&lt;br /&gt;
|-&lt;br /&gt;
| 4-1&lt;br /&gt;
| 71&lt;br /&gt;
| Kernel Build Output&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
source ~/.oe/crossCompileEnv.sh&lt;br /&gt;
make uImage&lt;br /&gt;
...&lt;br /&gt;
  CC      lib/rwsem-spinlock.o&lt;br /&gt;
  CC      lib/sha1.o&lt;br /&gt;
  CC      lib/show_mem.o&lt;br /&gt;
  CC      lib/string.o&lt;br /&gt;
  CC      lib/vsprintf.o&lt;br /&gt;
  AR      lib/lib.a&lt;br /&gt;
  LD      vmlinux.o&lt;br /&gt;
  MODPOST vmlinux.o&lt;br /&gt;
  GEN     .version&lt;br /&gt;
  CHK     include/linux/compile.h&lt;br /&gt;
  UPD     include/linux/compile.h&lt;br /&gt;
  CC      init/version.o&lt;br /&gt;
  LD      init/built-in.o&lt;br /&gt;
  LD      .tmp_vmlinux1&lt;br /&gt;
  KSYM    .tmp_kallsyms1.S&lt;br /&gt;
  AS      .tmp_kallsyms1.o&lt;br /&gt;
  LD      .tmp_vmlinux2&lt;br /&gt;
  KSYM    .tmp_kallsyms2.S&lt;br /&gt;
  AS      .tmp_kallsyms2.o&lt;br /&gt;
  LD      vmlinux&lt;br /&gt;
  SYSMAP  System.map&lt;br /&gt;
  SYSMAP  .tmp_System.map&lt;br /&gt;
  OBJCOPY arch/arm/boot/Image&lt;br /&gt;
  Kernel: arch/arm/boot/Image is ready&lt;br /&gt;
  AS      arch/arm/boot/compressed/head.o&lt;br /&gt;
  GZIP    arch/arm/boot/compressed/piggy.gz&lt;br /&gt;
  AS      arch/arm/boot/compressed/piggy.o&lt;br /&gt;
  CC      arch/arm/boot/compressed/misc.o&lt;br /&gt;
  LD      arch/arm/boot/compressed/vmlinux&lt;br /&gt;
  OBJCOPY arch/arm/boot/zImage&lt;br /&gt;
  Kernel: arch/arm/boot/zImage is ready&lt;br /&gt;
  UIMAGE  arch/arm/boot/uImage&lt;br /&gt;
Image Name:   Linux-2.6.32&lt;br /&gt;
Created:      Fri Jan 20 19:15:22 2012&lt;br /&gt;
Image Type:   ARM Linux Kernel Image (uncompressed)&lt;br /&gt;
Data Size:    3144260 Bytes = 3070.57 kB = 3.00 MB&lt;br /&gt;
Load Address: 80008000&lt;br /&gt;
Entry Point:  80008000&lt;br /&gt;
  Image arch/arm/boot/uImage is ready&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-3&lt;br /&gt;
| 77&lt;br /&gt;
| Kernel Subdirectory &lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
jack@jack-laptop:~/BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r113b+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155/git/arch/arm/plat-omap$ ls -ls | grep -v \\.o&lt;br /&gt;
total 812&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10215 2012-01-03 14:29 clock.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack   8486 2012-01-03 14:29 common.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   4702 2012-01-03 14:29 cpu-omap.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2192 2012-01-03 14:29 debug-devices.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   7170 2012-01-03 14:29 debug-leds.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10856 2012-01-03 14:29 devices.c&lt;br /&gt;
 52 -rw-r--r-- 1 jack jack  52738 2012-01-03 14:29 dma.c&lt;br /&gt;
 24 -rw-r--r-- 1 jack jack  23360 2012-01-03 14:29 dmtimer.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10055 2012-01-03 14:29 fb.c&lt;br /&gt;
 64 -rw-r--r-- 1 jack jack  63027 2012-01-03 14:29 gpio.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   5927 2012-01-03 14:29 i2c.c&lt;br /&gt;
  4 drwxr-xr-x 4 jack jack   4096 2012-01-03 14:29 include&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   6441 2012-01-03 14:29 io.c&lt;br /&gt;
 24 -rw-r--r-- 1 jack jack  20755 2012-01-03 14:29 iommu.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack   9117 2012-01-03 14:29 iommu-debug.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2152 2012-01-03 14:29 iopgtable.h&lt;br /&gt;
 20 -rw-r--r-- 1 jack jack  19320 2012-01-03 14:29 iovmm.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   6239 2012-01-03 14:29 Kconfig&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack   8384 2012-01-03 14:29 mailbox.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10541 2012-01-03 14:56 mailbox.ko&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   1504 2012-01-03 14:55 mailbox.mod.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   1062 2012-01-03 14:29 Makefile&lt;br /&gt;
 36 -rw-r--r-- 1 jack jack  36086 2012-01-03 14:29 mcbsp.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2263 2012-01-03 14:29 mux.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2739 2012-01-03 14:29 ocpi.c&lt;br /&gt;
 20 -rw-r--r-- 1 jack jack  19866 2012-01-03 14:29 omap_device.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   7252 2012-01-03 14:29 omap-pm-noop.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   7171 2012-01-03 14:29 omap-pm-srf.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2757 2012-01-03 14:29 psp-version.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   1202 2012-01-03 14:29 psp-version.h&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  12199 2012-01-03 14:29 resource.c&lt;br /&gt;
 16 -rw-r--r-- 1 jack jack  12884 2012-01-03 14:29 sram.c&lt;br /&gt;
 20 -rw-r--r-- 1 jack jack  18770 2012-01-03 14:29 usb.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-4&lt;br /&gt;
| 79&lt;br /&gt;
| Snippet from Linux 2.6 .config &lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Automatically generated make config: don't edit&lt;br /&gt;
# Linux kernel version: 2.6.32&lt;br /&gt;
# Tue Jan  3 15:00:03 2012&lt;br /&gt;
#&lt;br /&gt;
CONFIG_ARM=y&lt;br /&gt;
CONFIG_SYS_SUPPORTS_APM_EMULATION=y&lt;br /&gt;
CONFIG_GENERIC_GPIO=y&lt;br /&gt;
CONFIG_GENERIC_TIME=y&lt;br /&gt;
CONFIG_GENERIC_CLOCKEVENTS=y&lt;br /&gt;
CONFIG_GENERIC_HARDIRQS=y&lt;br /&gt;
CONFIG_STACKTRACE_SUPPORT=y&lt;br /&gt;
CONFIG_HAVE_LATENCYTOP_SUPPORT=y&lt;br /&gt;
CONFIG_LOCKDEP_SUPPORT=y&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-5&lt;br /&gt;
| 82&lt;br /&gt;
| Linux autoconf.h &lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
jack@jack-laptop:~/BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r113b+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155/git/include/linux$ cat autoconf.h | grep CONFIG_USB&lt;br /&gt;
#define CONFIG_USB_SISUSBVGA_MODULE 1&lt;br /&gt;
#define CONFIG_USB_MUSB_HDRC 1&lt;br /&gt;
#define CONFIG_USB_LEGOTOWER_MODULE 1&lt;br /&gt;
#define CONFIG_USB_SERIAL_IR_MODULE 1&lt;br /&gt;
#define CONFIG_USB_GSPCA_T613_MODULE 1&lt;br /&gt;
#define CONFIG_USB_SERIAL_TI_MODULE 1&lt;br /&gt;
#define CONFIG_USB_ETH_RNDIS 1&lt;br /&gt;
#define CONFIG_USB_SERIAL_MODULE 1&lt;br /&gt;
#define CONFIG_USB_W9968CF_MODULE 1&lt;br /&gt;
#define CONFIG_USB_RTL8150 1&lt;br /&gt;
#define CONFIG_USB_SERIAL_WHITEHEAT_MODULE 1&lt;br /&gt;
#define CONFIG_USB_GADGET_MUSB_HDRC 1&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Hellohello</id>
		<title>Hellohello</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Hellohello"/>
				<updated>2012-01-21T06:26:58Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
! Number&lt;br /&gt;
! Page&lt;br /&gt;
! Caption&lt;br /&gt;
! Listing&lt;br /&gt;
|-&lt;br /&gt;
| 4-1&lt;br /&gt;
| 71&lt;br /&gt;
| Kernel Build Output&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
source ~/.oe/crossCompileEnv.sh&lt;br /&gt;
make uImage&lt;br /&gt;
...&lt;br /&gt;
  CC      lib/rwsem-spinlock.o&lt;br /&gt;
  CC      lib/sha1.o&lt;br /&gt;
  CC      lib/show_mem.o&lt;br /&gt;
  CC      lib/string.o&lt;br /&gt;
  CC      lib/vsprintf.o&lt;br /&gt;
  AR      lib/lib.a&lt;br /&gt;
  LD      vmlinux.o&lt;br /&gt;
  MODPOST vmlinux.o&lt;br /&gt;
  GEN     .version&lt;br /&gt;
  CHK     include/linux/compile.h&lt;br /&gt;
  UPD     include/linux/compile.h&lt;br /&gt;
  CC      init/version.o&lt;br /&gt;
  LD      init/built-in.o&lt;br /&gt;
  LD      .tmp_vmlinux1&lt;br /&gt;
  KSYM    .tmp_kallsyms1.S&lt;br /&gt;
  AS      .tmp_kallsyms1.o&lt;br /&gt;
  LD      .tmp_vmlinux2&lt;br /&gt;
  KSYM    .tmp_kallsyms2.S&lt;br /&gt;
  AS      .tmp_kallsyms2.o&lt;br /&gt;
  LD      vmlinux&lt;br /&gt;
  SYSMAP  System.map&lt;br /&gt;
  SYSMAP  .tmp_System.map&lt;br /&gt;
  OBJCOPY arch/arm/boot/Image&lt;br /&gt;
  Kernel: arch/arm/boot/Image is ready&lt;br /&gt;
  AS      arch/arm/boot/compressed/head.o&lt;br /&gt;
  GZIP    arch/arm/boot/compressed/piggy.gz&lt;br /&gt;
  AS      arch/arm/boot/compressed/piggy.o&lt;br /&gt;
  CC      arch/arm/boot/compressed/misc.o&lt;br /&gt;
  LD      arch/arm/boot/compressed/vmlinux&lt;br /&gt;
  OBJCOPY arch/arm/boot/zImage&lt;br /&gt;
  Kernel: arch/arm/boot/zImage is ready&lt;br /&gt;
  UIMAGE  arch/arm/boot/uImage&lt;br /&gt;
Image Name:   Linux-2.6.32&lt;br /&gt;
Created:      Fri Jan 20 19:15:22 2012&lt;br /&gt;
Image Type:   ARM Linux Kernel Image (uncompressed)&lt;br /&gt;
Data Size:    3144260 Bytes = 3070.57 kB = 3.00 MB&lt;br /&gt;
Load Address: 80008000&lt;br /&gt;
Entry Point:  80008000&lt;br /&gt;
  Image arch/arm/boot/uImage is ready&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-3&lt;br /&gt;
| 77&lt;br /&gt;
| Kernel Subdirectory &lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
jack@jack-laptop:~/BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r113b+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155/git/arch/arm/plat-omap$ ls -ls | grep -v \\.o&lt;br /&gt;
total 812&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10215 2012-01-03 14:29 clock.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack   8486 2012-01-03 14:29 common.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   4702 2012-01-03 14:29 cpu-omap.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2192 2012-01-03 14:29 debug-devices.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   7170 2012-01-03 14:29 debug-leds.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10856 2012-01-03 14:29 devices.c&lt;br /&gt;
 52 -rw-r--r-- 1 jack jack  52738 2012-01-03 14:29 dma.c&lt;br /&gt;
 24 -rw-r--r-- 1 jack jack  23360 2012-01-03 14:29 dmtimer.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10055 2012-01-03 14:29 fb.c&lt;br /&gt;
 64 -rw-r--r-- 1 jack jack  63027 2012-01-03 14:29 gpio.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   5927 2012-01-03 14:29 i2c.c&lt;br /&gt;
  4 drwxr-xr-x 4 jack jack   4096 2012-01-03 14:29 include&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   6441 2012-01-03 14:29 io.c&lt;br /&gt;
 24 -rw-r--r-- 1 jack jack  20755 2012-01-03 14:29 iommu.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack   9117 2012-01-03 14:29 iommu-debug.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2152 2012-01-03 14:29 iopgtable.h&lt;br /&gt;
 20 -rw-r--r-- 1 jack jack  19320 2012-01-03 14:29 iovmm.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   6239 2012-01-03 14:29 Kconfig&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack   8384 2012-01-03 14:29 mailbox.c&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  10541 2012-01-03 14:56 mailbox.ko&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   1504 2012-01-03 14:55 mailbox.mod.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   1062 2012-01-03 14:29 Makefile&lt;br /&gt;
 36 -rw-r--r-- 1 jack jack  36086 2012-01-03 14:29 mcbsp.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2263 2012-01-03 14:29 mux.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2739 2012-01-03 14:29 ocpi.c&lt;br /&gt;
 20 -rw-r--r-- 1 jack jack  19866 2012-01-03 14:29 omap_device.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   7252 2012-01-03 14:29 omap-pm-noop.c&lt;br /&gt;
  8 -rw-r--r-- 1 jack jack   7171 2012-01-03 14:29 omap-pm-srf.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   2757 2012-01-03 14:29 psp-version.c&lt;br /&gt;
  4 -rw-r--r-- 1 jack jack   1202 2012-01-03 14:29 psp-version.h&lt;br /&gt;
 12 -rw-r--r-- 1 jack jack  12199 2012-01-03 14:29 resource.c&lt;br /&gt;
 16 -rw-r--r-- 1 jack jack  12884 2012-01-03 14:29 sram.c&lt;br /&gt;
 20 -rw-r--r-- 1 jack jack  18770 2012-01-03 14:29 usb.c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4-4&lt;br /&gt;
| 79&lt;br /&gt;
| Snippet from Linux 2.6 .config &lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Automatically generated make config: don't edit&lt;br /&gt;
# Linux kernel version: 2.6.32&lt;br /&gt;
# Tue Jan  3 15:00:03 2012&lt;br /&gt;
#&lt;br /&gt;
CONFIG_ARM=y&lt;br /&gt;
CONFIG_SYS_SUPPORTS_APM_EMULATION=y&lt;br /&gt;
CONFIG_GENERIC_GPIO=y&lt;br /&gt;
CONFIG_GENERIC_TIME=y&lt;br /&gt;
CONFIG_GENERIC_CLOCKEVENTS=y&lt;br /&gt;
CONFIG_GENERIC_HARDIRQS=y&lt;br /&gt;
CONFIG_STACKTRACE_SUPPORT=y&lt;br /&gt;
CONFIG_HAVE_LATENCYTOP_SUPPORT=y&lt;br /&gt;
CONFIG_LOCKDEP_SUPPORT=y&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Hellohello</id>
		<title>Hellohello</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Hellohello"/>
				<updated>2012-01-21T06:22:57Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
! Number&lt;br /&gt;
! Page&lt;br /&gt;
! Caption&lt;br /&gt;
! Listing&lt;br /&gt;
|-&lt;br /&gt;
| 4-1&lt;br /&gt;
| 71&lt;br /&gt;
| Kernel Build Output&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
$ export OETREE=&amp;quot;${HOME}/oe&amp;quot;&lt;br /&gt;
$ PATH=${OETREE}/angstrom-dev/staging/i686-linux/usr/bin/:${PATH}&lt;br /&gt;
$ PATH=${OETREE}/angstrom-dev/cross/armv7a/bin/:${PATH}&lt;br /&gt;
$ make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage&lt;br /&gt;
  CHK     include/linux/version.h&lt;br /&gt;
make[1]: `include/asm-arm/mach-types.h' is up to date.&lt;br /&gt;
  CHK     include/linux/utsrelease.h&lt;br /&gt;
  SYMLINK include/asm -&amp;gt; include/asm-arm&lt;br /&gt;
  CALL    scripts/checksyscalls.sh&lt;br /&gt;
  CHK     include/linux/compile.h&lt;br /&gt;
  CC      arch/arm/mach-omap2/io.o&lt;br /&gt;
  CC      arch/arm/mach-omap2/devices.o&lt;br /&gt;
      .&lt;br /&gt;
      .  &amp;lt;lines of output omitted here&amp;gt;&lt;br /&gt;
      .&lt;br /&gt;
  LD      vmlinux&lt;br /&gt;
  SYSMAP  System.map&lt;br /&gt;
  SYSMAP  .tmp_System.map&lt;br /&gt;
  OBJCOPY arch/arm/boot/Image&lt;br /&gt;
  Kernel: arch/arm/boot/Image is ready&lt;br /&gt;
  GZIP    arch/arm/boot/compressed/piggy.gz&lt;br /&gt;
  AS      arch/arm/boot/compressed/piggy.o&lt;br /&gt;
  LD      arch/arm/boot/compressed/vmlinux&lt;br /&gt;
  OBJCOPY arch/arm/boot/zImage&lt;br /&gt;
  Kernel: arch/arm/boot/zImage is ready&lt;br /&gt;
  UIMAGE  arch/arm/boot/uImage&lt;br /&gt;
Image Name:   Linux-2.6.29-omap1&lt;br /&gt;
Created:      Tue Mar  9 12:58:27 2010&lt;br /&gt;
Image Type:   ARM Linux Kernel Image (uncompressed)&lt;br /&gt;
Data Size:    2991236 Bytes = 2921.13 kB = 2.85 MB&lt;br /&gt;
Load Address: 0x80008000&lt;br /&gt;
Entry Point:  0x80008000&lt;br /&gt;
  Image arch/arm/boot/uImage is ready&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Mac</id>
		<title>User:Mac</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Mac"/>
				<updated>2012-01-21T06:21:54Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: /* Chapter 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jack Ma:&lt;br /&gt;
&lt;br /&gt;
I am a CS/Math senior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chapter 2 ==&lt;br /&gt;
&lt;br /&gt;
* [[ECE497 Listings for Chapter 2--Yifei | Listings for Chapter 2 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[Hellohello | Listings for Chapter 4 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 5 ==&lt;br /&gt;
&lt;br /&gt;
* [[ECE497 Listings for Chapter 5--Yifei | Listings for Chapter 5 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 6 ==&lt;br /&gt;
&lt;br /&gt;
* [[ECE497 Listings for Chapter 6--Yifei | Listings for Chapter 6 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 7 ==&lt;br /&gt;
&lt;br /&gt;
* [[ECE497 Listings for Chapter 7--Yifei | Listings for Chapter 7 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 8 ==&lt;br /&gt;
&lt;br /&gt;
* [[ECE497 Listings for Chapter 8--Yifei | Listings for Chapter 8 ]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE497]]&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Hellohello</id>
		<title>Hellohello</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Hellohello"/>
				<updated>2012-01-21T06:21:21Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: Created page with &amp;quot;jack is testing&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;jack is testing&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Mac</id>
		<title>User:Mac</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Mac"/>
				<updated>2012-01-21T06:16:50Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jack Ma:&lt;br /&gt;
&lt;br /&gt;
I am a CS/Math senior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Chapter 2 ==&lt;br /&gt;
&lt;br /&gt;
* [[ECE497 Listings for Chapter 2--Yifei | Listings for Chapter 2 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[ECE497 Listings for Chapter 4--Yifei | Listings for Chapter 4 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 5 ==&lt;br /&gt;
&lt;br /&gt;
* [[ECE497 Listings for Chapter 5--Yifei | Listings for Chapter 5 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 6 ==&lt;br /&gt;
&lt;br /&gt;
* [[ECE497 Listings for Chapter 6--Yifei | Listings for Chapter 6 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 7 ==&lt;br /&gt;
&lt;br /&gt;
* [[ECE497 Listings for Chapter 7--Yifei | Listings for Chapter 7 ]]&lt;br /&gt;
&lt;br /&gt;
== Chapter 8 ==&lt;br /&gt;
&lt;br /&gt;
* [[ECE497 Listings for Chapter 8--Yifei | Listings for Chapter 8 ]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE497]]&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Project_Ideas</id>
		<title>ECE497 Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project_Ideas"/>
				<updated>2012-01-02T17:39:47Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
[[Category:BeagleBoard]]&lt;br /&gt;
&lt;br /&gt;
We have both mini projects and projects in ECE497.  &lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
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 [https://github.com/ github] and a [http://bitbake.berlios.de/manual/ bitbake receipt] will be created to automatically download and create the object files.&lt;br /&gt;
&lt;br /&gt;
What follows are&lt;br /&gt;
&lt;br /&gt;
; Places to look for project ideas: Feel free to add your own suggestions.&lt;br /&gt;
; Mini Project ideas: Add your own suggestions, and do some of them.  Mark the ones you've done.&lt;br /&gt;
; Full Project ideas: ditto.&lt;br /&gt;
&lt;br /&gt;
== Sources for Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
Here are some links where you'll find ideas for your project.&lt;br /&gt;
* [http://wiki.omap.com/index.php/ETechDays_Community_Lightning_Talks 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.&lt;br /&gt;
* [http://beagleboard.org/project Official list of Beagle Projects], there are many Beagle specific projects listed here.  Many are inactive.  ''List your project here once it running.''&lt;br /&gt;
* [http://www.youtube.com/watch?v=Mk1xjbA-ISE 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 [http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&amp;amp;tabId=2235 TI DLP pico projector]. [http://www.hitlabnz.org/wiki/EmbeddedAR Here's] AR running on the Beagle. &lt;br /&gt;
* [http://code.google.com/p/0xdroid/ Android], this is one of a couple of efforts to port [http://source.android.com/ Google's Android OS] to the Beagle.&lt;br /&gt;
* [[BeagleBoard/Ideas-2009]] Google summer code ideas 2009.&lt;br /&gt;
&lt;br /&gt;
== Mini Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Suggestor&lt;br /&gt;
! Implementor&lt;br /&gt;
! Description&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Write up some notes on the NEON extensions to ARM.&lt;br /&gt;
| [http://www.cnx-software.com/2011/11/27/arm-neon-tutorial-in-c-and-assembler/ arm-neon-tutorial-in-c-and-assembler]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Work up an example of controlling the PWM registers from the shell.&lt;br /&gt;
| [http://esdw.wordpress.com/2010/03/25/a-useful-tool-devmem2/ PWM via the shell]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Weather Station&lt;br /&gt;
| [http://dominion.thruhere.net/koen/cms/using-the-beaglebone-as-a-weatherstation Ultrasonic weather]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Mike Yuhas&lt;br /&gt;
| Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C&lt;br /&gt;
| [http://yetanotherhackersblog.wordpress.com/2011/04/07/interfacing-the-beagleboard-with-an-srf08-ultrasonic-ranger-over-i2c Ultrasonic Ranger]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Compile the PowerVR examples&lt;br /&gt;
| [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp PowerVR Insider SDK Downloads]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Work up some GStreamer PS EYE Demos&lt;br /&gt;
| [http://www.electronsonradio.com/2011/06/playstation-eye-gstreamer-examples GStreamer PS EYE Demos] and [http://www.ridgerun.com/blog/?p=224 RidgeRun]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Douglas Selby&lt;br /&gt;
| Get TI' embedded speech recognizer installed and demo the examples.&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| David Zitnik&lt;br /&gt;
| Demo last year's TI speech project.  I have a microphone amplifier and mike you can use.&lt;br /&gt;
| [[ECE597 Project pyWikiReader]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Find who is doing what with Kinect on the Beagle and install and run it.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+kinect&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQga2lu&amp;amp;qesig=9qrD0rFfjWfujRRGmkB_Bw&amp;amp;pkc=AFgZ2tn-cylx0f71PasgBKOazjBQY3VK712RWQ7DueEjQNAdbOHr6BCgUd9xdyXyPe8TWErkesrQ246vygwImnAS5mIzCG2-5g&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;source=hp&amp;amp;aq=0&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+kin&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard kinect]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Greg Harrison&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+playstation+eye+microphone+array&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQgcGxheXN0YXRpb24gZXllIG1pY3JvcGhvbmUgYXJyYXk&amp;amp;qesig=Sdh5Ru_jodwYydoeTls1GA&amp;amp;pkc=AFgZ2tmwB41tQwF7XwrJPqFnf0NRO911bMCrbnU1HR9Vm6-Pg0sH8LvbJZsKwjKRUpoin4cZlwLIngZw8OC7dyanjcJCG4N_kg&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+playstation+eye+microphone+array&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard playstation eye microphone array]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://processors.wiki.ti.com/index.php/CMEM_Overview CMEM Overview]&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| 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. &lt;br /&gt;
| [[BeagleBoardBeginners#Connect_with_your_beagleboard_using_VNC_and_ethernet_over_USB | VNC]]&lt;br /&gt;
|-&lt;br /&gt;
| Brian Hulette&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| 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.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Get a video stream from a PS Eye, and identify the relevant device files.&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_Eye#cite_note-Linux_support-32 PlayStation_Eye#cite_note-Linux_support-32]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| William Gerth&lt;br /&gt;
| William Gerth&lt;br /&gt;
| Explore the possibility of implementing OpenAOS on the Beagle, to make a portable media player and etc.&lt;br /&gt;
| http://www.openaos.org/&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://itgen.blogspot.com/2011/03/beagleboard-xm-u-boot-without-serial.html BeagleBoard XM U-boot without Serial]&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB Mount BeagleBoard Root Filesystem over NFS via USB]&lt;br /&gt;
Here's an example of mounting dfs/afs on the Beagle&lt;br /&gt;
&lt;br /&gt;
[[ECE497 Mounting dfs/afs in Linux]]&lt;br /&gt;
|-&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Build communication with FPGA via USB port.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| 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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://antipastohw.blogspot.com/2010/09/how-to-make-beagleboard-elastic-r.html How to make a BeagleBoard Elastic R Beowulf Cluster]&lt;br /&gt;
|-&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Configure wlan on the beagle board using a wireless usb adapter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Get XBMC working on the beagle.&lt;br /&gt;
| [http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC XBMC wiki page]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Sam Allen&lt;br /&gt;
|&lt;br /&gt;
| Port Android to beagle&lt;br /&gt;
| It's done.  Check out [http://code.google.com/p/rowboat/ this].&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| Change the splash screen to a Rose logo when the Beagle starts up&lt;br /&gt;
| [http://blog.bizmobiletech.com/?p=253&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+BeagleBoard+%28BeagleBoard.org%29 How to Change Angstrom Boot logo in beagleboard]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Ziyi Zhang&lt;br /&gt;
| Do remote debugging with Eclipse.  My page needs updating. This [http://www.lvr.com/eclipse1.htm tutorial] might be helpful.&lt;br /&gt;
| [[ECE497 Installing the Eclipse IDE]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://eigen.tuxfamily.org/index.php?title=Main_Page eigen.tuxfamily.org]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Find what libraries are available for the DSP side of the DM 3730 and write some examples that use them.&lt;br /&gt;
| [http://focus.ti.com/docs/toolsw/folders/print/sprc265.html C64x+ DSP Library (DSPLIB)] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc092.html DSPLIB] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc094.html IMGLIB]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Convert the OSS labs to use the new ALSA drivers&lt;br /&gt;
| [http://www.alsa-project.org/main/index.php/Tutorials_and_Presentations ALSA Tutorials]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/BeagleBoardFAQ#.22DSS2.22_display_driver_for_.3E.3D_2.6.29 dss2]&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install an RT kernel on beagleboard. If successful, this could turn into a full project for exploring RT system and application.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install a VPN server on beagleboard.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Guanqun Wang&lt;br /&gt;
| &lt;br /&gt;
| Run beagle board with a small LCD display&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| &lt;br /&gt;
| Demo a BeagleLight program that could synchronize LEDs with music.&lt;br /&gt;
| http://processors.wiki.ti.com/index.php/BeagleLight&lt;br /&gt;
|-&lt;br /&gt;
| Yuming Cao&lt;br /&gt;
|&lt;br /&gt;
| Make beagleboard make a phone call&lt;br /&gt;
| http://www.youtube.com/watch?v=uVCx1S8RLfs&amp;amp;feature=related&lt;br /&gt;
|-&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Display BeagleBoard orientation by using accelerometer and opengl.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Automatically start VNC service after login on BeagleBoard.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Full Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Winter 2011-2012 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://e2e.ti.com/blogs_/b/dlp_mems_blog/archive/2011/05/13/3d-structured-light-using-dlp-technology.aspx 3D Structured Light using DLP® Technology]&lt;br /&gt;
| Create 3D maps using a DLP pico and the Beagle.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://m.matrixsynth.com/2011/06/beagleboard-synth-proof-of-concept.htm Beagle Midi]&lt;br /&gt;
| Make the Beagle synthesize midi files.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://www.sakoman.com/OMAP/an-overiew-of-omap3-power-management-with-2639-pm.html Beagle Power Management]&lt;br /&gt;
| Work up some power management demos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
| Port TI's fixed-point speech recognizer to the DSP.  It currently runs on the ARM.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Kinect&lt;br /&gt;
| [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.&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Accelerometer-based auto-leveled projection&lt;br /&gt;
| Several projects have been started to add [http://matthsu-abacus.blogspot.com/2009/11/build-3-axis-accelerometer-on.html  accelerometer support] to the BeagleBoard. This project would involve getting an accelerometer installed and working, perhaps using a [http://elinux.org/BeagleBoard_Trainer trainer board], as well the [http://focus.ti.com/general/docs/gencontent.tsp?contentId=52770 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.&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Kinect Based 3d Scanner&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Port winDSK6 to the Beagle&lt;br /&gt;
| [http://www.ece.wisc.edu/~morrow/software/ 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.  [http://processors.wiki.ti.com/index.php/C6Run c6run] would be used to interact with the DSP.  &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Automated Die Tester&lt;br /&gt;
| 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 &amp;quot;rolling a die&amp;quot;. The software doesn't necessarily have to know what the numbers mean, it just has to be able to uniquely identify the sides.&lt;br /&gt;
|-&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Set-Playing System&lt;br /&gt;
| 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 (&amp;quot;If I have these 2 cards, what 3rd card would make a set?&amp;quot;). This would make for an interesting demo at conferences. &lt;br /&gt;
|-&lt;br /&gt;
| Michael Fuson  &lt;br /&gt;
Jay Dial&lt;br /&gt;
| Spectrum Analyzer&lt;br /&gt;
|Create a real-time audio Spectrum analyzer on the BeagleBoard. [http://elinux.org/ECE497_Project_Spectrum_Analyzer Project Page]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| [[ECE597 Project pyWikiReader | pyWikiReader]]&lt;br /&gt;
| 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 &amp;quot;Rose-Hulman&amp;quot;. 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 &amp;quot;mother box&amp;quot; like usability, that is, no interaction besides what is natural to the user (speaking) should be necessary to retrieve the information.&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison &amp;lt;br&amp;gt; Steven Stark&lt;br /&gt;
| [[ECE597 3D Chess | 3D Chess with Networking]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most &amp;lt;br&amp;gt; David Baty &amp;lt;br&amp;gt; Mark Jacobson&lt;br /&gt;
| [[ECE597: Sumo Robot|Sumo Robot]]&lt;br /&gt;
| The goal of this project is to create a robot capable of competing in the 3.0 kg weight class of a sumo competition ([http://www.youtube.com/watch?v=V3OR_sHrOJM 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.  [http://circ.mtco.com/competitions/2010/rules/sumo Sumo rules].&lt;br /&gt;
|-&lt;br /&gt;
|Brian Embry &amp;lt;br&amp;gt; Jessica Lipscomb &amp;lt;br&amp;gt; Paul Banister&lt;br /&gt;
| [[ECE597 Network based MP3 player]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|[[user:routhcr | Chris Routh]] &amp;lt;br&amp;gt; [[user:collinjc | J. Cody Collins]] &amp;lt;br&amp;gt; [[user:jacksogc | Greg Jackson]] [[user:Xinkeqiong | Keqiong Xin]]&lt;br /&gt;
| [[ECE597: Auto HUD]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&amp;lt;br&amp;gt;Qiang Jiang&lt;br /&gt;
| [[ECE597_Adding_Sense_to_Beagle|Adding Sense to Beagle]] (See [[BeagleBoard/GSoC/Ideas]])&lt;br /&gt;
| 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. &lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin &amp;lt;br&amp;gt; Matt Luke &amp;lt;br&amp;gt; Elliot Simon &amp;lt;br&amp;gt; Jian Li&lt;br /&gt;
| [[ECE597 Interactive Pong|Interactive Pong]]&lt;br /&gt;
| Run classic pong, projecting the screen and using a camera to track user's hands for input.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Project_Ideas</id>
		<title>ECE497 Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project_Ideas"/>
				<updated>2012-01-02T17:38:50Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
[[Category:BeagleBoard]]&lt;br /&gt;
&lt;br /&gt;
We have both mini projects and projects in ECE497.  &lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
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 [https://github.com/ github] and a [http://bitbake.berlios.de/manual/ bitbake receipt] will be created to automatically download and create the object files.&lt;br /&gt;
&lt;br /&gt;
What follows are&lt;br /&gt;
&lt;br /&gt;
; Places to look for project ideas: Feel free to add your own suggestions.&lt;br /&gt;
; Mini Project ideas: Add your own suggestions, and do some of them.  Mark the ones you've done.&lt;br /&gt;
; Full Project ideas: ditto.&lt;br /&gt;
&lt;br /&gt;
== Sources for Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
Here are some links where you'll find ideas for your project.&lt;br /&gt;
* [http://wiki.omap.com/index.php/ETechDays_Community_Lightning_Talks 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.&lt;br /&gt;
* [http://beagleboard.org/project Official list of Beagle Projects], there are many Beagle specific projects listed here.  Many are inactive.  ''List your project here once it running.''&lt;br /&gt;
* [http://www.youtube.com/watch?v=Mk1xjbA-ISE 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 [http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&amp;amp;tabId=2235 TI DLP pico projector]. [http://www.hitlabnz.org/wiki/EmbeddedAR Here's] AR running on the Beagle. &lt;br /&gt;
* [http://code.google.com/p/0xdroid/ Android], this is one of a couple of efforts to port [http://source.android.com/ Google's Android OS] to the Beagle.&lt;br /&gt;
* [[BeagleBoard/Ideas-2009]] Google summer code ideas 2009.&lt;br /&gt;
&lt;br /&gt;
== Mini Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Suggestor&lt;br /&gt;
! Implementor&lt;br /&gt;
! Description&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Write up some notes on the NEON extensions to ARM.&lt;br /&gt;
| [http://www.cnx-software.com/2011/11/27/arm-neon-tutorial-in-c-and-assembler/ arm-neon-tutorial-in-c-and-assembler]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Work up an example of controlling the PWM registers from the shell.&lt;br /&gt;
| [http://esdw.wordpress.com/2010/03/25/a-useful-tool-devmem2/ PWM via the shell]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Weather Station&lt;br /&gt;
| [http://dominion.thruhere.net/koen/cms/using-the-beaglebone-as-a-weatherstation Ultrasonic weather]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Mike Yuhas&lt;br /&gt;
| Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C&lt;br /&gt;
| [http://yetanotherhackersblog.wordpress.com/2011/04/07/interfacing-the-beagleboard-with-an-srf08-ultrasonic-ranger-over-i2c Ultrasonic Ranger]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Compile the PowerVR examples&lt;br /&gt;
| [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp PowerVR Insider SDK Downloads]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Work up some GStreamer PS EYE Demos&lt;br /&gt;
| [http://www.electronsonradio.com/2011/06/playstation-eye-gstreamer-examples GStreamer PS EYE Demos] and [http://www.ridgerun.com/blog/?p=224 RidgeRun]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Douglas Selby&lt;br /&gt;
| Get TI' embedded speech recognizer installed and demo the examples.&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| David Zitnik&lt;br /&gt;
| Demo last year's TI speech project.  I have a microphone amplifier and mike you can use.&lt;br /&gt;
| [[ECE597 Project pyWikiReader]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Find who is doing what with Kinect on the Beagle and install and run it.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+kinect&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQga2lu&amp;amp;qesig=9qrD0rFfjWfujRRGmkB_Bw&amp;amp;pkc=AFgZ2tn-cylx0f71PasgBKOazjBQY3VK712RWQ7DueEjQNAdbOHr6BCgUd9xdyXyPe8TWErkesrQ246vygwImnAS5mIzCG2-5g&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;source=hp&amp;amp;aq=0&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+kin&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard kinect]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Greg Harrison&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+playstation+eye+microphone+array&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQgcGxheXN0YXRpb24gZXllIG1pY3JvcGhvbmUgYXJyYXk&amp;amp;qesig=Sdh5Ru_jodwYydoeTls1GA&amp;amp;pkc=AFgZ2tmwB41tQwF7XwrJPqFnf0NRO911bMCrbnU1HR9Vm6-Pg0sH8LvbJZsKwjKRUpoin4cZlwLIngZw8OC7dyanjcJCG4N_kg&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+playstation+eye+microphone+array&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard playstation eye microphone array]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://processors.wiki.ti.com/index.php/CMEM_Overview CMEM Overview]&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| 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. &lt;br /&gt;
| [[BeagleBoardBeginners#Connect_with_your_beagleboard_using_VNC_and_ethernet_over_USB | VNC]]&lt;br /&gt;
|-&lt;br /&gt;
| Brian Hulette&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| 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.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Get a video stream from a PS Eye, and identify the relevant device files.&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_Eye#cite_note-Linux_support-32 PlayStation_Eye#cite_note-Linux_support-32]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| William Gerth&lt;br /&gt;
| William Gerth&lt;br /&gt;
| Explore the possibility of implementing OpenAOS on the Beagle, to make a portable media player and etc.&lt;br /&gt;
| http://www.openaos.org/&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://itgen.blogspot.com/2011/03/beagleboard-xm-u-boot-without-serial.html BeagleBoard XM U-boot without Serial]&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB Mount BeagleBoard Root Filesystem over NFS via USB]&lt;br /&gt;
Here's an example of mounting dfs/afs on the Beagle&lt;br /&gt;
&lt;br /&gt;
[[ECE497 Mounting dfs/afs in Linux]]&lt;br /&gt;
|-&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Build communication with FPGA via USB port.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| 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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://antipastohw.blogspot.com/2010/09/how-to-make-beagleboard-elastic-r.html How to make a BeagleBoard Elastic R Beowulf Cluster]&lt;br /&gt;
|-&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Configure wlan on the beagle board using a wireless usb adapter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Get XBMC working on the beagle.&lt;br /&gt;
| [http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC XBMC wiki page]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Sam Allen&lt;br /&gt;
|&lt;br /&gt;
| Port Android to beagle&lt;br /&gt;
| It's done.  Check out [http://code.google.com/p/rowboat/ this].&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| Change the splash screen to a Rose logo when the Beagle starts up&lt;br /&gt;
| [http://blog.bizmobiletech.com/?p=253&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+BeagleBoard+%28BeagleBoard.org%29 How to Change Angstrom Boot logo in beagleboard]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Ziyi Zhang&lt;br /&gt;
| Do remote debugging with Eclipse.  My page needs updating. This [http://www.lvr.com/eclipse1.htm tutorial] might be helpful.&lt;br /&gt;
| [[ECE497 Installing the Eclipse IDE]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://eigen.tuxfamily.org/index.php?title=Main_Page eigen.tuxfamily.org]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Find what libraries are available for the DSP side of the DM 3730 and write some examples that use them.&lt;br /&gt;
| [http://focus.ti.com/docs/toolsw/folders/print/sprc265.html C64x+ DSP Library (DSPLIB)] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc092.html DSPLIB] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc094.html IMGLIB]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Convert the OSS labs to use the new ALSA drivers&lt;br /&gt;
| [http://www.alsa-project.org/main/index.php/Tutorials_and_Presentations ALSA Tutorials]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/BeagleBoardFAQ#.22DSS2.22_display_driver_for_.3E.3D_2.6.29 dss2]&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install an RT kernel on beagleboard. If successful, this could turn into a full project for exploring RT system and application.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install a VPN server on beagleboard.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Guanqun Wang&lt;br /&gt;
| &lt;br /&gt;
| Run beagle board with a small LCD display&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| &lt;br /&gt;
| Demo a BeagleLight program that could synchronize LEDs with music.&lt;br /&gt;
| http://processors.wiki.ti.com/index.php/BeagleLight&lt;br /&gt;
|-&lt;br /&gt;
| Yuming Cao&lt;br /&gt;
|&lt;br /&gt;
| Make beagleboard make a phone call&lt;br /&gt;
| http://www.youtube.com/watch?v=uVCx1S8RLfs&amp;amp;feature=related&lt;br /&gt;
|-&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Display BeagleBoard orientation by using accelerometer and opengl.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Full Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Winter 2011-2012 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://e2e.ti.com/blogs_/b/dlp_mems_blog/archive/2011/05/13/3d-structured-light-using-dlp-technology.aspx 3D Structured Light using DLP® Technology]&lt;br /&gt;
| Create 3D maps using a DLP pico and the Beagle.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://m.matrixsynth.com/2011/06/beagleboard-synth-proof-of-concept.htm Beagle Midi]&lt;br /&gt;
| Make the Beagle synthesize midi files.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://www.sakoman.com/OMAP/an-overiew-of-omap3-power-management-with-2639-pm.html Beagle Power Management]&lt;br /&gt;
| Work up some power management demos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
| Port TI's fixed-point speech recognizer to the DSP.  It currently runs on the ARM.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Kinect&lt;br /&gt;
| [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.&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Accelerometer-based auto-leveled projection&lt;br /&gt;
| Several projects have been started to add [http://matthsu-abacus.blogspot.com/2009/11/build-3-axis-accelerometer-on.html  accelerometer support] to the BeagleBoard. This project would involve getting an accelerometer installed and working, perhaps using a [http://elinux.org/BeagleBoard_Trainer trainer board], as well the [http://focus.ti.com/general/docs/gencontent.tsp?contentId=52770 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.&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Kinect Based 3d Scanner&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Port winDSK6 to the Beagle&lt;br /&gt;
| [http://www.ece.wisc.edu/~morrow/software/ 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.  [http://processors.wiki.ti.com/index.php/C6Run c6run] would be used to interact with the DSP.  &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Automated Die Tester&lt;br /&gt;
| 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 &amp;quot;rolling a die&amp;quot;. The software doesn't necessarily have to know what the numbers mean, it just has to be able to uniquely identify the sides.&lt;br /&gt;
|-&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Set-Playing System&lt;br /&gt;
| 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 (&amp;quot;If I have these 2 cards, what 3rd card would make a set?&amp;quot;). This would make for an interesting demo at conferences. &lt;br /&gt;
|-&lt;br /&gt;
| Michael Fuson  &lt;br /&gt;
Jay Dial&lt;br /&gt;
| Spectrum Analyzer&lt;br /&gt;
|Create a real-time audio Spectrum analyzer on the BeagleBoard. [http://elinux.org/ECE497_Project_Spectrum_Analyzer Project Page]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| [[ECE597 Project pyWikiReader | pyWikiReader]]&lt;br /&gt;
| 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 &amp;quot;Rose-Hulman&amp;quot;. 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 &amp;quot;mother box&amp;quot; like usability, that is, no interaction besides what is natural to the user (speaking) should be necessary to retrieve the information.&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison &amp;lt;br&amp;gt; Steven Stark&lt;br /&gt;
| [[ECE597 3D Chess | 3D Chess with Networking]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most &amp;lt;br&amp;gt; David Baty &amp;lt;br&amp;gt; Mark Jacobson&lt;br /&gt;
| [[ECE597: Sumo Robot|Sumo Robot]]&lt;br /&gt;
| The goal of this project is to create a robot capable of competing in the 3.0 kg weight class of a sumo competition ([http://www.youtube.com/watch?v=V3OR_sHrOJM 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.  [http://circ.mtco.com/competitions/2010/rules/sumo Sumo rules].&lt;br /&gt;
|-&lt;br /&gt;
|Brian Embry &amp;lt;br&amp;gt; Jessica Lipscomb &amp;lt;br&amp;gt; Paul Banister&lt;br /&gt;
| [[ECE597 Network based MP3 player]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|[[user:routhcr | Chris Routh]] &amp;lt;br&amp;gt; [[user:collinjc | J. Cody Collins]] &amp;lt;br&amp;gt; [[user:jacksogc | Greg Jackson]] [[user:Xinkeqiong | Keqiong Xin]]&lt;br /&gt;
| [[ECE597: Auto HUD]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&amp;lt;br&amp;gt;Qiang Jiang&lt;br /&gt;
| [[ECE597_Adding_Sense_to_Beagle|Adding Sense to Beagle]] (See [[BeagleBoard/GSoC/Ideas]])&lt;br /&gt;
| 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. &lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin &amp;lt;br&amp;gt; Matt Luke &amp;lt;br&amp;gt; Elliot Simon &amp;lt;br&amp;gt; Jian Li&lt;br /&gt;
| [[ECE597 Interactive Pong|Interactive Pong]]&lt;br /&gt;
| Run classic pong, projecting the screen and using a camera to track user's hands for input.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Project_Ideas</id>
		<title>ECE497 Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project_Ideas"/>
				<updated>2012-01-02T17:36:51Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
[[Category:BeagleBoard]]&lt;br /&gt;
&lt;br /&gt;
We have both mini projects and projects in ECE497.  &lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
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 [https://github.com/ github] and a [http://bitbake.berlios.de/manual/ bitbake receipt] will be created to automatically download and create the object files.&lt;br /&gt;
&lt;br /&gt;
What follows are&lt;br /&gt;
&lt;br /&gt;
; Places to look for project ideas: Feel free to add your own suggestions.&lt;br /&gt;
; Mini Project ideas: Add your own suggestions, and do some of them.  Mark the ones you've done.&lt;br /&gt;
; Full Project ideas: ditto.&lt;br /&gt;
&lt;br /&gt;
== Sources for Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
Here are some links where you'll find ideas for your project.&lt;br /&gt;
* [http://wiki.omap.com/index.php/ETechDays_Community_Lightning_Talks 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.&lt;br /&gt;
* [http://beagleboard.org/project Official list of Beagle Projects], there are many Beagle specific projects listed here.  Many are inactive.  ''List your project here once it running.''&lt;br /&gt;
* [http://www.youtube.com/watch?v=Mk1xjbA-ISE 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 [http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&amp;amp;tabId=2235 TI DLP pico projector]. [http://www.hitlabnz.org/wiki/EmbeddedAR Here's] AR running on the Beagle. &lt;br /&gt;
* [http://code.google.com/p/0xdroid/ Android], this is one of a couple of efforts to port [http://source.android.com/ Google's Android OS] to the Beagle.&lt;br /&gt;
* [[BeagleBoard/Ideas-2009]] Google summer code ideas 2009.&lt;br /&gt;
&lt;br /&gt;
== Mini Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Suggestor&lt;br /&gt;
! Implementor&lt;br /&gt;
! Description&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Write up some notes on the NEON extensions to ARM.&lt;br /&gt;
| [http://www.cnx-software.com/2011/11/27/arm-neon-tutorial-in-c-and-assembler/ arm-neon-tutorial-in-c-and-assembler]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Work up an example of controlling the PWM registers from the shell.&lt;br /&gt;
| [http://esdw.wordpress.com/2010/03/25/a-useful-tool-devmem2/ PWM via the shell]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Weather Station&lt;br /&gt;
| [http://dominion.thruhere.net/koen/cms/using-the-beaglebone-as-a-weatherstation Ultrasonic weather]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Mike Yuhas&lt;br /&gt;
| Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C&lt;br /&gt;
| [http://yetanotherhackersblog.wordpress.com/2011/04/07/interfacing-the-beagleboard-with-an-srf08-ultrasonic-ranger-over-i2c Ultrasonic Ranger]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Compile the PowerVR examples&lt;br /&gt;
| [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp PowerVR Insider SDK Downloads]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Work up some GStreamer PS EYE Demos&lt;br /&gt;
| [http://www.electronsonradio.com/2011/06/playstation-eye-gstreamer-examples GStreamer PS EYE Demos] and [http://www.ridgerun.com/blog/?p=224 RidgeRun]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Douglas Selby&lt;br /&gt;
| Get TI' embedded speech recognizer installed and demo the examples.&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| David Zitnik&lt;br /&gt;
| Demo last year's TI speech project.  I have a microphone amplifier and mike you can use.&lt;br /&gt;
| [[ECE597 Project pyWikiReader]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Find who is doing what with Kinect on the Beagle and install and run it.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+kinect&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQga2lu&amp;amp;qesig=9qrD0rFfjWfujRRGmkB_Bw&amp;amp;pkc=AFgZ2tn-cylx0f71PasgBKOazjBQY3VK712RWQ7DueEjQNAdbOHr6BCgUd9xdyXyPe8TWErkesrQ246vygwImnAS5mIzCG2-5g&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;source=hp&amp;amp;aq=0&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+kin&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard kinect]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Greg Harrison&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+playstation+eye+microphone+array&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQgcGxheXN0YXRpb24gZXllIG1pY3JvcGhvbmUgYXJyYXk&amp;amp;qesig=Sdh5Ru_jodwYydoeTls1GA&amp;amp;pkc=AFgZ2tmwB41tQwF7XwrJPqFnf0NRO911bMCrbnU1HR9Vm6-Pg0sH8LvbJZsKwjKRUpoin4cZlwLIngZw8OC7dyanjcJCG4N_kg&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+playstation+eye+microphone+array&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard playstation eye microphone array]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://processors.wiki.ti.com/index.php/CMEM_Overview CMEM Overview]&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| 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. &lt;br /&gt;
| [[BeagleBoardBeginners#Connect_with_your_beagleboard_using_VNC_and_ethernet_over_USB | VNC]]&lt;br /&gt;
|-&lt;br /&gt;
| Brian Hulette&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| 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.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Get a video stream from a PS Eye, and identify the relevant device files.&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_Eye#cite_note-Linux_support-32 PlayStation_Eye#cite_note-Linux_support-32]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| William Gerth&lt;br /&gt;
| William Gerth&lt;br /&gt;
| Explore the possibility of implementing OpenAOS on the Beagle, to make a portable media player and etc.&lt;br /&gt;
| http://www.openaos.org/&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://itgen.blogspot.com/2011/03/beagleboard-xm-u-boot-without-serial.html BeagleBoard XM U-boot without Serial]&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB Mount BeagleBoard Root Filesystem over NFS via USB]&lt;br /&gt;
Here's an example of mounting dfs/afs on the Beagle&lt;br /&gt;
&lt;br /&gt;
[[ECE497 Mounting dfs/afs in Linux]]&lt;br /&gt;
|-&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Build communication with FPGA via USB port.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| 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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://antipastohw.blogspot.com/2010/09/how-to-make-beagleboard-elastic-r.html How to make a BeagleBoard Elastic R Beowulf Cluster]&lt;br /&gt;
|-&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Configure wlan on the beagle board using a wireless usb adapter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Get XBMC working on the beagle.&lt;br /&gt;
| [http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC XBMC wiki page]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Sam Allen&lt;br /&gt;
|&lt;br /&gt;
| Port Android to beagle&lt;br /&gt;
| It's done.  Check out [http://code.google.com/p/rowboat/ this].&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| Change the splash screen to a Rose logo when the Beagle starts up&lt;br /&gt;
| [http://blog.bizmobiletech.com/?p=253&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+BeagleBoard+%28BeagleBoard.org%29 How to Change Angstrom Boot logo in beagleboard]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Ziyi Zhang&lt;br /&gt;
| Do remote debugging with Eclipse.  My page needs updating. This [http://www.lvr.com/eclipse1.htm tutorial] might be helpful.&lt;br /&gt;
| [[ECE497 Installing the Eclipse IDE]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://eigen.tuxfamily.org/index.php?title=Main_Page eigen.tuxfamily.org]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Find what libraries are available for the DSP side of the DM 3730 and write some examples that use them.&lt;br /&gt;
| [http://focus.ti.com/docs/toolsw/folders/print/sprc265.html C64x+ DSP Library (DSPLIB)] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc092.html DSPLIB] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc094.html IMGLIB]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Convert the OSS labs to use the new ALSA drivers&lt;br /&gt;
| [http://www.alsa-project.org/main/index.php/Tutorials_and_Presentations ALSA Tutorials]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/BeagleBoardFAQ#.22DSS2.22_display_driver_for_.3E.3D_2.6.29 dss2]&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install an RT kernel on beagleboard. If successful, this could turn into a full project for exploring RT system and application.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install a VPN server on beagleboard.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Guanqun Wang&lt;br /&gt;
| &lt;br /&gt;
| Run beagle board with a small LCD display&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| &lt;br /&gt;
| Demo a BeagleLight program that could synchronize LEDs with music.&lt;br /&gt;
| http://processors.wiki.ti.com/index.php/BeagleLight&lt;br /&gt;
|-&lt;br /&gt;
| Yuming Cao&lt;br /&gt;
|&lt;br /&gt;
| Make beagleboard make a phone call&lt;br /&gt;
| http://www.youtube.com/watch?v=uVCx1S8RLfs&amp;amp;feature=related&lt;br /&gt;
|-&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Display BeagleBoard orientation by using accelerometer and opengl.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Automatically start VNC service after login on BeagleBoard&lt;br /&gt;
| }&lt;br /&gt;
&lt;br /&gt;
== Full Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Winter 2011-2012 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://e2e.ti.com/blogs_/b/dlp_mems_blog/archive/2011/05/13/3d-structured-light-using-dlp-technology.aspx 3D Structured Light using DLP® Technology]&lt;br /&gt;
| Create 3D maps using a DLP pico and the Beagle.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://m.matrixsynth.com/2011/06/beagleboard-synth-proof-of-concept.htm Beagle Midi]&lt;br /&gt;
| Make the Beagle synthesize midi files.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://www.sakoman.com/OMAP/an-overiew-of-omap3-power-management-with-2639-pm.html Beagle Power Management]&lt;br /&gt;
| Work up some power management demos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
| Port TI's fixed-point speech recognizer to the DSP.  It currently runs on the ARM.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Kinect&lt;br /&gt;
| [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.&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Accelerometer-based auto-leveled projection&lt;br /&gt;
| Several projects have been started to add [http://matthsu-abacus.blogspot.com/2009/11/build-3-axis-accelerometer-on.html  accelerometer support] to the BeagleBoard. This project would involve getting an accelerometer installed and working, perhaps using a [http://elinux.org/BeagleBoard_Trainer trainer board], as well the [http://focus.ti.com/general/docs/gencontent.tsp?contentId=52770 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.&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Kinect Based 3d Scanner&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Port winDSK6 to the Beagle&lt;br /&gt;
| [http://www.ece.wisc.edu/~morrow/software/ 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.  [http://processors.wiki.ti.com/index.php/C6Run c6run] would be used to interact with the DSP.  &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Automated Die Tester&lt;br /&gt;
| 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 &amp;quot;rolling a die&amp;quot;. The software doesn't necessarily have to know what the numbers mean, it just has to be able to uniquely identify the sides.&lt;br /&gt;
|-&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Set-Playing System&lt;br /&gt;
| 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 (&amp;quot;If I have these 2 cards, what 3rd card would make a set?&amp;quot;). This would make for an interesting demo at conferences. &lt;br /&gt;
|-&lt;br /&gt;
| Michael Fuson  &lt;br /&gt;
Jay Dial&lt;br /&gt;
| Spectrum Analyzer&lt;br /&gt;
|Create a real-time audio Spectrum analyzer on the BeagleBoard. [http://elinux.org/ECE497_Project_Spectrum_Analyzer Project Page]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| [[ECE597 Project pyWikiReader | pyWikiReader]]&lt;br /&gt;
| 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 &amp;quot;Rose-Hulman&amp;quot;. 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 &amp;quot;mother box&amp;quot; like usability, that is, no interaction besides what is natural to the user (speaking) should be necessary to retrieve the information.&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison &amp;lt;br&amp;gt; Steven Stark&lt;br /&gt;
| [[ECE597 3D Chess | 3D Chess with Networking]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most &amp;lt;br&amp;gt; David Baty &amp;lt;br&amp;gt; Mark Jacobson&lt;br /&gt;
| [[ECE597: Sumo Robot|Sumo Robot]]&lt;br /&gt;
| The goal of this project is to create a robot capable of competing in the 3.0 kg weight class of a sumo competition ([http://www.youtube.com/watch?v=V3OR_sHrOJM 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.  [http://circ.mtco.com/competitions/2010/rules/sumo Sumo rules].&lt;br /&gt;
|-&lt;br /&gt;
|Brian Embry &amp;lt;br&amp;gt; Jessica Lipscomb &amp;lt;br&amp;gt; Paul Banister&lt;br /&gt;
| [[ECE597 Network based MP3 player]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|[[user:routhcr | Chris Routh]] &amp;lt;br&amp;gt; [[user:collinjc | J. Cody Collins]] &amp;lt;br&amp;gt; [[user:jacksogc | Greg Jackson]] [[user:Xinkeqiong | Keqiong Xin]]&lt;br /&gt;
| [[ECE597: Auto HUD]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&amp;lt;br&amp;gt;Qiang Jiang&lt;br /&gt;
| [[ECE597_Adding_Sense_to_Beagle|Adding Sense to Beagle]] (See [[BeagleBoard/GSoC/Ideas]])&lt;br /&gt;
| 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. &lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin &amp;lt;br&amp;gt; Matt Luke &amp;lt;br&amp;gt; Elliot Simon &amp;lt;br&amp;gt; Jian Li&lt;br /&gt;
| [[ECE597 Interactive Pong|Interactive Pong]]&lt;br /&gt;
| Run classic pong, projecting the screen and using a camera to track user's hands for input.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Project_Ideas</id>
		<title>ECE497 Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project_Ideas"/>
				<updated>2011-12-13T21:34:51Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
[[Category:BeagleBoard]]&lt;br /&gt;
&lt;br /&gt;
We have both mini projects and projects in ECE497.  &lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
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 [https://github.com/ github] and a [http://bitbake.berlios.de/manual/ bitbake receipt] will be created to automatically download and create the object files.&lt;br /&gt;
&lt;br /&gt;
What follows are&lt;br /&gt;
&lt;br /&gt;
; Places to look for project ideas: Feel free to add your own suggestions.&lt;br /&gt;
; Mini Project ideas: Add your own suggestions, and do some of them.  Mark the ones you've done.&lt;br /&gt;
; Full Project ideas: ditto.&lt;br /&gt;
&lt;br /&gt;
== Sources for Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
Here are some links where you'll find ideas for your project.&lt;br /&gt;
* [http://wiki.omap.com/index.php/ETechDays_Community_Lightning_Talks 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.&lt;br /&gt;
* [http://beagleboard.org/project Official list of Beagle Projects], there are many Beagle specific projects listed here.  Many are inactive.  ''List your project here once it running.''&lt;br /&gt;
* [http://www.youtube.com/watch?v=Mk1xjbA-ISE 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 [http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&amp;amp;tabId=2235 TI DLP pico projector]. [http://www.hitlabnz.org/wiki/EmbeddedAR Here's] AR running on the Beagle. &lt;br /&gt;
* [http://code.google.com/p/0xdroid/ Android], this is one of a couple of efforts to port [http://source.android.com/ Google's Android OS] to the Beagle.&lt;br /&gt;
* [[BeagleBoard/Ideas-2009]] Google summer code ideas 2009.&lt;br /&gt;
&lt;br /&gt;
== Mini Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Suggestor&lt;br /&gt;
! Implementor&lt;br /&gt;
! Description&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Work up an example of controlling the PWM registers from the shell.&lt;br /&gt;
| [http://esdw.wordpress.com/2010/03/25/a-useful-tool-devmem2/ PWM via the shell]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Weather Station&lt;br /&gt;
| [http://dominion.thruhere.net/koen/cms/using-the-beaglebone-as-a-weatherstation Ultrasonic weather]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Mike Yuhas&lt;br /&gt;
| Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C&lt;br /&gt;
| [http://yetanotherhackersblog.wordpress.com/2011/04/07/interfacing-the-beagleboard-with-an-srf08-ultrasonic-ranger-over-i2c Ultrasonic Ranger]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Compile the PowerVR examples&lt;br /&gt;
| [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp PowerVR Insider SDK Downloads]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Work up some GStreamer PS EYE Demos&lt;br /&gt;
| [http://www.electronsonradio.com/2011/06/playstation-eye-gstreamer-examples GStreamer PS EYE Demos] and [http://www.ridgerun.com/blog/?p=224 RidgeRun]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Douglas Selby&lt;br /&gt;
| Get TI' embedded speech recognizer installed and demo the examples.&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| David Zitnik&lt;br /&gt;
| Demo last year's TI speech project.  I have a microphone amplifier and mike you can use.&lt;br /&gt;
| [[ECE597 Project pyWikiReader]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Find who is doing what with Kinect on the Beagle and install and run it.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+kinect&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQga2lu&amp;amp;qesig=9qrD0rFfjWfujRRGmkB_Bw&amp;amp;pkc=AFgZ2tn-cylx0f71PasgBKOazjBQY3VK712RWQ7DueEjQNAdbOHr6BCgUd9xdyXyPe8TWErkesrQ246vygwImnAS5mIzCG2-5g&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;source=hp&amp;amp;aq=0&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+kin&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard kinect]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Greg Harrison&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+playstation+eye+microphone+array&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQgcGxheXN0YXRpb24gZXllIG1pY3JvcGhvbmUgYXJyYXk&amp;amp;qesig=Sdh5Ru_jodwYydoeTls1GA&amp;amp;pkc=AFgZ2tmwB41tQwF7XwrJPqFnf0NRO911bMCrbnU1HR9Vm6-Pg0sH8LvbJZsKwjKRUpoin4cZlwLIngZw8OC7dyanjcJCG4N_kg&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+playstation+eye+microphone+array&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard playstation eye microphone array]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://processors.wiki.ti.com/index.php/CMEM_Overview CMEM Overview]&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| 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. &lt;br /&gt;
| [[BeagleBoardBeginners#Connect_with_your_beagleboard_using_VNC_and_ethernet_over_USB | VNC]]&lt;br /&gt;
|-&lt;br /&gt;
| Brian Hulette&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| 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.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Get a video stream from a PS Eye, and identify the relevant device files.&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_Eye#cite_note-Linux_support-32 PlayStation_Eye#cite_note-Linux_support-32]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| William Gerth&lt;br /&gt;
| William Gerth&lt;br /&gt;
| Explore the possibility of implementing OpenAOS on the Beagle, to make a portable media player and etc.&lt;br /&gt;
| http://www.openaos.org/&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://itgen.blogspot.com/2011/03/beagleboard-xm-u-boot-without-serial.html BeagleBoard XM U-boot without Serial]&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB Mount BeagleBoard Root Filesystem over NFS via USB]&lt;br /&gt;
Here's an example of mounting dfs/afs on the Beagle&lt;br /&gt;
&lt;br /&gt;
[[ECE497 Mounting dfs/afs in Linux]]&lt;br /&gt;
|-&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Build communication with FPGA via USB port.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| 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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://antipastohw.blogspot.com/2010/09/how-to-make-beagleboard-elastic-r.html How to make a BeagleBoard Elastic R Beowulf Cluster]&lt;br /&gt;
|-&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Configure wlan on the beagle board using a wireless usb adapter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Get XBMC working on the beagle.&lt;br /&gt;
| [http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC XBMC wiki page]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Sam Allen&lt;br /&gt;
|&lt;br /&gt;
| Port Android to beagle&lt;br /&gt;
| It's done.  Check out [http://code.google.com/p/rowboat/ this].&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| Change the splash screen to a Rose logo when the Beagle starts up&lt;br /&gt;
| [http://blog.bizmobiletech.com/?p=253&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+BeagleBoard+%28BeagleBoard.org%29 How to Change Angstrom Boot logo in beagleboard]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Ziyi Zhang&lt;br /&gt;
| Do remote debugging with Eclipse.  My page needs updating. This [http://www.lvr.com/eclipse1.htm tutorial] might be helpful.&lt;br /&gt;
| [[ECE497 Installing the Eclipse IDE]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://eigen.tuxfamily.org/index.php?title=Main_Page eigen.tuxfamily.org]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Find what libraries are available for the DSP side of the DM 3730 and write some examples that use them.&lt;br /&gt;
| [http://focus.ti.com/docs/toolsw/folders/print/sprc265.html C64x+ DSP Library (DSPLIB)] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc092.html DSPLIB] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc094.html IMGLIB]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Convert the OSS labs to use the new ALSA drivers&lt;br /&gt;
| [http://www.alsa-project.org/main/index.php/Tutorials_and_Presentations ALSA Tutorials]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/BeagleBoardFAQ#.22DSS2.22_display_driver_for_.3E.3D_2.6.29 dss2]&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install an RT kernel on beagleboard. If successful, this could turn into a full project for exploring RT system and application.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install a VPN server on beagleboard.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Guanqun Wang&lt;br /&gt;
| &lt;br /&gt;
| Run beagle board with a small LCD display&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| &lt;br /&gt;
| Demo a BeagleLight program that could synchronize LEDs with music.&lt;br /&gt;
| http://processors.wiki.ti.com/index.php/BeagleLight&lt;br /&gt;
|-&lt;br /&gt;
| Yuming Cao&lt;br /&gt;
|&lt;br /&gt;
| Make beagleboard make a phone call&lt;br /&gt;
| http://www.youtube.com/watch?v=uVCx1S8RLfs&amp;amp;feature=related&lt;br /&gt;
|-&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Display BeagleBoard orientation by using accelerometer and opengl.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Full Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Winter 2011-2012 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://e2e.ti.com/blogs_/b/dlp_mems_blog/archive/2011/05/13/3d-structured-light-using-dlp-technology.aspx 3D Structured Light using DLP® Technology]&lt;br /&gt;
| Create 3D maps using a DLP pico and the Beagle.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://m.matrixsynth.com/2011/06/beagleboard-synth-proof-of-concept.htm Beagle Midi]&lt;br /&gt;
| Make the Beagle synthesize midi files.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://www.sakoman.com/OMAP/an-overiew-of-omap3-power-management-with-2639-pm.html Beagle Power Management]&lt;br /&gt;
| Work up some power management demos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
| Port TI's fixed-point speech recognizer to the DSP.  It currently runs on the ARM.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Kinect&lt;br /&gt;
| [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.&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Accelerometer-based auto-leveled projection&lt;br /&gt;
| Several projects have been started to add [http://matthsu-abacus.blogspot.com/2009/11/build-3-axis-accelerometer-on.html  accelerometer support] to the BeagleBoard. This project would involve getting an accelerometer installed and working, perhaps using a [http://elinux.org/BeagleBoard_Trainer trainer board], as well the [http://focus.ti.com/general/docs/gencontent.tsp?contentId=52770 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.&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Kinect Based 3d Scanner&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Port winDSK6 to the Beagle&lt;br /&gt;
| [http://www.ece.wisc.edu/~morrow/software/ 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.  [http://processors.wiki.ti.com/index.php/C6Run c6run] would be used to interact with the DSP.  &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Automated Die Tester&lt;br /&gt;
| 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 &amp;quot;rolling a die&amp;quot;. The software doesn't necessarily have to know what the numbers mean, it just has to be able to uniquely identify the sides.&lt;br /&gt;
|-&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Set-Playing System&lt;br /&gt;
| 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 (&amp;quot;If I have these 2 cards, what 3rd card would make a set?&amp;quot;). This would make for an interesting demo at conferences. &lt;br /&gt;
|-&lt;br /&gt;
| Michael Fuson  &lt;br /&gt;
Jay Dial&lt;br /&gt;
| Spectrum Analyzer&lt;br /&gt;
|Create a real-time audio Spectrum analyzer on the BeagleBoard. [http://elinux.org/ECE497_Project_Spectrum_Analyzer Project Page]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| [[ECE597 Project pyWikiReader | pyWikiReader]]&lt;br /&gt;
| 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 &amp;quot;Rose-Hulman&amp;quot;. 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 &amp;quot;mother box&amp;quot; like usability, that is, no interaction besides what is natural to the user (speaking) should be necessary to retrieve the information.&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison &amp;lt;br&amp;gt; Steven Stark&lt;br /&gt;
| [[ECE597 3D Chess | 3D Chess with Networking]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most &amp;lt;br&amp;gt; David Baty &amp;lt;br&amp;gt; Mark Jacobson&lt;br /&gt;
| [[ECE597: Sumo Robot|Sumo Robot]]&lt;br /&gt;
| The goal of this project is to create a robot capable of competing in the 3.0 kg weight class of a sumo competition ([http://www.youtube.com/watch?v=V3OR_sHrOJM 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.  [http://circ.mtco.com/competitions/2010/rules/sumo Sumo rules].&lt;br /&gt;
|-&lt;br /&gt;
|Brian Embry &amp;lt;br&amp;gt; Jessica Lipscomb &amp;lt;br&amp;gt; Paul Banister&lt;br /&gt;
| [[ECE597 Network based MP3 player]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|[[user:routhcr | Chris Routh]] &amp;lt;br&amp;gt; [[user:collinjc | J. Cody Collins]] &amp;lt;br&amp;gt; [[user:jacksogc | Greg Jackson]] [[user:Xinkeqiong | Keqiong Xin]]&lt;br /&gt;
| [[ECE597: Auto HUD]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&amp;lt;br&amp;gt;Qiang Jiang&lt;br /&gt;
| [[ECE597_Adding_Sense_to_Beagle|Adding Sense to Beagle]] (See [[BeagleBoard/GSoC/Ideas]])&lt;br /&gt;
| 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. &lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin &amp;lt;br&amp;gt; Matt Luke &amp;lt;br&amp;gt; Elliot Simon &amp;lt;br&amp;gt; Jian Li&lt;br /&gt;
| [[ECE597 Interactive Pong|Interactive Pong]]&lt;br /&gt;
| Run classic pong, projecting the screen and using a camera to track user's hands for input.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Project_Ideas</id>
		<title>ECE497 Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project_Ideas"/>
				<updated>2011-12-12T20:54:17Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
[[Category:BeagleBoard]]&lt;br /&gt;
&lt;br /&gt;
We have both mini projects and projects in ECE497.  &lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
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 [https://github.com/ github] and a [http://bitbake.berlios.de/manual/ bitbake receipt] will be created to automatically download and create the object files.&lt;br /&gt;
&lt;br /&gt;
What follows are&lt;br /&gt;
&lt;br /&gt;
; Places to look for project ideas: Feel free to add your own suggestions.&lt;br /&gt;
; Mini Project ideas: Add your own suggestions, and do some of them.  Mark the ones you've done.&lt;br /&gt;
; Full Project ideas: ditto.&lt;br /&gt;
&lt;br /&gt;
== Sources for Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
Here are some links where you'll find ideas for your project.&lt;br /&gt;
* [http://wiki.omap.com/index.php/ETechDays_Community_Lightning_Talks 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.&lt;br /&gt;
* [http://beagleboard.org/project Official list of Beagle Projects], there are many Beagle specific projects listed here.  Many are inactive.  ''List your project here once it running.''&lt;br /&gt;
* [http://www.youtube.com/watch?v=Mk1xjbA-ISE 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 [http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&amp;amp;tabId=2235 TI DLP pico projector]. [http://www.hitlabnz.org/wiki/EmbeddedAR Here's] AR running on the Beagle. &lt;br /&gt;
* [http://code.google.com/p/0xdroid/ Android], this is one of a couple of efforts to port [http://source.android.com/ Google's Android OS] to the Beagle.&lt;br /&gt;
* [[BeagleBoard/Ideas-2009]] Google summer code ideas 2009.&lt;br /&gt;
&lt;br /&gt;
== Mini Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Suggestor&lt;br /&gt;
! Implementor&lt;br /&gt;
! Description&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Work up an example of controlling the PWM registers from the shell.&lt;br /&gt;
| [http://esdw.wordpress.com/2010/03/25/a-useful-tool-devmem2/ PWM via the shell]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Weather Station&lt;br /&gt;
| [http://dominion.thruhere.net/koen/cms/using-the-beaglebone-as-a-weatherstation Ultrasonic weather]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Mike Yuhas&lt;br /&gt;
| Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C&lt;br /&gt;
| [http://yetanotherhackersblog.wordpress.com/2011/04/07/interfacing-the-beagleboard-with-an-srf08-ultrasonic-ranger-over-i2c Ultrasonic Ranger]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Compile the PowerVR examples&lt;br /&gt;
| [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp PowerVR Insider SDK Downloads]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Work up some GStreamer PS EYE Demos&lt;br /&gt;
| [http://www.electronsonradio.com/2011/06/playstation-eye-gstreamer-examples GStreamer PS EYE Demos] and [http://www.ridgerun.com/blog/?p=224 RidgeRun]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Douglas Selby&lt;br /&gt;
| Get TI' embedded speech recognizer installed and demo the examples.&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| David Zitnik&lt;br /&gt;
| Demo last year's TI speech project.  I have a microphone amplifier and mike you can use.&lt;br /&gt;
| [[ECE597 Project pyWikiReader]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Find who is doing what with Kinect on the Beagle and install and run it.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+kinect&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQga2lu&amp;amp;qesig=9qrD0rFfjWfujRRGmkB_Bw&amp;amp;pkc=AFgZ2tn-cylx0f71PasgBKOazjBQY3VK712RWQ7DueEjQNAdbOHr6BCgUd9xdyXyPe8TWErkesrQ246vygwImnAS5mIzCG2-5g&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;source=hp&amp;amp;aq=0&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+kin&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard kinect]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Greg Harrison&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+playstation+eye+microphone+array&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQgcGxheXN0YXRpb24gZXllIG1pY3JvcGhvbmUgYXJyYXk&amp;amp;qesig=Sdh5Ru_jodwYydoeTls1GA&amp;amp;pkc=AFgZ2tmwB41tQwF7XwrJPqFnf0NRO911bMCrbnU1HR9Vm6-Pg0sH8LvbJZsKwjKRUpoin4cZlwLIngZw8OC7dyanjcJCG4N_kg&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+playstation+eye+microphone+array&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard playstation eye microphone array]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://processors.wiki.ti.com/index.php/CMEM_Overview CMEM Overview]&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| [[BeagleBoardBeginners#Connect_with_your_beagleboard_using_VNC_and_ethernet_over_USB | VNC]]&lt;br /&gt;
|-&lt;br /&gt;
| Brian Hulette&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| 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.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Get a video stream from a PS Eye, and identify the relevant device files.&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_Eye#cite_note-Linux_support-32 PlayStation_Eye#cite_note-Linux_support-32]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| William Gerth&lt;br /&gt;
| William Gerth&lt;br /&gt;
| Explore the possibility of implementing OpenAOS on the Beagle, to make a portable media player and etc.&lt;br /&gt;
| http://www.openaos.org/&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://itgen.blogspot.com/2011/03/beagleboard-xm-u-boot-without-serial.html BeagleBoard XM U-boot without Serial]&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB Mount BeagleBoard Root Filesystem over NFS via USB]&lt;br /&gt;
Here's an example of mounting dfs/afs on the Beagle&lt;br /&gt;
&lt;br /&gt;
[[ECE497 Mounting dfs/afs in Linux]]&lt;br /&gt;
|-&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Build communication with FPGA via USB port.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| 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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://antipastohw.blogspot.com/2010/09/how-to-make-beagleboard-elastic-r.html How to make a BeagleBoard Elastic R Beowulf Cluster]&lt;br /&gt;
|-&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Configure wlan on the beagle board using a wireless usb adapter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Get XBMC working on the beagle.&lt;br /&gt;
| [http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC XBMC wiki page]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Sam Allen&lt;br /&gt;
|&lt;br /&gt;
| Port Android to beagle&lt;br /&gt;
| It's done.  Check out [http://code.google.com/p/rowboat/ this].&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| Change the splash screen to a Rose logo when the Beagle starts up&lt;br /&gt;
| [http://blog.bizmobiletech.com/?p=253&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+BeagleBoard+%28BeagleBoard.org%29 How to Change Angstrom Boot logo in beagleboard]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Ziyi Zhang&lt;br /&gt;
| Do remote debugging with Eclipse.  My page needs updating. This [http://www.lvr.com/eclipse1.htm tutorial] might be helpful.&lt;br /&gt;
| [[ECE497 Installing the Eclipse IDE]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://eigen.tuxfamily.org/index.php?title=Main_Page eigen.tuxfamily.org]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Find what libraries are available for the DSP side of the DM 3730 and write some examples that use them.&lt;br /&gt;
| [http://focus.ti.com/docs/toolsw/folders/print/sprc265.html C64x+ DSP Library (DSPLIB)] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc092.html DSPLIB] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc094.html IMGLIB]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Convert the OSS labs to use the new ALSA drivers&lt;br /&gt;
| [http://www.alsa-project.org/main/index.php/Tutorials_and_Presentations ALSA Tutorials]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/BeagleBoardFAQ#.22DSS2.22_display_driver_for_.3E.3D_2.6.29 dss2]&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install an RT kernel on beagleboard. If successful, this could turn into a full project for exploring RT system and application.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install a VPN server on beagleboard.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Guanqun Wang&lt;br /&gt;
| &lt;br /&gt;
| Run beagle board with a small LCD display&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yifei Li&lt;br /&gt;
| &lt;br /&gt;
| Demo a BeagleLight program that could synchronize LEDs with music.&lt;br /&gt;
| http://processors.wiki.ti.com/index.php/BeagleLight&lt;br /&gt;
|-&lt;br /&gt;
| Yuming Cao&lt;br /&gt;
|&lt;br /&gt;
| Make beagleboard make a phone call&lt;br /&gt;
| http://www.youtube.com/watch?v=uVCx1S8RLfs&amp;amp;feature=related&lt;br /&gt;
|-&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Mona Yan&lt;br /&gt;
| Display BeagleBoard orientation by using accelerometer and opengl.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Full Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Winter 2011-2012 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://e2e.ti.com/blogs_/b/dlp_mems_blog/archive/2011/05/13/3d-structured-light-using-dlp-technology.aspx 3D Structured Light using DLP® Technology]&lt;br /&gt;
| Create 3D maps using a DLP pico and the Beagle.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://m.matrixsynth.com/2011/06/beagleboard-synth-proof-of-concept.htm Beagle Midi]&lt;br /&gt;
| Make the Beagle synthesize midi files.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://www.sakoman.com/OMAP/an-overiew-of-omap3-power-management-with-2639-pm.html Beagle Power Management]&lt;br /&gt;
| Work up some power management demos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
| Port TI's fixed-point speech recognizer to the DSP.  It currently runs on the ARM.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Kinect&lt;br /&gt;
| [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.&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Accelerometer-based auto-leveled projection&lt;br /&gt;
| Several projects have been started to add [http://matthsu-abacus.blogspot.com/2009/11/build-3-axis-accelerometer-on.html  accelerometer support] to the BeagleBoard. This project would involve getting an accelerometer installed and working, perhaps using a [http://elinux.org/BeagleBoard_Trainer trainer board], as well the [http://focus.ti.com/general/docs/gencontent.tsp?contentId=52770 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.&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Kinect Based 3d Scanner&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Port winDSK6 to the Beagle&lt;br /&gt;
| [http://www.ece.wisc.edu/~morrow/software/ 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.  [http://processors.wiki.ti.com/index.php/C6Run c6run] would be used to interact with the DSP.  &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Automated Die Tester&lt;br /&gt;
| 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 &amp;quot;rolling a die&amp;quot;. The software doesn't necessarily have to know what the numbers mean, it just has to be able to uniquely identify the sides.&lt;br /&gt;
|-&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Set-Playing System&lt;br /&gt;
| 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 (&amp;quot;If I have these 2 cards, what 3rd card would make a set?&amp;quot;). This would make for an interesting demo at conferences. &lt;br /&gt;
|-&lt;br /&gt;
| Michael Fuson  &lt;br /&gt;
Jay Dial&lt;br /&gt;
| Spectrum Analyzer&lt;br /&gt;
|Create a real-time audio Spectrum analyzer on the BeagleBoard. [http://elinux.org/ECE497_Project_Spectrum_Analyzer Project Page]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| [[ECE597 Project pyWikiReader | pyWikiReader]]&lt;br /&gt;
| 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 &amp;quot;Rose-Hulman&amp;quot;. 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 &amp;quot;mother box&amp;quot; like usability, that is, no interaction besides what is natural to the user (speaking) should be necessary to retrieve the information.&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison &amp;lt;br&amp;gt; Steven Stark&lt;br /&gt;
| [[ECE597 3D Chess | 3D Chess with Networking]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most &amp;lt;br&amp;gt; David Baty &amp;lt;br&amp;gt; Mark Jacobson&lt;br /&gt;
| [[ECE597: Sumo Robot|Sumo Robot]]&lt;br /&gt;
| The goal of this project is to create a robot capable of competing in the 3.0 kg weight class of a sumo competition ([http://www.youtube.com/watch?v=V3OR_sHrOJM 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.  [http://circ.mtco.com/competitions/2010/rules/sumo Sumo rules].&lt;br /&gt;
|-&lt;br /&gt;
|Brian Embry &amp;lt;br&amp;gt; Jessica Lipscomb &amp;lt;br&amp;gt; Paul Banister&lt;br /&gt;
| [[ECE597 Network based MP3 player]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|[[user:routhcr | Chris Routh]] &amp;lt;br&amp;gt; [[user:collinjc | J. Cody Collins]] &amp;lt;br&amp;gt; [[user:jacksogc | Greg Jackson]] [[user:Xinkeqiong | Keqiong Xin]]&lt;br /&gt;
| [[ECE597: Auto HUD]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&amp;lt;br&amp;gt;Qiang Jiang&lt;br /&gt;
| [[ECE597_Adding_Sense_to_Beagle|Adding Sense to Beagle]] (See [[BeagleBoard/GSoC/Ideas]])&lt;br /&gt;
| 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. &lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin &amp;lt;br&amp;gt; Matt Luke &amp;lt;br&amp;gt; Elliot Simon &amp;lt;br&amp;gt; Jian Li&lt;br /&gt;
| [[ECE597 Interactive Pong|Interactive Pong]]&lt;br /&gt;
| Run classic pong, projecting the screen and using a camera to track user's hands for input.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Project_Ideas</id>
		<title>ECE497 Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project_Ideas"/>
				<updated>2011-12-06T23:38:46Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
[[Category:BeagleBoard]]&lt;br /&gt;
&lt;br /&gt;
We have both mini projects and projects in ECE497.  &lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
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 [https://github.com/ github] and a [http://bitbake.berlios.de/manual/ bitbake receipt] will be created to automatically download and create the object files.&lt;br /&gt;
&lt;br /&gt;
What follows are&lt;br /&gt;
&lt;br /&gt;
; Places to look for project ideas: Feel free to add your own suggestions.&lt;br /&gt;
; Mini Project ideas: Add your own suggestions, and do some of them.  Mark the ones you've done.&lt;br /&gt;
; Full Project ideas: ditto.&lt;br /&gt;
&lt;br /&gt;
== Sources for Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
Here are some links where you'll find ideas for your project.&lt;br /&gt;
* [http://wiki.omap.com/index.php/ETechDays_Community_Lightning_Talks 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.&lt;br /&gt;
* [http://beagleboard.org/project Official list of Beagle Projects], there are many Beagle specific projects listed here.  Many are inactive.  ''List your project here once it running.''&lt;br /&gt;
* [http://www.youtube.com/watch?v=Mk1xjbA-ISE 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 [http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&amp;amp;tabId=2235 TI DLP pico projector]. [http://www.hitlabnz.org/wiki/EmbeddedAR Here's] AR running on the Beagle. &lt;br /&gt;
* [http://code.google.com/p/0xdroid/ Android], this is one of a couple of efforts to port [http://source.android.com/ Google's Android OS] to the Beagle.&lt;br /&gt;
* [[BeagleBoard/Ideas-2009]] Google summer code ideas 2009.&lt;br /&gt;
&lt;br /&gt;
== Mini Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Suggestor&lt;br /&gt;
! Implementor&lt;br /&gt;
! Description&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Work up an example of controlling the PWM registers from the shell.&lt;br /&gt;
| [http://esdw.wordpress.com/2010/03/25/a-useful-tool-devmem2/ PWM via the shell]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Weather Station&lt;br /&gt;
| [http://dominion.thruhere.net/koen/cms/using-the-beaglebone-as-a-weatherstation Ultrasonic weather]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C&lt;br /&gt;
| [http://yetanotherhackersblog.wordpress.com/2011/04/07/interfacing-the-beagleboard-with-an-srf08-ultrasonic-ranger-over-i2c Ultrasonic Ranger]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Compile the PowerVR examples&lt;br /&gt;
| [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp PowerVR Insider SDK Downloads]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Work up some GStreamer PS EYE Demos&lt;br /&gt;
| [http://www.electronsonradio.com/2011/06/playstation-eye-gstreamer-examples GStreamer PS EYE Demos] and [http://www.ridgerun.com/blog/?p=224 RidgeRun]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Douglas Selby&lt;br /&gt;
| Get TI' embedded speech recognizer installed and demo the examples.&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Demo last year's TI speech project.  I have a microphone amplifier and mike you can use.&lt;br /&gt;
| [[ECE597 Project pyWikiReader]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Find who is doing what with Kinect on the Beagle and install and run it.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+kinect&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQga2lu&amp;amp;qesig=9qrD0rFfjWfujRRGmkB_Bw&amp;amp;pkc=AFgZ2tn-cylx0f71PasgBKOazjBQY3VK712RWQ7DueEjQNAdbOHr6BCgUd9xdyXyPe8TWErkesrQ246vygwImnAS5mIzCG2-5g&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;source=hp&amp;amp;aq=0&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+kin&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard kinect]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+playstation+eye+microphone+array&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQgcGxheXN0YXRpb24gZXllIG1pY3JvcGhvbmUgYXJyYXk&amp;amp;qesig=Sdh5Ru_jodwYydoeTls1GA&amp;amp;pkc=AFgZ2tmwB41tQwF7XwrJPqFnf0NRO911bMCrbnU1HR9Vm6-Pg0sH8LvbJZsKwjKRUpoin4cZlwLIngZw8OC7dyanjcJCG4N_kg&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+playstation+eye+microphone+array&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard playstation eye microphone array]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://processors.wiki.ti.com/index.php/CMEM_Overview CMEM Overview]&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| [[BeagleBoardBeginners#Connect_with_your_beagleboard_using_VNC_and_ethernet_over_USB | VNC]]&lt;br /&gt;
|-&lt;br /&gt;
| Brian Hulette&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| 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.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Get a video stream from a PS Eye, and identify the relevant device files.&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_Eye#cite_note-Linux_support-32 PlayStation_Eye#cite_note-Linux_support-32]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| William Gerth&lt;br /&gt;
| William Gerth&lt;br /&gt;
| Explore the possibility of implementing OpenAOS on the Beagle, to make a portable media player and etc.&lt;br /&gt;
| http://www.openaos.org/&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://itgen.blogspot.com/2011/03/beagleboard-xm-u-boot-without-serial.html BeagleBoard XM U-boot without Serial]&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB Mount BeagleBoard Root Filesystem over NFS via USB]&lt;br /&gt;
Here's an example of mounting dfs/afs on the Beagle&lt;br /&gt;
&lt;br /&gt;
[[ECE497 Mounting dfs/afs in Linux]]&lt;br /&gt;
|-&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Build communication with FPGA via USB port.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| 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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://antipastohw.blogspot.com/2010/09/how-to-make-beagleboard-elastic-r.html How to make a BeagleBoard Elastic R Beowulf Cluster]&lt;br /&gt;
|-&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Configure wlan on the beagle board using a wireless usb adapter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Get XBMC working on the beagle.&lt;br /&gt;
| [http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC XBMC wiki page]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Sam Allen&lt;br /&gt;
|&lt;br /&gt;
| Port Android to beagle&lt;br /&gt;
| It's done.  Check out [http://code.google.com/p/rowboat/ this].&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Change the splash screen to a Rose logo when the Beagle starts up&lt;br /&gt;
| [http://blog.bizmobiletech.com/?p=253&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+BeagleBoard+%28BeagleBoard.org%29 How to Change Angstrom Boot logo in beagleboard]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Ziyi Zhang&lt;br /&gt;
| Do remote debugging with Eclipse.  My page needs updating.&lt;br /&gt;
| [[ECE497 Installing the Eclipse IDE]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://eigen.tuxfamily.org/index.php?title=Main_Page eigen.tuxfamily.org]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Find what libraries are available for the DSP side of the DM 3730 and write some examples that use them.&lt;br /&gt;
| [http://focus.ti.com/docs/toolsw/folders/print/sprc265.html C64x+ DSP Library (DSPLIB)] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc092.html DSPLIB] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc094.html IMGLIB]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Convert the OSS labs to use the new ALSA drivers&lt;br /&gt;
| [http://www.alsa-project.org/main/index.php/Tutorials_and_Presentations ALSA Tutorials]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/BeagleBoardFAQ#.22DSS2.22_display_driver_for_.3E.3D_2.6.29 dss2]&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install an RT kernel on beagleboard. If successful, this could turn into a full project for exploring RT system and application.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install a VPN server on beagleboard.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Full Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Winter 2011-2012 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://e2e.ti.com/blogs_/b/dlp_mems_blog/archive/2011/05/13/3d-structured-light-using-dlp-technology.aspx 3D Structured Light using DLP® Technology]&lt;br /&gt;
| Create 3D maps using a DLP pico and the Beagle.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://m.matrixsynth.com/2011/06/beagleboard-synth-proof-of-concept.htm Beagle Midi]&lt;br /&gt;
| Make the Beagle synthesize midi files.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://www.sakoman.com/OMAP/an-overiew-of-omap3-power-management-with-2639-pm.html Beagle Power Management]&lt;br /&gt;
| Work up some power management demos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
| Port TI's fixed-point speech recognizer to the DSP.  It currently runs on the ARM.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Kinect&lt;br /&gt;
| [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.&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Accelerometer-based auto-leveled projection&lt;br /&gt;
| Several projects have been started to add [http://matthsu-abacus.blogspot.com/2009/11/build-3-axis-accelerometer-on.html  accelerometer support] to the BeagleBoard. This project would involve getting an accelerometer installed and working, perhaps using a [http://elinux.org/BeagleBoard_Trainer trainer board], as well the [http://focus.ti.com/general/docs/gencontent.tsp?contentId=52770 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.&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Kinect Based 3d Scanner&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Port winDSK6 to the Beagle&lt;br /&gt;
| [http://www.ece.wisc.edu/~morrow/software/ 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.  [http://processors.wiki.ti.com/index.php/C6Run c6run] would be used to interact with the DSP.  &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Automated Die Tester&lt;br /&gt;
| 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 &amp;quot;rolling a die&amp;quot;. The software doesn't necessarily have to know what the numbers mean, it just has to be able to uniquely identify the sides.&lt;br /&gt;
|-&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Set-Playing System&lt;br /&gt;
| 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 (&amp;quot;If I have these 2 cards, what 3rd card would make a set?&amp;quot;). This would make for an interesting demo at conferences. &lt;br /&gt;
|-&lt;br /&gt;
| Michael Fuson  &lt;br /&gt;
Jay Dial&lt;br /&gt;
| Spectrum Analyzer&lt;br /&gt;
|Create a real-time audio Spectrum analyzer on the BeagleBoard. [http://elinux.org/ECE497_Project_Spectrum_Analyzer Project Page]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| [[ECE597 Project pyWikiReader | pyWikiReader]]&lt;br /&gt;
| 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 &amp;quot;Rose-Hulman&amp;quot;. 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 &amp;quot;mother box&amp;quot; like usability, that is, no interaction besides what is natural to the user (speaking) should be necessary to retrieve the information.&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison &amp;lt;br&amp;gt; Steven Stark&lt;br /&gt;
| [[ECE597 3D Chess | 3D Chess with Networking]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most &amp;lt;br&amp;gt; David Baty &amp;lt;br&amp;gt; Mark Jacobson&lt;br /&gt;
| [[ECE597: Sumo Robot|Sumo Robot]]&lt;br /&gt;
| The goal of this project is to create a robot capable of competing in the 3.0 kg weight class of a sumo competition ([http://www.youtube.com/watch?v=V3OR_sHrOJM 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.  [http://circ.mtco.com/competitions/2010/rules/sumo Sumo rules].&lt;br /&gt;
|-&lt;br /&gt;
|Brian Embry &amp;lt;br&amp;gt; Jessica Lipscomb &amp;lt;br&amp;gt; Paul Banister&lt;br /&gt;
| [[ECE597 Network based MP3 player]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|[[user:routhcr | Chris Routh]] &amp;lt;br&amp;gt; [[user:collinjc | J. Cody Collins]] &amp;lt;br&amp;gt; [[user:jacksogc | Greg Jackson]] [[user:Xinkeqiong | Keqiong Xin]]&lt;br /&gt;
| [[ECE597: Auto HUD]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&amp;lt;br&amp;gt;Qiang Jiang&lt;br /&gt;
| [[ECE597_Adding_Sense_to_Beagle|Adding Sense to Beagle]] (See [[BeagleBoard/GSoC/Ideas]])&lt;br /&gt;
| 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. &lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin &amp;lt;br&amp;gt; Matt Luke &amp;lt;br&amp;gt; Elliot Simon &amp;lt;br&amp;gt; Jian Li&lt;br /&gt;
| [[ECE597 Interactive Pong|Interactive Pong]]&lt;br /&gt;
| Run classic pong, projecting the screen and using a camera to track user's hands for input.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Project_Ideas</id>
		<title>ECE497 Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project_Ideas"/>
				<updated>2011-12-06T23:36:54Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
[[Category:BeagleBoard]]&lt;br /&gt;
&lt;br /&gt;
We have both mini projects and projects in ECE497.  &lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
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 [https://github.com/ github] and a [http://bitbake.berlios.de/manual/ bitbake receipt] will be created to automatically download and create the object files.&lt;br /&gt;
&lt;br /&gt;
What follows are&lt;br /&gt;
&lt;br /&gt;
; Places to look for project ideas: Feel free to add your own suggestions.&lt;br /&gt;
; Mini Project ideas: Add your own suggestions, and do some of them.  Mark the ones you've done.&lt;br /&gt;
; Full Project ideas: ditto.&lt;br /&gt;
&lt;br /&gt;
== Sources for Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
Here are some links where you'll find ideas for your project.&lt;br /&gt;
* [http://wiki.omap.com/index.php/ETechDays_Community_Lightning_Talks 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.&lt;br /&gt;
* [http://beagleboard.org/project Official list of Beagle Projects], there are many Beagle specific projects listed here.  Many are inactive.  ''List your project here once it running.''&lt;br /&gt;
* [http://www.youtube.com/watch?v=Mk1xjbA-ISE 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 [http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&amp;amp;tabId=2235 TI DLP pico projector]. [http://www.hitlabnz.org/wiki/EmbeddedAR Here's] AR running on the Beagle. &lt;br /&gt;
* [http://code.google.com/p/0xdroid/ Android], this is one of a couple of efforts to port [http://source.android.com/ Google's Android OS] to the Beagle.&lt;br /&gt;
* [[BeagleBoard/Ideas-2009]] Google summer code ideas 2009.&lt;br /&gt;
&lt;br /&gt;
== Mini Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Suggestor&lt;br /&gt;
! Implementor&lt;br /&gt;
! Description&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Work up an example of controlling the PWM registers from the shell.&lt;br /&gt;
| [http://esdw.wordpress.com/2010/03/25/a-useful-tool-devmem2/ PWM via the shell]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Weather Station&lt;br /&gt;
| [http://dominion.thruhere.net/koen/cms/using-the-beaglebone-as-a-weatherstation Ultrasonic weather]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C&lt;br /&gt;
| [http://yetanotherhackersblog.wordpress.com/2011/04/07/interfacing-the-beagleboard-with-an-srf08-ultrasonic-ranger-over-i2c Ultrasonic Ranger]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Compile the PowerVR examples&lt;br /&gt;
| [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp PowerVR Insider SDK Downloads]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Work up some GStreamer PS EYE Demos&lt;br /&gt;
| [http://www.electronsonradio.com/2011/06/playstation-eye-gstreamer-examples GStreamer PS EYE Demos] and [http://www.ridgerun.com/blog/?p=224 RidgeRun]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Douglas Selby&lt;br /&gt;
| Get TI' embedded speech recognizer installed and demo the examples.&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Demo last year's TI speech project.  I have a microphone amplifier and mike you can use.&lt;br /&gt;
| [[ECE597 Project pyWikiReader]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Find who is doing what with Kinect on the Beagle and install and run it.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+kinect&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQga2lu&amp;amp;qesig=9qrD0rFfjWfujRRGmkB_Bw&amp;amp;pkc=AFgZ2tn-cylx0f71PasgBKOazjBQY3VK712RWQ7DueEjQNAdbOHr6BCgUd9xdyXyPe8TWErkesrQ246vygwImnAS5mIzCG2-5g&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;source=hp&amp;amp;aq=0&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+kin&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard kinect]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+playstation+eye+microphone+array&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQgcGxheXN0YXRpb24gZXllIG1pY3JvcGhvbmUgYXJyYXk&amp;amp;qesig=Sdh5Ru_jodwYydoeTls1GA&amp;amp;pkc=AFgZ2tmwB41tQwF7XwrJPqFnf0NRO911bMCrbnU1HR9Vm6-Pg0sH8LvbJZsKwjKRUpoin4cZlwLIngZw8OC7dyanjcJCG4N_kg&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+playstation+eye+microphone+array&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard playstation eye microphone array]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://processors.wiki.ti.com/index.php/CMEM_Overview CMEM Overview]&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| [[BeagleBoardBeginners#Connect_with_your_beagleboard_using_VNC_and_ethernet_over_USB | VNC]]&lt;br /&gt;
|-&lt;br /&gt;
| Brian Hulette&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| 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.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Get a video stream from a PS Eye, and identify the relevant device files.&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_Eye#cite_note-Linux_support-32 PlayStation_Eye#cite_note-Linux_support-32]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| William Gerth&lt;br /&gt;
| William Gerth&lt;br /&gt;
| Explore the possibility of implementing OpenAOS on the Beagle, to make a portable media player and etc.&lt;br /&gt;
| http://www.openaos.org/&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://itgen.blogspot.com/2011/03/beagleboard-xm-u-boot-without-serial.html BeagleBoard XM U-boot without Serial]&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB Mount BeagleBoard Root Filesystem over NFS via USB]&lt;br /&gt;
Here's an example of mounting dfs/afs on the Beagle&lt;br /&gt;
&lt;br /&gt;
[[ECE497 Mounting dfs/afs in Linux]]&lt;br /&gt;
|-&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Build communication with FPGA via USB port.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| 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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://antipastohw.blogspot.com/2010/09/how-to-make-beagleboard-elastic-r.html How to make a BeagleBoard Elastic R Beowulf Cluster]&lt;br /&gt;
|-&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Configure wlan on the beagle board using a wireless usb adapter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Get XBMC working on the beagle.&lt;br /&gt;
| [http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC XBMC wiki page]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Sam Allen&lt;br /&gt;
|&lt;br /&gt;
| Port Android to beagle&lt;br /&gt;
| It's done.  Check out [http://code.google.com/p/rowboat/ this].&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Change the splash screen to a Rose logo when the Beagle starts up&lt;br /&gt;
| [http://blog.bizmobiletech.com/?p=253&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+BeagleBoard+%28BeagleBoard.org%29 How to Change Angstrom Boot logo in beagleboard]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Ziyi Zhang&lt;br /&gt;
| Do remote debugging with Eclipse.  My page needs updating.&lt;br /&gt;
| [[ECE497 Installing the Eclipse IDE]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://eigen.tuxfamily.org/index.php?title=Main_Page eigen.tuxfamily.org]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Find what libraries are available for the DSP side of the DM 3730 and write some examples that use them.&lt;br /&gt;
| [http://focus.ti.com/docs/toolsw/folders/print/sprc265.html C64x+ DSP Library (DSPLIB)] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc092.html DSPLIB] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc094.html IMGLIB]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Convert the OSS labs to use the new ALSA drivers&lt;br /&gt;
| [http://www.alsa-project.org/main/index.php/Tutorials_and_Presentations ALSA Tutorials]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/BeagleBoardFAQ#.22DSS2.22_display_driver_for_.3E.3D_2.6.29 dss2]&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| Install an RT kernel on beagleboard. If successful, this could turn into a full project for exploring RT system and application.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Full Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Winter 2011-2012 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://e2e.ti.com/blogs_/b/dlp_mems_blog/archive/2011/05/13/3d-structured-light-using-dlp-technology.aspx 3D Structured Light using DLP® Technology]&lt;br /&gt;
| Create 3D maps using a DLP pico and the Beagle.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://m.matrixsynth.com/2011/06/beagleboard-synth-proof-of-concept.htm Beagle Midi]&lt;br /&gt;
| Make the Beagle synthesize midi files.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://www.sakoman.com/OMAP/an-overiew-of-omap3-power-management-with-2639-pm.html Beagle Power Management]&lt;br /&gt;
| Work up some power management demos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
| Port TI's fixed-point speech recognizer to the DSP.  It currently runs on the ARM.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Kinect&lt;br /&gt;
| [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.&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Accelerometer-based auto-leveled projection&lt;br /&gt;
| Several projects have been started to add [http://matthsu-abacus.blogspot.com/2009/11/build-3-axis-accelerometer-on.html  accelerometer support] to the BeagleBoard. This project would involve getting an accelerometer installed and working, perhaps using a [http://elinux.org/BeagleBoard_Trainer trainer board], as well the [http://focus.ti.com/general/docs/gencontent.tsp?contentId=52770 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.&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Kinect Based 3d Scanner&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Port winDSK6 to the Beagle&lt;br /&gt;
| [http://www.ece.wisc.edu/~morrow/software/ 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.  [http://processors.wiki.ti.com/index.php/C6Run c6run] would be used to interact with the DSP.  &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Automated Die Tester&lt;br /&gt;
| 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 &amp;quot;rolling a die&amp;quot;. The software doesn't necessarily have to know what the numbers mean, it just has to be able to uniquely identify the sides.&lt;br /&gt;
|-&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Set-Playing System&lt;br /&gt;
| 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 (&amp;quot;If I have these 2 cards, what 3rd card would make a set?&amp;quot;). This would make for an interesting demo at conferences. &lt;br /&gt;
|-&lt;br /&gt;
| Michael Fuson  &lt;br /&gt;
Jay Dial&lt;br /&gt;
| Spectrum Analyzer&lt;br /&gt;
|Create a real-time audio Spectrum analyzer on the BeagleBoard. [http://elinux.org/ECE497_Project_Spectrum_Analyzer Project Page]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| [[ECE597 Project pyWikiReader | pyWikiReader]]&lt;br /&gt;
| 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 &amp;quot;Rose-Hulman&amp;quot;. 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 &amp;quot;mother box&amp;quot; like usability, that is, no interaction besides what is natural to the user (speaking) should be necessary to retrieve the information.&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison &amp;lt;br&amp;gt; Steven Stark&lt;br /&gt;
| [[ECE597 3D Chess | 3D Chess with Networking]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most &amp;lt;br&amp;gt; David Baty &amp;lt;br&amp;gt; Mark Jacobson&lt;br /&gt;
| [[ECE597: Sumo Robot|Sumo Robot]]&lt;br /&gt;
| The goal of this project is to create a robot capable of competing in the 3.0 kg weight class of a sumo competition ([http://www.youtube.com/watch?v=V3OR_sHrOJM 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.  [http://circ.mtco.com/competitions/2010/rules/sumo Sumo rules].&lt;br /&gt;
|-&lt;br /&gt;
|Brian Embry &amp;lt;br&amp;gt; Jessica Lipscomb &amp;lt;br&amp;gt; Paul Banister&lt;br /&gt;
| [[ECE597 Network based MP3 player]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|[[user:routhcr | Chris Routh]] &amp;lt;br&amp;gt; [[user:collinjc | J. Cody Collins]] &amp;lt;br&amp;gt; [[user:jacksogc | Greg Jackson]] [[user:Xinkeqiong | Keqiong Xin]]&lt;br /&gt;
| [[ECE597: Auto HUD]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&amp;lt;br&amp;gt;Qiang Jiang&lt;br /&gt;
| [[ECE597_Adding_Sense_to_Beagle|Adding Sense to Beagle]] (See [[BeagleBoard/GSoC/Ideas]])&lt;br /&gt;
| 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. &lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin &amp;lt;br&amp;gt; Matt Luke &amp;lt;br&amp;gt; Elliot Simon &amp;lt;br&amp;gt; Jian Li&lt;br /&gt;
| [[ECE597 Interactive Pong|Interactive Pong]]&lt;br /&gt;
| Run classic pong, projecting the screen and using a camera to track user's hands for input.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Project_Ideas</id>
		<title>ECE497 Project Ideas</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Project_Ideas"/>
				<updated>2011-12-06T23:27:26Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
[[Category:BeagleBoard]]&lt;br /&gt;
&lt;br /&gt;
We have both mini projects and projects in ECE497.  &lt;br /&gt;
&lt;br /&gt;
'''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.&lt;br /&gt;
&lt;br /&gt;
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 [https://github.com/ github] and a [http://bitbake.berlios.de/manual/ bitbake receipt] will be created to automatically download and create the object files.&lt;br /&gt;
&lt;br /&gt;
What follows are&lt;br /&gt;
&lt;br /&gt;
; Places to look for project ideas: Feel free to add your own suggestions.&lt;br /&gt;
; Mini Project ideas: Add your own suggestions, and do some of them.  Mark the ones you've done.&lt;br /&gt;
; Full Project ideas: ditto.&lt;br /&gt;
&lt;br /&gt;
== Sources for Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
Here are some links where you'll find ideas for your project.&lt;br /&gt;
* [http://wiki.omap.com/index.php/ETechDays_Community_Lightning_Talks 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.&lt;br /&gt;
* [http://beagleboard.org/project Official list of Beagle Projects], there are many Beagle specific projects listed here.  Many are inactive.  ''List your project here once it running.''&lt;br /&gt;
* [http://www.youtube.com/watch?v=Mk1xjbA-ISE 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 [http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&amp;amp;tabId=2235 TI DLP pico projector]. [http://www.hitlabnz.org/wiki/EmbeddedAR Here's] AR running on the Beagle. &lt;br /&gt;
* [http://code.google.com/p/0xdroid/ Android], this is one of a couple of efforts to port [http://source.android.com/ Google's Android OS] to the Beagle.&lt;br /&gt;
* [[BeagleBoard/Ideas-2009]] Google summer code ideas 2009.&lt;br /&gt;
&lt;br /&gt;
== Mini Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Suggestor&lt;br /&gt;
! Implementor&lt;br /&gt;
! Description&lt;br /&gt;
! Link&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Jack Ma&lt;br /&gt;
| Work up an example of controlling the PWM registers from the shell.&lt;br /&gt;
| [http://esdw.wordpress.com/2010/03/25/a-useful-tool-devmem2/ PWM via the shell]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Weather Station&lt;br /&gt;
| [http://dominion.thruhere.net/koen/cms/using-the-beaglebone-as-a-weatherstation Ultrasonic weather]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Interface the BeagleBoard with an SRF08 Ultrasonic Ranger over I2C&lt;br /&gt;
| [http://yetanotherhackersblog.wordpress.com/2011/04/07/interfacing-the-beagleboard-with-an-srf08-ultrasonic-ranger-over-i2c Ultrasonic Ranger]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Compile the PowerVR examples&lt;br /&gt;
| [http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp PowerVR Insider SDK Downloads]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Work up some GStreamer PS EYE Demos&lt;br /&gt;
| [http://www.electronsonradio.com/2011/06/playstation-eye-gstreamer-examples GStreamer PS EYE Demos] and [http://www.ridgerun.com/blog/?p=224 RidgeRun]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Douglas Selby&lt;br /&gt;
| Get TI' embedded speech recognizer installed and demo the examples.&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Demo last year's TI speech project.  I have a microphone amplifier and mike you can use.&lt;br /&gt;
| [[ECE597 Project pyWikiReader]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Find who is doing what with Kinect on the Beagle and install and run it.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+kinect&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQga2lu&amp;amp;qesig=9qrD0rFfjWfujRRGmkB_Bw&amp;amp;pkc=AFgZ2tn-cylx0f71PasgBKOazjBQY3VK712RWQ7DueEjQNAdbOHr6BCgUd9xdyXyPe8TWErkesrQ246vygwImnAS5mIzCG2-5g&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;source=hp&amp;amp;aq=0&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+kin&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard kinect]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://www.google.com/webhp?rlz=1C1GPCK_enUS392US392&amp;amp;sourceid=chrome-instant&amp;amp;ie=UTF-8&amp;amp;ion=1#hl=en&amp;amp;sugexp=ldymls&amp;amp;xhr=t&amp;amp;q=beagleboard+playstation+eye+microphone+array&amp;amp;cp=0&amp;amp;qe=YmVhZ2xlYm9hcmQgcGxheXN0YXRpb24gZXllIG1pY3JvcGhvbmUgYXJyYXk&amp;amp;qesig=Sdh5Ru_jodwYydoeTls1GA&amp;amp;pkc=AFgZ2tmwB41tQwF7XwrJPqFnf0NRO911bMCrbnU1HR9Vm6-Pg0sH8LvbJZsKwjKRUpoin4cZlwLIngZw8OC7dyanjcJCG4N_kg&amp;amp;pf=p&amp;amp;sclient=psy&amp;amp;rlz=1C1GPCK_enUS392US392&amp;amp;site=webhp&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=beagleboard+playstation+eye+microphone+array&amp;amp;pbx=1&amp;amp;bav=on.2,or.&amp;amp;fp=3e817b7ec5d13467&amp;amp;ion=1 Google - beagleboard playstation eye microphone array]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://processors.wiki.ti.com/index.php/CMEM_Overview CMEM Overview]&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| [[BeagleBoardBeginners#Connect_with_your_beagleboard_using_VNC_and_ethernet_over_USB | VNC]]&lt;br /&gt;
|-&lt;br /&gt;
| Brian Hulette&lt;br /&gt;
| &lt;br /&gt;
| 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. &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| David McGinnis&lt;br /&gt;
| 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.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Get a video stream from a PS Eye, and identify the relevant device files.&lt;br /&gt;
| [http://en.wikipedia.org/wiki/PlayStation_Eye#cite_note-Linux_support-32 PlayStation_Eye#cite_note-Linux_support-32]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| William Gerth&lt;br /&gt;
| William Gerth&lt;br /&gt;
| Explore the possibility of implementing OpenAOS on the Beagle, to make a portable media player and etc.&lt;br /&gt;
| http://www.openaos.org/&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://itgen.blogspot.com/2011/03/beagleboard-xm-u-boot-without-serial.html BeagleBoard XM U-boot without Serial]&lt;br /&gt;
|-&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| Joel Carlson&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB Mount BeagleBoard Root Filesystem over NFS via USB]&lt;br /&gt;
Here's an example of mounting dfs/afs on the Beagle&lt;br /&gt;
&lt;br /&gt;
[[ECE497 Mounting dfs/afs in Linux]]&lt;br /&gt;
|-&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Lei Liu&lt;br /&gt;
| Build communication with FPGA via USB port.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| 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&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| Jay Dial&lt;br /&gt;
| 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.&lt;br /&gt;
| [http://antipastohw.blogspot.com/2010/09/how-to-make-beagleboard-elastic-r.html How to make a BeagleBoard Elastic R Beowulf Cluster]&lt;br /&gt;
|-&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Randy Billingsley&lt;br /&gt;
| Configure wlan on the beagle board using a wireless usb adapter&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Mike Fuson&lt;br /&gt;
| Get XBMC working on the beagle.&lt;br /&gt;
| [http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC XBMC wiki page]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Sam Allen&lt;br /&gt;
|&lt;br /&gt;
| Port Android to beagle&lt;br /&gt;
| It's done.  Check out [http://code.google.com/p/rowboat/ this].&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Change the splash screen to a Rose logo when the Beagle starts up&lt;br /&gt;
| [http://blog.bizmobiletech.com/?p=253&amp;amp;utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+BeagleBoard+%28BeagleBoard.org%29 How to Change Angstrom Boot logo in beagleboard]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Ziyi Zhang&lt;br /&gt;
| Do remote debugging with Eclipse.  My page needs updating.&lt;br /&gt;
| [[ECE497 Installing the Eclipse IDE]]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
|&lt;br /&gt;
| 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?&lt;br /&gt;
| [http://eigen.tuxfamily.org/index.php?title=Main_Page eigen.tuxfamily.org]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Find what libraries are available for the DSP side of the DM 3730 and write some examples that use them.&lt;br /&gt;
| [http://focus.ti.com/docs/toolsw/folders/print/sprc265.html C64x+ DSP Library (DSPLIB)] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc092.html DSPLIB] &lt;br /&gt;
[http://focus.ti.com/docs/toolsw/folders/print/sprc094.html IMGLIB]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| Convert the OSS labs to use the new ALSA drivers&lt;br /&gt;
| [http://www.alsa-project.org/main/index.php/Tutorials_and_Presentations ALSA Tutorials]&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| [http://elinux.org/BeagleBoardFAQ#.22DSS2.22_display_driver_for_.3E.3D_2.6.29 dss2]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Full Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Winter 2011-2012 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://e2e.ti.com/blogs_/b/dlp_mems_blog/archive/2011/05/13/3d-structured-light-using-dlp-technology.aspx 3D Structured Light using DLP® Technology]&lt;br /&gt;
| Create 3D maps using a DLP pico and the Beagle.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://m.matrixsynth.com/2011/06/beagleboard-synth-proof-of-concept.htm Beagle Midi]&lt;br /&gt;
| Make the Beagle synthesize midi files.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [http://www.sakoman.com/OMAP/an-overiew-of-omap3-power-management-with-2639-pm.html Beagle Power Management]&lt;br /&gt;
| Work up some power management demos.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| [https://gforge.ti.com/gf/project/tiesr TI Embedded Speech Recognizer]&lt;br /&gt;
| Port TI's fixed-point speech recognizer to the DSP.  It currently runs on the ARM.&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Kinect&lt;br /&gt;
| [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.&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lester&lt;br /&gt;
| Accelerometer-based auto-leveled projection&lt;br /&gt;
| Several projects have been started to add [http://matthsu-abacus.blogspot.com/2009/11/build-3-axis-accelerometer-on.html  accelerometer support] to the BeagleBoard. This project would involve getting an accelerometer installed and working, perhaps using a [http://elinux.org/BeagleBoard_Trainer trainer board], as well the [http://focus.ti.com/general/docs/gencontent.tsp?contentId=52770 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.&lt;br /&gt;
|-&lt;br /&gt;
| Aaron Bamberger&lt;br /&gt;
| Kinect Based 3d Scanner&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| Mark A. Yoder&lt;br /&gt;
| Port winDSK6 to the Beagle&lt;br /&gt;
| [http://www.ece.wisc.edu/~morrow/software/ 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.  [http://processors.wiki.ti.com/index.php/C6Run c6run] would be used to interact with the DSP.  &lt;br /&gt;
|-&lt;br /&gt;
| David Bliss&lt;br /&gt;
| Automated Die Tester&lt;br /&gt;
| 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 &amp;quot;rolling a die&amp;quot;. The software doesn't necessarily have to know what the numbers mean, it just has to be able to uniquely identify the sides.&lt;br /&gt;
|-&lt;br /&gt;
| Stephen Mayhew&lt;br /&gt;
| Set-Playing System&lt;br /&gt;
| 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 (&amp;quot;If I have these 2 cards, what 3rd card would make a set?&amp;quot;). This would make for an interesting demo at conferences. &lt;br /&gt;
|-&lt;br /&gt;
| Michael Fuson  &lt;br /&gt;
Jay Dial&lt;br /&gt;
| Spectrum Analyzer&lt;br /&gt;
|Create a real-time audio Spectrum analyzer on the BeagleBoard. [http://elinux.org/ECE497_Project_Spectrum_Analyzer Project Page]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Team&amp;amp;nbsp;Members&lt;br /&gt;
! Project Title&lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
| Yannick Polius&lt;br /&gt;
| [[ECE597 Project pyWikiReader | pyWikiReader]]&lt;br /&gt;
| 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 &amp;quot;Rose-Hulman&amp;quot;. 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 &amp;quot;mother box&amp;quot; like usability, that is, no interaction besides what is natural to the user (speaking) should be necessary to retrieve the information.&lt;br /&gt;
|-&lt;br /&gt;
| Paul Morrison &amp;lt;br&amp;gt; Steven Stark&lt;br /&gt;
| [[ECE597 3D Chess | 3D Chess with Networking]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Tom Most &amp;lt;br&amp;gt; David Baty &amp;lt;br&amp;gt; Mark Jacobson&lt;br /&gt;
| [[ECE597: Sumo Robot|Sumo Robot]]&lt;br /&gt;
| The goal of this project is to create a robot capable of competing in the 3.0 kg weight class of a sumo competition ([http://www.youtube.com/watch?v=V3OR_sHrOJM 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.  [http://circ.mtco.com/competitions/2010/rules/sumo Sumo rules].&lt;br /&gt;
|-&lt;br /&gt;
|Brian Embry &amp;lt;br&amp;gt; Jessica Lipscomb &amp;lt;br&amp;gt; Paul Banister&lt;br /&gt;
| [[ECE597 Network based MP3 player]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|[[user:routhcr | Chris Routh]] &amp;lt;br&amp;gt; [[user:collinjc | J. Cody Collins]] &amp;lt;br&amp;gt; [[user:jacksogc | Greg Jackson]] [[user:Xinkeqiong | Keqiong Xin]]&lt;br /&gt;
| [[ECE597: Auto HUD]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| Adam Jesionowski&amp;lt;br&amp;gt;Qiang Jiang&lt;br /&gt;
| [[ECE597_Adding_Sense_to_Beagle|Adding Sense to Beagle]] (See [[BeagleBoard/GSoC/Ideas]])&lt;br /&gt;
| 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. &lt;br /&gt;
|-&lt;br /&gt;
| Mitch Garvin &amp;lt;br&amp;gt; Matt Luke &amp;lt;br&amp;gt; Elliot Simon &amp;lt;br&amp;gt; Jian Li&lt;br /&gt;
| [[ECE597 Interactive Pong|Interactive Pong]]&lt;br /&gt;
| Run classic pong, projecting the screen and using a camera to track user's hands for input.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Contributions_and_Project_Status</id>
		<title>ECE497 Contributions and Project Status</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Contributions_and_Project_Status"/>
				<updated>2011-11-28T07:37:01Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
&lt;br /&gt;
Please edit this page and add your user name, alphabetically by last name, to this list.&lt;br /&gt;
&lt;br /&gt;
Take a look at what you and others have contributed.&lt;br /&gt;
&lt;br /&gt;
# [[Special:Contributions/YourUserName| YourName]]&lt;br /&gt;
# [[Special:Contributions/Yoder | Mark A. Yoder]]&lt;br /&gt;
# [[Special:Contributions/Yuming | Yuming Cao]]&lt;br /&gt;
# [[Special:Contributions/Yifei | Yifei Li]]&lt;br /&gt;
# [[Special:Contributions/mac | Jack Ma]]&lt;br /&gt;
# [[Special:Contributions/Harrisgw | Greg Harrison]]&lt;br /&gt;
# [[Special:Contributions/Yuhasmj | Michael Yuhas]]&lt;br /&gt;
# [[Special:Contributions/Yanj | Mona Yan]]&lt;br /&gt;
# [[Special:Contributions/Ziyi Zhang | Ziyi Zhang]]&lt;br /&gt;
# [[Special:Contributions/Zitnikdj | David Zitnik]]&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Mac</id>
		<title>User:Mac</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Mac"/>
				<updated>2011-11-28T07:35:24Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: Created page with &amp;quot;Jack Ma:  I am a CS/Math senior.             Category:ECE497&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jack Ma:&lt;br /&gt;
&lt;br /&gt;
I am a CS/Math senior.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:ECE497]]&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	<entry>
		<id>http://elinux.org/ECE497_Editing_a_Wiki</id>
		<title>ECE497 Editing a Wiki</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/ECE497_Editing_a_Wiki"/>
				<updated>2011-11-28T07:31:51Z</updated>
		
		<summary type="html">&lt;p&gt;Mac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ECE497]]&lt;br /&gt;
&lt;br /&gt;
Here is a wiki you can practice editing.  Before you can edit it you will have to create an login.  Pick something that will make it easy for me to identify you as part of my class.  Then just add your name and date on the end of the table.&lt;br /&gt;
&lt;br /&gt;
You can get help here: [[Help:Contents]].&lt;br /&gt;
&lt;br /&gt;
If you need help with syntax check out the [[Editing Quickstart Guide|eLinux guide]] or the [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet Wikipedia Cheetsheet].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[user:Yoder | Mark A. Yoder]]&lt;br /&gt;
| 21-Nov-2011&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| [[user:Yuming | Yuming Cao]]&lt;br /&gt;
| 21-Nov-2011&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| [[user:Yuhasmj | Michael Yuhas]]&lt;br /&gt;
| 21-Nov-2011&lt;br /&gt;
|-&lt;br /&gt;
| [[user:Yifei | Yifei Li]]&lt;br /&gt;
| 22-Nov-2011&lt;br /&gt;
|-&lt;br /&gt;
| [[user:Ziyi Zhang | Ziyi Zhang]]&lt;br /&gt;
| 24-Nov-2011&lt;br /&gt;
|-&lt;br /&gt;
|[[user: mac | Jack Ma]]&lt;br /&gt;
| 28-Nov-2011&lt;br /&gt;
|-&lt;br /&gt;
| [[user:Zitnikdj | David Zitnik]]&lt;br /&gt;
| 25-Nov-2011&lt;br /&gt;
|-&lt;br /&gt;
| [[user:Harrisgw | Greg Harrison]]&lt;br /&gt;
| 26-Nov-2011&lt;br /&gt;
|-&lt;br /&gt;
| [[user:Yanj | Mona J Yan]]&lt;br /&gt;
| 27-Nov-2011&lt;/div&gt;</summary>
		<author><name>Mac</name></author>	</entry>

	</feed>