Home > News & Updates > Electronics News Updates > A FPGA controlled RGB LED MATRIX for Incredible Effects

A FPGA controlled RGB LED MATRIX for Incredible Effects

Summary of A FPGA controlled RGB LED MATRIX for Incredible Effects


This article describes a modular graphic display system featuring RGB LED dot matrices driven by a high-performance control board. The core component is a Xilinx Spartan-6 FPGA (XC6SL9), which enables rapid parallel processing for complex animations. The system supports a 320×240 pixel resolution with true color at 25 Hz refresh rates, ensuring flicker-free visuals. A Winbound Flash memory chip serves as the boot device, storing a bootloader and up to 15 distinct firmware bitstreams for flexible operation.

Parts used in the FPGA Controlled RGB LED Matrix:

  • Xilinx Spartan-6 Field Programmable Gate Array (XC6SL9)
  • RGB LED dot matrix blocks
  • Shift-register
  • Winbound Flash memory (25Q64FVSIG)
  • SDcard interface
  • Boot Flash
  • USB serial interface
  • EEPROM memory

In this post you will find  the description of a graphic display that uses a modular solution based on dot matrix blocks (in which each dot is a RGB LED), that are driven – via a specific bus – by a very powerful control board, that is entirely programmable and capable of managing even very fast animations, thanks to the FPGA it is supplied with. Yes, the key factor is the Spartan-6 Field Programmable Gate Array by Xilinx, that is able to execute programs at very high speed, thanks to its parallel processing capability (multi-thread); the model that has been used in the project was chosen because it represents the most performing FPGA available on the market as a TQFP package, therefore it may still be soldered by means of the traditional tools. In order to create our modular display we are using a control board that will be described in the next pages; actually it is not limited to the said application, but it’s a generic and very powerful and versatile controller, whose advantages and the usage possibilities you will understand better in the next paragraphs and in the future articles. The displaying part is on the other hand composed by RGB LED dot matrices supplied with a shift-register; the whole will enable the management of a giant display with a 320×240 pixels resolution, each pixel is characterized by a 256-colour True Color definition at a 25 Hz refresh frequency, that is more than enough to show flicker-free moving pictures.

A FPGA controlled RGB LED MATRIX for Incredible Effects

We will deal with the displays later on, since now it is the case to focus our attention on the controller board, that is a very powerful and versatile development board, based on a Spartan 6 FPGA XC6SL9; 62 out of its 102 I/Os are available for a generic usage, while the remaining ones have been assigned to dedicated functions such as the USB serials, the EEPROM memory, the SDcard, the Boot Flash, etc. Even though it is here used as a display controller, it may help you realize an infinity of applications.

We coupled a Winbound Flash memory (signed as 25Q64FVSIG) to the FPGA, it will be the FPGA’s boot memory: a bootloader (that remarkably simplifies the programming) resides in it, and even 16 firmwares may be stored (thanks to the bootloader itself) by taking advantage of the possibility to store 16 slots for the bitstreams (the FPGA programs are thus called); out of the 16 slots, one (number 0) has been fixedly assigned to the bootloader, and the other 15 to the programs. The bitstream to be booted is chosen from the bootloader’s menu and directly from the terminal. The Flash memory is a 64 Mbit access serial one, that has been implemented thanks to dual/quad SPI configurable links.

Read more: A FPGA controlled RGB LED MATRIX for Incredible Effects

Quick Solutions to Questions related to FPGA Controlled RGB LED Matrix:

  • What is the key factor enabling fast animations?
    The Xilinx Spartan-6 Field Programmable Gate Array executes programs at very high speeds using parallel processing capabilities.
  • How many I/Os are available for generic usage on the controller board?
    62 out of the 102 total I/Os are available for generic usage, while the rest are assigned to dedicated functions.
  • Can the controller board be used for applications other than displays?
    Yes, it is a generic and versatile controller capable of helping realize an infinity of applications.
  • What is the resolution and refresh frequency of the display?
    The display manages a giant screen with 320×240 pixels resolution at a 25 Hz refresh frequency.
  • How many firmwares can be stored in the flash memory?
    Up to 16 firmwares may be stored, with one slot fixed for the bootloader and 15 slots for programs.
  • What type of memory is used for booting the FPGA?
    A Winbound Flash memory signed as 25Q64FVSIG is coupled to the FPGA as its boot memory.
  • Does the display support flicker-free moving pictures?
    Yes, the 25 Hz refresh frequency with 256-colour True Color definition is sufficient to show flicker-free moving pictures.
  • How is the bitstream selected for booting?
    The bitstream is chosen from the bootloader's menu and directly from the terminal.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top