LED Matrix System Controller Hardware

Well took a week but I now have a complete system controller that can run up to 16 of these 72*24 LED boards. I designed it on saturday/sunday, ordered PCBs on sunday along with parts and just got the boards/parts today and put it together. So 6 days from design to finished unit. The unit is quite simple, it’s just a Cyclone 3 FPGA with some peripheral hardware.

There’s a 256K*36 bit wide SRAM for the frame buffer, two 16 channel LVDS transmitters to communicate with 16 LED display boards, a 16 jack ethernet panel, some regulators, a 40 pin “digital” input for plugging it into gameboys and such, power, programming and “user interface” connectors, and an NTSC/PAL/SECAM video decoder/digitizer.

The final goal of the entire device is a 144*144 pixel, RGB LED display with full 24 bit colour depth or as close to that as I can achieve realistically. I will first get some debug information working (the plasma again, then Conway’s Game of Life maybe, a real time Mandelbrot zoomer, and a Gameboy Colour will be attached. Finally, I will work on getting real live video input into it via the decoder.

This weekend I hope to get the LED controller communicating with one of the displays. After much debugging, I got the board to work I think. Quartus recognizes the FPGA and configuration ROMs, and I manually checked out the connections to make sure I didn’t have any shorts/opens and everything SEEMS to be a go. So now I will work out a simple serial interface via LVDS to communicate with these displays.

And now the fun part, pictures!




Some of the parts that go onto the board, along with the two bare boards (one front up, one front down).




Finished board




End view showing ethernet jacks




Side view




Bottom view. The ethernet jack panel isn’t fully soldered, in case there is some issue that requires me to pull it. I don’t think it will need to happen but I’d rather not unsolder 128 pins if I don’t have to.


4 thoughts on “LED Matrix System Controller Hardware”

  1. Thanks for leaving note in my web site. I bought two boards in eBay, one was with some problem with FPGA (it didn’t like to be programmed. Also it is signs of hand soldering around cyclone chip), other is working.
    I am only beginner ir FPGA fun and I am stuck in my design (in fact I don’t have free time to look at it seriously). Maybe you can share parts of your design? Especialy I am interested how you managed to dim individual diodes? I have some ideas, but still don’t inplemented in design. Also, I have some timing bugs in my design- I have some ghost LEDs on on some banks. In other banks it is OK. Please write me back by email.

  2. I’ve already fixed my bugs. It was slow OE problems mainly. Now my board is working fine and I am building LVDS link. As I find, there are 3 pairs for receiving and one pair for transmitting data. I have tested LVDS serializer from Quartus wizard, but I didn’t received stable data. Loosing sinchronization is a big problem. How do you made LVDS part of the design? As I see, you used some LVDS chips? Why? Cyclone III have LVDS output.

  3. Hi kevtris,

    I don’t know if you will have seen it, but I left a comment at hackaday asking how you managed to get the video signal out of your Gameboy Colour. I was wondering if you could shed some light in the subject – I’m trying to figure out a way to get the screen a bit larger and maybe even to get screen capture. You said in this blog entry that you put in “a 40 pin “digital” input for plugging it into gameboys and such” – just wondering how you’re getting that signal there in the first place, and what type of connectors and wires you’re using.
    Any advice would be much appreciated!

    – N

Comments are closed.