Another interesting FPGA-based project, this is a Logic Analyzer that is designed to make samples of 24 logic channels and stream the data to a computer for subsequent processing. The device connects to the PC using the USB 2.0 port and supports high transfer rates.
The FPGA mentioned is the EP2C5T144C7N model of Cyclone II device family from Altera and it was programmed using VHDL. The Logic Analyzer also possesses a NET2272 USB controller from NetChip. The device can be self-powered or powered using the USB port, which has a 5V voltage that is converted to 3.3V for the NET2272 controller and to 1.2V for the FPGA core (the conversion is made using two LTC3411 switching regulators).
The Logic Analyzer has three connectors intended for connecting various devices. There is a 10-pin connector for JTAG configuration, another 10-pin connector for a serial FPGA configuration device and a 26-pin connector for probes. The link provides an erratum with key information about software and hardware and some useful tips & tricks on SMD soldering. Schematics and PCB layout pdf files are also included.
FPGA Logic Analyzer: [Link]
Released by Atari in 1972, Pong was a simple video game that became a huge commercial success and is actually considered the game that started the whole video game industry. Pong has simple 2D black-and-white graphics and involves hitting a ball with a paddle located on one side of the screen, simulating table tennis. It can be played with a computer controlled opponent or with another human player and has many different variants that emerged over the years, including on home consoles.
This project features a game of Pong on a Pluto FPGA board that connects to a VGA monitor and has a mouse as a game controller. The HS and VS (horizontal and vertical synchronization, respectively) are digital signals and can be directly connected to FPGA pins or using two low values resistances. The R, G, B signals are analog, so three resistances are required to form voltage dividers that get the 3.3V FPGA output close to the 0.7V nominal values of the aforementioned analog signals (you can find more information about these values and calculations in the link).
Displaying the actual game on the monitor is a bit tricky, you have to generate the HS and VS to be able to display something on the monitor. Then, drawing the actual game, the paddles and the ball is another story, you need to generate the R, G, B and make the ball moving. Another part that can get hairy is the collision detection, you need the ball bouncing off when it hits the paddles. The code for all this is available below, as well as detailed pictures on the board, the VGA connectors and other Pong FPGA project links.
Pong on FPGA: [Link]
There are countless MP3 players projects out there, and building your own is not the most difficult task a portable music player enthusiast can undertake. What’s different about this project right here though is the fact that it’s designer claims it’s faster and cheaper than all the others. That may or may not be true, but it’s worth taking a closer look.
The yPod is based on a microcontroller from Atmel’s ARM7 processor family. The player has a 1.6″ color LCD and a 5-way switch for user control and is powered by a 650 mAh Li-Ion battery that is charged using the USB port. This is also used for firmware updates and music uploading. The player’s memory consists of a Micro SD card and the headphones connect to a 3.5mm jack. The board has a 4-layer PCB design. In terms of software, the player makes use of the VLSI VS1033 MPEG3 codec and supports MP3, WMA, AAC and WAV formats. The yPod is pretty small, having 65 x 45 x 14mm dimensions and weighing only 65g, so it fits and any pocket.
The original project was designed by Jesper Hansen and he provides a lot of additional information, schematics and source code on his homepage. The project presented here is based on Hansen’s work and makes some hardware modifications, having a DS1337 RTC chip and a crystal added, that provide a clock feature with time and date. Two firmware versions are available for download, one for each implementation, and are both released under GNU General Public License, free for use.
yPod MP3 Player: [Link]
You want to learn more about DC to DC boost converters? Here is a good and practical application of such converters, an LED tail light for your bicycle. Why do you need a boost converter for that you might ask, when you can simply have a battery power up some LEDs. Well, this way you greatly increase efficiency, you increase the number of LEDs you can drive and thus increase the perceived power of light. And yes, you will learn about them.
This project makes use of the National Semiconductor LM3410 chip. This chip provides a current regulation rather than a voltage regulation and makes it suitable when working with LEDs. This current regulation is done by switching a NMOS gate at constant frequency of 525Khz ( you can also chose 1.6Mhz) and varying the duty cycle, the so called pulse width modulation. Given a constant frequency varying the pulse width results in varying the mean value in time. The regulation is done by providing a feedback current that causes a voltage drop on a resistor which in turn is fed into a comparator.
The output of this comparator goes to the PWM comparator where it faces the output of the amplifier that reads the switched current through an inductor. The result will be a PWM signal attacking the NMOS gate and thus providing a steady mean output current value. The current sensing amplifier also provides an output for switched current limiting. Some nice features of LM3410 makes things easier, it’s internally compensated, has a very low stand-by current, has dimming possibilities and thermal shutdown.
As the author states in his article you have to be careful when choosing components. Since the operation frequency is pretty high the diodes through which the inductor discharges must be high speed or you risk blowing the chip. Taking things a step forward he added a PIC12F683 microcontroller to provide some light effects selected by a pressing a button.
If we look closer at this project we can see it can be further developed, using the dimming possibility of LM3410 you can also turn it into a stop light. Whenever you break light intensity goes higher. Another development is to adapt it to be used with a dynamo. Have fun.
Bicycle Tail Light: [Link]
Toy cars are something that everybody has encountered during the childhood and even a non-car enthusiast like myself has had his share of toy car playing, racing, garage and road building and all that good stuff. You’d think that something like this would be more suited for kids, but what if you’re a grown-up, you have a small car at your disposal AND possess the knowledge to make some cool hardware improvements? That’s right, awesomeness occurs!
This is a DIY project that enhances a Kyosho Mini-Z car with some incredibly useful features: front, rear and under car lights! The model is actually a VW Golf R32 and, as you can see from the picture, it looks terrific, in true Fast and Furious fashion. The lights are LEDs, two white ones for the front, two red ones for the rear and two bars with 4 LEDs for under the car. The circuit keeping them all on uses a NE555 timer that generates a delay and keeps them on regardless of what the car is doing. Other parts include three capacitors, three resistors and three diodes (you can find a complete parts list and detailed schematics in the link provided, as well as other cool pics).
This is a truly astonishing piece of art, soldering a bunch of LEDs on a toy car, especially with the blue under car lights. If you’re a girl, then I suspect this amazing achievement of science might appear… uninteresting. But if that’s the case, then perhaps an LED Heart of Love would be more appropriate.
Mini-car Light Installation: [Link]