Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

Arduino with FPGA power

What if combine FPGA speed and flexibility with Arduino simplicity. You get ZPUino. It is a great project that reached stable release 1.0. ZPUino is a soft processor running on FPGA. Probably not the first you say. But it is easy programmable by using modified Arduino IDE. Processor itself is 32-bit and is capable of running at speed of 100MHz. But most important part that unlikely in regular Arduino you can construct your own peripherals and other hardware using FPGA logic gates and other resources like memory hardware multipliers or other blocks. As we mentioned there is a ZPUino IDE based on Arduino IDE. So practically there is no learning involved… If you have FPGA hardware like Papilio 500 or Spartan3E Starter Kit around give it a try. Continue reading

Synthesizing ocarina sound using FPGA

Ocarina is a flute like musical instrument with several holes to change tones of pretty complex sounds. Cornell Students decided to synthesize ocarina instrument using FPGA direct synthesis algorithm. First of all they analyzed original ocarina sound spectrum to get amplitudes of each harmonic so they could create state machines to output them when played. as it is air instrument they attached microphone to get air flow intensity which controls the volume of output. Simple six button board substitutes holes to change pitch. The results as you can see in the video are good enough to say that its ocarina like. Continue reading

Playing MP3 and WAV on FPGA

When there is an MP3 involved you usually pick some microcontroller and decoder chip that takes all the workload. Check out a bit different work where all work is done using FPGA. The hardware is based on Sartan 6 XC6SLX9 along with 512K of SRAM and stereo DAC. Inside FPGA there is a soft-core 32 bit processor running at 60MHz which decodes MP3 using Hellix decoder library. MP3 files are stored in MicroSD flash card. As a result audio player is capable of playing MP3 and WAV files at 320Kbps. 44.1kHz audio is a 3% slower but seems this isn’t noticeable and so acceptable. Continue reading

Altera DE2 FPGA midi converter

If you know a bit about MIDI then you know that you can create music files out of notes. There are plenty of PC software that allows doing that. This Visual Music Composer tries to get rid of PC. Project is based on Altera DE2 FPGA board and this is where whole fun happens. Since there is no PC board has to take care of human input interface where PC keyboard is used. You can’t write notes if you don’t see them. So a another part is a VGA output – you can see what you’re doing on VGA screen. And of course there another hidden part – the brain “music reader and converter” which resides inside FPGA chip. Code reads whats been input by user and then converts music data in to audio signal. The interface is fairly simple. In VGA screen you can see a set of available notes and other music specific symbols and then you have music sheet where you can pick and place notes. It has lots of limitations. Seems it can’t play chords and… Continue reading

Adaptive noise canceler on DE2 baord

Guys Jiawey and Jinda from ECE5760 class have build an adaptive noise canceler as their final project. Algorithm is based on least-mean-square (LMS) routine which is simple and efficient. Without going to deep in to theory of operation we can mention that algorithm is filtering noise contaminated signal in real time. To do so, it needs two inputs, one for reference noise and another for signal which is contaminated with noise. Both inputs are fed in to DE2 board where algorithm filters noise out and produces cleaner sound to speakers. Continue reading

Play music with your fingers on a sheet of paper

The guys from Cornell designed an interesting system that allows playing music on a paper with only fingers. The idea is simple but another talk with implementation. They took a camera to capture area where playing is performed. Then each area is divided in sectors with different instruments like keyboard, drum. FPGA has to detect finger by recognizing human skin and then determine its position. As they say – the most challenging part of the project was detecting human skin. They escaped with pretty simple solution where normalized RGB values are analyzed. In order to get piano like music sound they used Karplus-Stron algorithm which models the behavior of string vibration. For drum signal they modeled a wave propagation on a mesh surface. They put all system in to two FPGA DE2 boards where one takes care of detecting fingers and generates piano sounds while another takes care of drum sound. Continue reading