chipKIT® Development Platform

Inspired by Arduino™

Graphical Widget System for chipKIT and microcontrollers

Created Sun, 15 Apr 2012 20:51:18 +0000 by nburek


Sun, 15 Apr 2012 20:51:18 +0000


For our senior project, some fellow students and I are creating an FPGA based add-on for chipKIT projects and microcontroller projects in general. The idea is that when working with chipKITs or microcontrollers it would be nice have have a way to graphically show data that you may be working with. So, for instance, if you had a thermometer that you were reading the temperatures from you would want some nice way to view that information other than just having it constantly printing to a terminal program on your computer. You also don't want to bog down your microcontroller with trying to generate graphics or run a display.

This is where the FPGA comes in. The FPGA will contain a soft-processor core as well has some custom screen driver components to handle outputting pixels to a display. For our prototype system we are using a Digilent Nexys3 board, which is based on the Xilinx Spartan6 FPGA, along with the Microblaze Soft-Processor Core.

The two boards are able to communicate with each other via a UART serial connection. From the chipKIT program you will be able to send commands to the FPGA to add new widgets, move widgets around, remove widgets, or adjust how widgets appear.

While we are doing our proof of concept and prototyping on the Nexys3 board we would ideally want to develop the system into a chipKIT/arduino shield with a VGA or other type of display port on it for easy integration with any project.

Here is a short video showing the current status of our project: If you have any feedback for us or ideas on what we could add we would be more than happy to hear it.

Jacob Christ

Tue, 17 Apr 2012 06:20:07 +0000

This is very cool, how much do you think the shields will cost?

What about using a Rasberry Pi running a QT program instead of the FPGA?



Thu, 19 Apr 2012 05:01:28 +0000

Ideally the shields would cost somewhere around $50 or less, though that estimate is based mainly off of the few existing FPGA type shields that currently exist for the arduino platform (like the gameduino).

Using something like the Raspberry Pi with QT would be a very feasible replacement for the FPGA and would probably make development of the graphical system quite a bit easier. The decision to use an FPGA to generate the graphics was really a two fold decision. First, we felt like using an FPGA would allow for a more dynamic system in which you could easily change which type of display you're using (be it VGA, HDMI, LCD/TFT, etc) or add in new components (like a touchscreen interface) as long as you could develop a HDL/Verilog based IP core to drive it. Second, as a learning experience we felt that it would be more beneficial to go with an FPGA since it would allow us to play with things such as how you could potentially hardware accelerate graphics functions and gives a better overall sense of the low level system design and process flow.