Driving LED matrix displays with an FPGA

Sdílet
Vložit
  • čas přidán 3. 05. 2014
  • Detailed look at methods for driving LED matrix displays, including simple LED displays and full-colour video screen modules.
    Lattice XO2 devboard : uk.mouser.com/ProductDetail/La...
  • Věda a technologie

Komentáře • 90

  • @devjock
    @devjock Před 10 lety +2

    This video is singlehandedly making me reboot my 16x16 led icon t-shirt. Amazingly detailed, and super clear. Much appreciated!

  • @Tadesan
    @Tadesan Před 6 lety

    Mike, the beauty and thoroughness of your understanding of this stuff is a joy to behold. You are a true professional.
    You can tell a true professional by the aplomb they exercise, no matter what the activity. You've got it sir!

  • @naikrovek
    @naikrovek Před rokem

    This is still one of my favorite videos of all time. more FPGA videos about driving LEDs are always welcome, by the way.

  • @cybhunter007
    @cybhunter007 Před 10 lety

    Great video on showing the practical applications of FPGAs. One of the required courses I need (that I completed this semester) for a double E degree involved using Altrea DE1 boards and low res VGA outputs (due to limited memory). To codify frollard statements (and to paraphrase my professors philosophy) " There are many ways to approach the problems, the key is knowing what you trying to solve."

  • @theianwoodbridge
    @theianwoodbridge Před 10 lety

    Great video, thanks for taking the time to make it. There is nothing like a real word project with all the details explained to be interesting and informative. I don't know if you set out to create an instructional video but this is one of the best. Again, thanks.

  • @Falcrist
    @Falcrist Před 10 lety +3

    I'm not going to tell you you have to make more videos, but I will say I'm glad to see you're getting more active.
    Thanks for the uploads! :D

  • @AppliedScience
    @AppliedScience Před 10 lety +29

    Great info! I've heard that VHDL is the standard in Europe. Did you actively decide to use it instead of Verilog, or just picked it up because resources were easier to find? Thanks for the detailed video.

    • @mikeselectricstuff
      @mikeselectricstuff  Před 10 lety +10

      Fairly random decision many years ago when I was doing the high-speed camera project - found a good VHDL book. Probably the wrong decision as some of VHDL is a PITA but I don't do enough FPGA to justify changing.

    • @ProtonReversal
      @ProtonReversal Před 10 lety +8

      VHDL is generally taught in UK Universities and it seems to be the standard HDL in Europe. I was expecting a VHDL vs Verilog "outbreak" with that comment :).

    • @dercncplaner
      @dercncplaner Před 9 lety +1

      correct. I work with VHDL and it is very nice to write and very good to read.

    • @Nikkuuu69
      @Nikkuuu69 Před 9 lety +3

      I'm in europe but I started learning FPGA in my own spare time, so I picked up verilog because the VHDL syntax scared me off instantly...

    • @comodozin
      @comodozin Před 7 lety +2

      VHDL syntax is something scary and unnecessarily verbose in my opinion. I worked with it for a couple of years and converted myself to Verilog.

  • @frollard
    @frollard Před 10 lety +13

    I always think I'm clever when I come up with some solution for coding an arduino 'efficiently'...then I watch one of your videos...This is fascinating. Wiring, fpga, component selection, and code routine...all splendid.

    • @donpalmera
      @donpalmera Před 10 lety +11

      coding an arduino efficiently == dumping arduino and just using avr-libc right?

    • @frollard
      @frollard Před 10 lety +4

      donpalmera Agreed - like I implied...I'm a total nub and finding ways to sneak a little proper-C or asm into the code makes me happy. Seeing how far I can stretch the very limited IDE is kinda fun.

    • @SirArghPirate
      @SirArghPirate Před 10 lety +1

      donpalmera Is the difference big? I've noticed that codes I write in Atmel Studio tends to use less space than the equivalent code written in Arduino IDE, but so far I've only written fairly simple codes.

    • @Bob_Burton
      @Bob_Burton Před 10 lety +1

      frollard No need to 'sneak in a little proper C' because the Arduino IDE uses C++ anyway, and with very few exceptions all normal C functions are supported.

  • @tttuberc
    @tttuberc Před 5 lety

    Thanks for creating this excellent video Mike. I have been wondering for a long time how these LED panels work and how to drive them

  • @rogerkerr5745
    @rogerkerr5745 Před 9 lety +3

    Another awesome video Mike. You truly are a God of electronics. :)

  • @DrenImeraj
    @DrenImeraj Před 10 lety +19

    I wish you could do a series of tutorials on VHDL. Great video, as usual, thank you!

    • @mikeselectricstuff
      @mikeselectricstuff  Před 10 lety +16

      Problem is I'd need to actually know it properly... I'm still very much in "winging it" mode.

    • @DrenImeraj
      @DrenImeraj Před 10 lety +4

      mikeselectricstuff You could improve your own skills in the process :)

  • @jboard146
    @jboard146 Před 10 lety +2

    Great video!
    My head hurts after watching the VHDL stuff. I'm trying to learn Verilog in my spare time. Going from "normal" programming to HDL is hard to wrap my head around.
    I also enjoyed your iPod screen video series.

  • @redtails
    @redtails Před 10 lety +2

    Wow, this Lattice devboard is amazing! The shipping costs are pure extortion, but I'm keeping my eye on getting one

  • @Mulletsrokkify
    @Mulletsrokkify Před 10 lety +3

    Love the Young Frankenstein clips on the top left display! ;-)

  • @jonathanwhite2303
    @jonathanwhite2303 Před 10 lety

    thanks mike we need more vids like this really enjoyed this, more please and would love to see your pic and place in operation
    cheers

  • @SilvaentysFyrerux
    @SilvaentysFyrerux Před 10 lety

    Extremely interesting stuff, thank you for sharing!

  • @ElGatoLoco698
    @ElGatoLoco698 Před 10 lety +2

    That is really cool. I wish I had the wherewithal to play around with LED displays like that. I'd have the coolest Christmas lights on the block.

  • @WizzRacing
    @WizzRacing Před 10 lety +1

    Glad I watched to the very end. I was wondering how you got the 8 bit and not 7 plus 1 check on your baud rate, now I know.
    Great stuff

  • @arcadeuk
    @arcadeuk Před 10 lety +1

    Thanks Mike for an excellent video as always. Some of the techniques you have described were new to me and I am sure would be useful to me at some-point in the future

  • @JensAndree
    @JensAndree Před 10 lety +6

    Very good video indeed!!!
    I'm a software guy who in later years found hardware and have now combined the two in order to make really useful projects. Just like you I'm spending a lot of time to develop visual gadgets and I have outgrown my trusted microcontrollers purely due to their lack of speed. (I develop visual feedback devices for autistic kids)
    I have thought about going down the FPGA route for a while now but didn't know where to start, and everything seemed a lot more expensive, so this video was very informative to me!
    I would really appreciate if you could make available the code you demonstrated in the end so people like me can have a working boilerplate or similar to analyse whilst learning VHDL.
    I have made quite a few of my own LED panels and the costs you are mentioning are way below even my cheaper solutions so perhaps one should look closer to see what's available in China already?...

  • @anthonyroby296
    @anthonyroby296 Před 10 lety +6

    Very informative. I thought all would be revealed once I saw the code, but knowing nothing about VHDL, it was rather impenetrable! Mike - any chance you could publish the code so we can look through it and figure it out?

  • @Vidicon31
    @Vidicon31 Před 10 lety

    thanks mike for another great video

  • @Mythricia1988
    @Mythricia1988 Před 10 lety +14

    47 min video from Mike? Wow, guess it's time to get some dinner to go with it...

  • @shaunclarke3
    @shaunclarke3 Před 10 lety

    I love LED displays - thanks for the video even though most of it is wayyy over my head :).

  • @sigusr
    @sigusr Před 10 lety

    Great video, thanks. What row driving MOSFETs did you use? I'm trying to understand your comment about driving a higher voltage by working out how you hooked that part up.

  • @GADELHAS82
    @GADELHAS82 Před 10 lety

    Thank you for the video Mike. Love your videos. I know that is asking too much, but can you do a video on rs485? Things like hardware design, number of units per bus, firmware aproach, etc. I see some of your videos that you use 485 to comunicate beetween boards, and i always curious how you implemented that. Thank you for your contribution to my knowledge with your videos.

  • @duality4y
    @duality4y Před 9 měsíci

    this video is so so incredible

  • @flpsht
    @flpsht Před 10 lety

    Hello Mike!
    When i saw the black 64x32 RGB board i started playing with the idea of making lots of them in to a table top with a plexy plate on top. but how hard is it to make it work as a computer screen? Lets say it is doable... If you mount a camera in the cealing you can have software picking up stuff like a glass or a cellphone, generally an object, and make it interact with stuff put on the table.

  • @90SecondsofAviation
    @90SecondsofAviation Před 10 lety +3

    Good evening Mike ! Love Your stuff, in my eyes, Your god of electronics :D

    • @theLuigiFan0007Productions
      @theLuigiFan0007Productions Před 10 lety

      I would say so too. Never seen anyone be able to talk so fluidly about something so complex. If there was one, it would be him. He is able to figure anything out it seems. I though my parallel port driven 16*16 was awesome, this = OMG.
      I want to try making a Pentium 4 compatable 16 core CPU with one of the $40 FPGAs and wire to the socket 478 and run at a few GHZ (at least 3). Learning from this guy will definitely give me a idea of complex engineering. I know its possible to put a ARM CPU in a cheap FPGA, why not make a P4 compatable one? Plus wouldnt it be awesome to brag how fast your 2001 era PC was LOL.

    • @90SecondsofAviation
      @90SecondsofAviation Před 10 lety

      theLuigiFan0007 haha, was the project successfull ?:D

    • @theLuigiFan0007Productions
      @theLuigiFan0007Productions Před 9 lety

      use the force
      Not yet, it takes a while to reverse engineering the instruction set of the P4 before you can build a compatable one. The early intel 80* series chips were relatively easy to clone with less thatn 200 pins, now its a real feat if one can pull it off. Or I could build a translator interface that translated P4 data formats and instructions to ARM. It will take a lot of work to get it running, but its one of those goals I feel has to be completed while im still relatively young. I wish to design a series of CPUs someday (if I ever start or get a high position in a semiconductor manufacturer) that simply needs a pin adaptor to run on a Intel or AMD based board. I think it would not only be a good thing for competition, but it could cause other companies to take on the idea. If all components were mix and match with the current technology, making a system built specifically to one's needs and budget would be really easy.
      Wow, this was more a letter than a reply, maybe I said too much LOL.
      I also have a few other projects relating to high voltage and LED driver circuitry I occasionally work on. Just though I should reply even though I havent logged in for a while, as you asked a legitimate question which has a fairly important meaning to me.

  • @diyemc7206
    @diyemc7206 Před 11 měsíci

    Hi! You mention gamma correction and problems with number of bits. Have you looked into implementing the gamma function in the enable signals? So you could have just 4bit data, but the bit-"weight" is scaled according to the gamma function. I could see using 16bit PWM to generate the bit-weight while outputting just 4bit gray-scale.
    Regards

  • @movax20h
    @movax20h Před 6 lety +1

    That is excellent. I am looking for a FPGA board to drive 4 RGB LED panels each 64x32. 24 bit per pixel should be enough for my application, that is 4*64*32*3*8=200kbit per frame. I can drive them by daisy chaining panels, or wiring them in parallel to FPGA as separate panels. I do not need more than 10 Hz framerate, but 30Hz would be prefered so things like scrolling and synchronization between panel is better. I also need a double buffering so I can upload new frame for entire display, then swap a content quickly and atomically. That is because I am planning to use Raspberry Pi or other network connected micro / SBC to drive these, and UART timing isn't going to be the best.
    Future upgrade to 16 panels (4 x 4 matrix of 64x32 RGV LED panels) would be awesome for me too. (800kbit per frame).
    Or a 16x320 display that can display about 24 characters (16 pixels tall each) at the same time.
    This video is 4 yeras old, so I am assuming there are better FPGA boards available these days, for projects like these or similar.
    Lattice iEC40, i.e. www.mouser.co.uk/ProductDetail/Lattice/iCE40UP5K-B-EVN?qs=KeU%2faRU0YVWVQ39q7XFcHg%3d%3d looks like reasonable choice for this.

  • @Nikkuuu69
    @Nikkuuu69 Před 9 lety

    Thanks for the video mike! Do you know if the software to program Lattice FPGA's is free to use? I'm really intrigued by that Lattice FPGA that has most components built in, and it's also a QFP! I'd like to build my own FPGA board but soldering BGA's is something I'm quite worried about.

    • @lillydoye7418
      @lillydoye7418 Před 8 lety

      I believe some of the basic lattice software is free but does require registration. I also think their is an open source option being developed.

  • @berni8k
    @berni8k Před 10 lety +3

    Great video, i'm really starting to like these long rambling about stuff videos.
    Oh and I'm also curious what made you chose VHDL. Personally i got in to Verilog because the syntax seamed nicer and more C like.

    • @mikeselectricstuff
      @mikeselectricstuff  Před 10 lety +2

      Fairly random decision few years ago - found a good book that happened to be VHDL. Also I was told VHDL is more likely to catch stupid errors at compile time, whearas Verilog would compile almost anything & let you figure out why it doesn't work. Possibly the wrong decision as VHDL can be a PITA, but I don't do enough FPGA stuff to justify learning another language

    • @berni8k
      @berni8k Před 10 lety +1

      mikeselectricstuff
      The Verilog i learned was due to a freelance project needing a CPLD, month later had to learn VHDL in a uni class, hated it for its complexity and just kept using Verilog for my own stuff.
      If i have not gotten in to Verilog on my own id probably be using VHDL too.

  • @pickholder6189
    @pickholder6189 Před 7 lety

    There is a great pinball display project going called 'pin2dmd' online that uses two of those panels side by side.

  • @fsarch7166
    @fsarch7166 Před 4 lety

    Thanks I m working on a giant screen 400x96, based on this video thanks for your help

  • @5hape5hift3r
    @5hape5hift3r Před 5 lety

    Could use logarithmic intensity for the low brightness end
    Effectively HDR

  • @jgcertified
    @jgcertified Před 10 lety

    Looks a lot like my old job!

  • @ebmmdawguy
    @ebmmdawguy Před 10 lety

    Decided to grab one of these panels off AliExpress - I have a little project Idea. Though I'll be driving it with an Arduino, might be time I got an FPGA dev board.

  • @policyprogrammer
    @policyprogrammer Před 10 lety

    How do you get those MBI devices? I can't find them on digikey or mouser. I like the idea of a $0.20 16 channel constant current driver chip. I have used the TLC5921. Similar, but like $1+

    • @naikrovek
      @naikrovek Před 9 lety

      James Fry currency conversion is easy. 20p = $0.32

  • @DamirUlovec
    @DamirUlovec Před 10 lety +2

    07:31 While carefully listening and learning from Mike, I've been distracted by incoming mail sound. I thought it was from my computer. -.-

  • @shareefjalloq5462
    @shareefjalloq5462 Před 6 lety

    How reliable was that UART? Using the possibly metastable latch in the rising edge detect logic was probably a bad idea. :-)

  • @reotrb
    @reotrb Před 10 lety +2

    Just came across the PCA9955ATW chip from NXP. Check it out if you haven't already. It can be used to drive RGB LED's. Can't wait to try it myself. Of course it's not available from distributors just yet but it looks like you can order samples

    • @mikeselectricstuff
      @mikeselectricstuff  Před 10 lety +2

      Digikey have stock. Only 8 bit though so no good for monochrome. Also a bit expensive

  • @n3tpr0b3
    @n3tpr0b3 Před 10 lety

    From where do you source those MBI5026 chips ?

  • @AliMirjamali
    @AliMirjamali Před 10 lety

    Thanks for the Autobaud UART VHDL @ 41:33

  • @davidpoot3511
    @davidpoot3511 Před 4 lety

    Hi!!! Great Work. I need to create a controll for a RGB Matrix with ESP32 microcontroller. How Can I Start the code? I hope that you can help me :)

  • @victornpb
    @victornpb Před 10 lety +2

    I thought one would program a fpga by placing logic gates, or modules together something like you design a circuit in a eCad program. silly me. now I wonder if complex chips are designed by code like vhdl that compile into a silicon layout.

    • @mikeselectricstuff
      @mikeselectricstuff  Před 10 lety +3

      You can do it from schematic, but HDL is so much more powerful that nobody really does it that way, and schematic entry in the tools is not being developed or has been dropped.

  • @byakuyalight9007
    @byakuyalight9007 Před 2 lety

    very impressive friend can you explain how to control register 74hc595 with fpga please? 👏🏻

  • @tetradb_
    @tetradb_ Před 10 lety +1

    is that your own plasma routine?
    Great vid btw, love these led matrix displays

    • @mikeselectricstuff
      @mikeselectricstuff  Před 10 lety +4

      If you mean the flame effect, yes it's burning lighter fuel shot at 1000 frames per second.

    • @tetradb_
      @tetradb_ Před 10 lety +1

      mikeselectricstuff Ye the first effect you show on the chinese rgb video wall tile. I'm a programmer, that likes electronics :) more specifically, graphic effect programming, which is my true enjoyment. I would call that a plasma effect(google those together) more than a flame, but its your routine so its your call ofc :D. 1000fps is just insane by any standard. It cool to see your programming streak :) it always overcast by the wealth of your electronic knowladge.

  • @samnavarrete8760
    @samnavarrete8760 Před 9 lety

    what is this field of work called?

  • @douro20
    @douro20 Před 10 lety

    You can get 2.08m x 1.44m programmable 10-bit color LED sign boards for just under 2000 GBP.

  • @wilfriedklaebe
    @wilfriedklaebe Před 4 lety

    The current Lattice iCE40 FPGAs are really useful for open source projects because there's a completely open toolchain now - but that only "speaks" verilog. Might that be a reason to learn verilog for you?

    • @wilfriedklaebe
      @wilfriedklaebe Před 4 lety

      Came here via github.com/smunaut/ice40-playground/blob/master/cores/hub75/README.md btw

  • @gamccoy
    @gamccoy Před 10 lety

    You are never one to do a video half way. That was great. I am pretty weak at understanding FPGA synthesis. What percentage of available gates were used by your project?

  • @video2k007
    @video2k007 Před 10 lety

    Hey Mike,
    very cool video. Especially the technique the different length OE-pulsewidths. Made the method I used look quite idiotic. :)
    Can you tell me, where you got this nice RGB matrix from?
    Keep up the nice videos!
    Greetings :)

    • @mikeselectricstuff
      @mikeselectricstuff  Před 10 lety +2

      Search P3 RGB LED on aliexpress

    • @video2k007
      @video2k007 Před 10 lety

      mikeselectricstuff Great, Thanks!
      I'll give it a go! :)
      Have a nice evening!

  • @TheMarkaay
    @TheMarkaay Před 4 lety

    Could you do a new video with newer and cheaper parts, please. I would like to build a big Videowall for watching Television.

  • @byakuyalight9007
    @byakuyalight9007 Před 2 lety

    I understand that register need a latch clock and data pin while latch 0 clock from 0-1 and valor data performance

  • @stok3si3
    @stok3si3 Před 3 lety +1

    And now 6 years later, you can get 64x64 led panels for about $15!

  • @Zauviir
    @Zauviir Před 10 lety +2

    Mike, I love when you do fundamentals types of videos talking about data buses and the core mechanics of this stuff, its super interesting.
    I notice you don't seem to use logic analyzers at all, can you comment on this?
    Keep up the good work, iceisfun@eevblog

  • @bsvenss2
    @bsvenss2 Před 10 lety

    Nice

  • @naikrovek
    @naikrovek Před 9 lety +1

    Would you mind sharing that code somewhere, GitHub maybe? Anywhere, perhaps?
    I find this entire video a freaking gold mine of information, and I'm doing lots of FPGA-driven LED stuff lately. Every single time I watch this video, I learn something I missed previously.

  • @JGunlimited
    @JGunlimited Před 8 lety +4

    Casually coding without a syntax highlighter like its nbd

  • @DavidStonesystem24seven
    @DavidStonesystem24seven Před 10 lety

    Theoretically you could use the lattice board with your code and these boards. Slightly lower resolution and well known supplier. www.adafruit.com/products/420

    • @naikrovek
      @naikrovek Před 9 lety

      Where do you think Adafruit gets them?

  • @Lion_McLionhead
    @Lion_McLionhead Před 10 lety

    Still a small fortune for a wall size display.