Bus Pirate ported to FPGA

Original Bus Pirate is a great tool for hacking, testing and programming things. It’s an universal serial interface board developed by Dangerous Prototypes. It is based on PIC24 microcontroller, FT232RL for USB interface and other parts to make it flexible. Eventually there has been a port of Bus Pirate to FPGA made by enthusiast from ultra-embedded. Core functionality is running on soft AltOR32 OpenRISC CPU inside Xilinx XC6SLX9 running at 48MHz. It has 1.1 USB, SPI and basic GPIO functions available. Since most of work is done inside FPGA there are even fewer components on board. The board was designed to fit in to original Bus Pirate enclosure. Using FPGA in such project has some benefits like USB. It can be implemented to support different USB devices like audio, mass storage. Continue reading

FPGA driven reflow oven

Almost every electronics now have SMD parts on it. Hobbyist sector is no exception. Sometimes parts only come in SMT packages and there is no way to avoid. If you need to solder few of them, maybe you can get away with soldering iron and a bit patience. But for larger batches maybe it is better to use reflow soldering technique. This is nothing more than baking circuits in oven. One thing is important here – temperature and timing. Instead of doing this manually, better leave this process to control circuit. Hamster though it would be fun project to make an oven controlled by FPGA. He programmed temperature stages as finite state machine. Temperature is monitored by using thermocouple. Heater element is switched on/off with solid state relay. The other part of electronics is less critical like LED display, RS232 logging. As initial tests showed, good oven isn’t enough. Proper paste dispenser is also critical for smooth solder joints. But with some practice or by simply using stencils results sould be much better. Continue reading

Controllerless Pong using an FPGA

Remember the ever-popular pong? I would say your childhood is totally boring if you haven’t tried one these ball paddling games. It came in various forms like handhelds and even  arcades with power ranger robots holding paddles – the running concept stayed the same through the years, if you can’t send the ball back then you lose. This project from Cornell is a bit different from the pongs that we have seen so far – it freakin detects hand movements and translates those hand movements into paddle movement – your like controlling the freakin paddle with you Jedi powers 🙂 gesture detection was attained though skin recognition which is processed in a Field Programmable Gate Array or FPGA from Altera. The project is built upon the idea that  skin-detection, centroid computation, ball control and sound generation processes are done in parallel so that efficiency is attained. The hand movements are captured through a HTC 231x CCD camera while the game itself is displayed on a VGA monitor – and everything is processed in a single FPGA! Continue reading

Do we need FPGA to count coil windings?

We believe such task can be made by any tiny microcontroller. But if there is a lazy FPGA board lying around then put it to work. And here it is – Cyclone II dev board makes sure coil gets right amount of windings. New coil carcase is fixed to motor. FPGA reads each motor turn using reed switch. Simple HDL program runs counter and displays current value on seven segment LED display found on board. There is probably one thing missing – motor control that would stop once number of windings is reached. Anyway this is not for mass production of coils and project example may serve as nice material for learning FPGAs. Continue reading

Pipisrello – Feature rich development board for Spartan-6

FPGA world is interesting and if want to peak in – you need proper development board to start with. Saanlima Electronics designed pretty decent development that has lots of features so you won’t have to look for some time. The heard of development board is FPGA Spartan-6 that comes in 324 BGA package. Among features on board there are 64MBytes of DRAM clocked at 200MHz, 2 channel USB through FTDI2232H, DBI/HDMI interface. Also there is a micro-SD socket, USB host interface, several LED indicators and 48 I/O pins broken out in Papilio style. Continue reading