Posts Tagged ‘Microcontroller’

Build your own Mandelbrot Fractal Generator with FPGA

Monday, October 3rd, 2016

Greetings FPGA lovers! Today’s post takes you into yet another interdisciplinary project that links pure mathematics, FPGA and VHDL to build something beautiful! The Mandelbrot set is a series of complex numbers that tend to infinity when operated upon by a special operator. These numbers when grouped together create a beautiful image sequence which might appear to be chaotic initially. But simplifying the set, we soon find that Mandelbrot’s numbers are nothing but fractals and this concept can be explored and understood visually with FPGA and VHDL.

Today’s project is an FPGA based Fractal explorer that has been built out of the Papilo Duo kit which includes Xilinx Spartan 6 LX9 FPGA, an ATmega 32U4 microcontroller and a 512 MB Static RAM. Some other hardware needed is a basic 7” LCD screen, a Joystick, a few buttons and a rotary encoder.

The colour map shown in the project is navigated by using the joystick to move around, rotary knob to chose colour scheme and the buttons to zoom in and out. These controls are connected to the ATmega 32U4 microcontroller which is interfaced with the FPGA through an SPI interface.

The LCD has been tweaked to display 800 x 600 and the FPGA has also been correspondingly set to process 800 x 600 pixel fractals using the inbuilt DSP 48s. The project is inspired by the Mandelbrot Fractal Generator by Hamster.

Though the code for this project is still unavailable at the moment, you can refer Hamster’s project to get the basic dataflow and code in the C language. Once you do have the logic at hand, the project can easily be converted to the FPGA/VHDL combination instead of the Computer/C combination used by Hamster.

The project is an excellent way to continue learning coding through VHDL and get used to the Papilo Duo Kit.


By Larry McGovern

How To Control What You See On A Screen in Two Hours and For Less Than $25!

Thursday, January 14th, 2016

Imagine how cool it would be to control what appears on your screen and at a bargain price, just using your FPGA (yes! Your Papilio!) and some other easy-to-get components.

All you need is read today´s article (and buy the tiny things of course). This how-to post is one of those which are written thinking of the user. It explains everything, even the physics that rule the system.

For this specific example, a DAC resistor is connected to the FPGA on a CPLD board so it can output 512 colors to a VGA screen. Knowledge of VHDL is needed in order to implement your own code, otherwise, simply use the one given although you can follow the links on the article to learn some more about VHDL.

The real advantage is that you will be able to implement your own VHDL modules so you will actually control what appears on the screen!


Now it´s your time. Show the World what you can do…through a VGA monitor!


By Chris

Cool QR Code Clock On Graphical LCD

Monday, July 15th, 2013

Sometimes its good to see what other people are up to on their projects. It can serve to spark an idea for your own designs, and this one here is just plain cool. This QR code clock is displayed on a graphical LCD screen, and is totally indecipherable just to look at. You have to take a picture of it with a QR code app to tell the time. Each second, the QR code on the clock changes to update the time. This clock is actually kind of hypnotizing to watch – check out the vid!

The QR code clock was built by Markus Gritsch over at Dangerous Prototypes, his idea built on inspiration from an earlier LED matrix-based QR clock. His clock runs on a PIC32 microcontroller which decodes a time signal from a DCF77 receiver, then calculates a QR code and displays it on the ST7735R graphical LCD at 30FPS. Markus added a layer of polish to the project with some cool effects – when the clock is unable to read the radio signal it displays time in greyscale, but when it locks to the DCF77 signal it starts to trip out with a rainbow-colored plasma effect. Nice work for sure! I wonder how long it would take you to learn to tell the time just by looking at the QR code without scanning it…

Quick question: what are you guys up to in your projects? We would love to feature the fruits of your labor here on the homeblog, so whatever you’re creating, make sure you post it to the forums. We’ll do the rest.

(via Dangerous Prototypes)

New Update For Hamster’s I3C2 Programmable I2C Controller

Monday, June 17th, 2013

Mike Field/Hamster has got an important update to the last article we posted (Intelligent I2C Controller Project) that we thought we’d share. You can view the full rundown in two parts over at All Programmable Planet, and there are also project resources via Hamsterworks and on the Gadget Factory forums. Check out what’s new since we last posted:

The biggest modification was the adding of a “MASTERACK” instruction, which acts as a prefix to the “READ” opcode, thereby allowing more than one word to be read per I2C transaction. I have also reduced the overall size of the code to under 160 slices. I was hoping to show off the interesting bits of this project, but I’ve been unable to find anything very interesting in it to type about! What I think is interesting, however, is how you can use it.

Thanks for the update, Mike!

Additional/ updated project resources:

(via All Programmable Planet)

Intelligent I2C Controller Project

Friday, June 14th, 2013

The Hamster man, Mike Field has a new project up that is an intelligent I2C controller. It is a small programmable controller that makes it quick and easy to talk to I2C devices. The controller has a single I2C bus, 16 binary inputs, 16 binary outputs and writes I2C data to 32 8-bit registers.

The project is up over at Mike’s site Hamsterworks (there are a wealth of other Papilio-related projects and tutorials at the site too, if you’ve never checked it out). Let’s look at a quick overview, as excerpted from Mike’s project page:

My Intelligent I2C controller is not a full micro-controller, but a simple programmable state machine, using about the same FPGA resources as a Picoblaze processor. It has a simple assembler-like language of 15 instructions, and the page includes a single file ‘c’ assembler written using only the standard C library (avoiding trying to find flex and yacc for Windows). Advantages over more generic controllers such as a Picoblaze is that is is designed especially for configuring and accessing I2C devices, where as the Picoblaze will need either a software I2C implementation or an added I2C peripheral.
On the Hamsterworks project page, there’s a great example using the I2C Intelligent Controller to read data from a 3d compass sensor, complete with code.

Intilligent I2C Controller project resources:

(via Hamsterworks)