Lab 2 Lunar Lander GAME

This is a project done by the students from Cornell University. The idea was to have a full hardware and software video game solution that is able to use real-time motion tracking as control input to a video game. With the help of motion- tracking technology, they simulated a gun which works on finger/hand movement and the movements are displayed on a VGA monitor. For the game, they have used an Altera DE2 board with a CycloneII FPGA to implement the video processing core.


The video input is taken from video camera that outputs an NTSC signal that is processed to extract RGB values from the image in the camera’s field of vision and all that is possible because of power of FPGA parallel processing. The game is fairly playable if it is handled correctly and may require multiple tries to get it to work properly. Many parameters are either limited by hardware or tuned specifically for the game. Overall, I would say, that it’s an excellent project with the help of a FPGA and is something which I would have definitely enjoyed it making.

Make Your Own Music

Ever wonder to have tools which can help you compose your own music. Most of them which are available are software’s, but this one is a hardware which was done as a final-year project by the students of Cornell University. They designed and implemented the Audio Composer and Conductor Suite (A.C.C.S) which is a combination of tools to develop and compose new music. The software end handles audio note frequency and note length generation through a user based input

FPGA hardware then generates multiple tracks of musical notes on a synthesizer that are played over speakers. Running in parallel with the audio output is video detection hardware to track the user’s movements. The entire set up is centred on 2 Altera FPGA Development Boards, a DE2 and a DE2-115. The DE2 is in charge of filtering and hand movement interpretations. The DE2-115 is in charge of Musical Notation and synthesis. A TV camera sits at around head or chest level about 5 feet in front of the user, while a white or black backdrop is put behind the user to block background light and colours. Overall, an excellent project for electronics as well as music lovers.

Beat proagrammable gate array

The name might sound complicated enough, but the project is actually a fun to use synthesizer –sequencer which also has an added ability to sample and compose. This project was built by two people as their final year project for Cornell University. As far as the hardware part is concerned, they use an Altera DE2 FPGA board for processing the data and a popular software by Mathworks named MATLAB as a user interface since it has an ability to create interactive GUI without much input.


The synthesizer uses a combination of sampled and additively synthesized sounds to produce various instruments. The FPGA based sequencer takes input from a MATLAB GUI and sequences each instrument separately, allowing the user to make compositions in real-time. Moreover, an automatic gain control algorithm was designed and implemented to ensure that overflow would not result in distorted output. The design starts with user input to a screen of buttons on a MATLAB GUI. These sequences are periodically pushed out through a National Instruments Analog-Digital Converter into the GPIO port of the Altera DE2 board which is read by the Altera board and is processed according to the sample received.

Be a piano hero

The students at the Cornell University have developed something interesting that might excite all of you. We all have seen a vast number of virtual piano but this is something special. It’s a virtual piano which the user can play on the screen, even if the screen is not a touch screen. Amazed, well that’s the beauty of the project. Instead of using a costly touch-screen based monitor, they simply hook up a camera, and with some amount of small calibration, your monitor could easily turn into a touchscreen


The Karplus-Strong string synthesis Algorithm is widely used to simulate the real instrument sound produced by strings. One major trade off the project is that, instead of storing the image to display in SRAM, they have just make a virtual buffer for VGA. It’s a module that takes the VGA address as input and calculates the corresponding colour and sends out the result. They have assigned each key a label, so later on when we compare the input image colour with the stored colour, we can know which key is pressed. A timer is also used to control the tempo which is measured in bps (beats per second)