DIY 8x8-LED-Matrix with Arduino

  • Published on Feb 16, 2011
  • This video shows the first prototype of my selfmade 8x8 LED matrix along with its controller. I use an Arduino Uno to display the scrolling text. The controller itself uses a M74HC595 shift register for row control and a 74HC4017 Decade Counter for column switching.
    What looks like faulty scrolling in the dark sections of the video is in fact an optical illusion that results from the lowered frame rate of the camera I shot this little clip with. The display scrolls smoothly and without glitches (as you can see in the illuminated scenes).
    Read more about this project (in German):
    The schematics and the code is available at
    For information on how to build something similar without ICs using only IO pins and charlieplexing, see the documentation for the LOLShield by Jimmie Rodgers:
    UPDATE 2017/01/24: I ported the sketch to the latest Arduino version (1.8.1) and modified the timer code. I did some tests and the sketch now runs fine with the current Arduino version.
    You need to install the TimerOne library for it to work properly and you will need and Atmel compatible board. TimerOne uses the ATMega hardware timers, those are not available on e.g. the ESP8266 so the sketch won't run there.
  • Science & TechnologyScience & Technology

Comments • 41

  • Техно Sport Arduino

    Read more about this project (in German): Error 404

  • rans abra
    rans abra 2 years ago

    hi there, thanks for the great tutorial, it helps me a lot, but im having a problem in connecting to Bluetooth module, i want to customize it, using android phone

  • Mia M
    Mia M 2 years ago

    Great work and a nice build! I've been trying to build it too, but I have one issue with this line of code:
    setScreenMem(sprites[char1], sprites[char2], sprites[char3], sprites[char4]);
    Has anything changed with Arduino that would cause an error with this now?

    • Hendrik Busch
      Hendrik Busch  2 years ago

      Mia M You can download all the files as a Zip from Github. The Arduino IDE will automatically open all files it finds alongside with the .ino file. So basically once you open the ino-file, sprites.h will be opened as well in another tab.

    • Mia M
      Mia M 2 years ago

      Awesome, thanks so much for the quick response and the quick fix!
      I have one more question- about the sprites.h file, does it work like a library does? If so, then is there a place I can download a .zip file with all the necessary files like the .h, .cpp and keywords? Otherwise I'm not quite sure how to get the sprites.h file into the IDE.

    • Hendrik Busch
      Hendrik Busch  2 years ago +1

      I wondered myself so I ported the sketch to the latest Arduino version (1.8.1). I replaced a lot of the hardware timer code and it now runs fine with the latest Arduino version. Just make sure you have an Atmel board, the timer won't run on other architectures, e.g. the ESP8266.
      You can grab the updated code from GitHub:

  • Reeko Azil
    Reeko Azil 2 years ago

    Sir, I like to built this LED Matrix, its looks very interesting to me. Sorry I am new to Arduino. Can you tell me where are the 5 connections pins to the Arduino. Very much appreciated. thank you.

    COMMANDO 2 years ago

    getting error with the code pls help

    COMMANDO 2 years ago

    hey can pls email me i have to ask lot of doubts in ur circuit diagram

  • Victor  Manuel
    Victor Manuel 3 years ago

    colocale sonido pls

  • Skyler Cornell
    Skyler Cornell 3 years ago

    Very nice project! Your circuit board etching is also very impressive. How could the code be adapted to fit a matrix with an LED resolution of something other than 8x8?

  • Marlohatori
    Marlohatori 4 years ago

    Cool project made all the cooler by the Firefly reference.

  • Beasty Druid
    Beasty Druid 4 years ago

    Good video.

  • romance200880
    romance200880 4 years ago

    Very clean build ,, nice nice nice !!

  • Easylow Junior
    Easylow Junior 5 years ago

    there are two code shows up on the link given... which code did you use it? sorry i'm new to this kind of thing..

      RAVI SHANKAR 2 years ago

      Hendrik Busch can u just compile the code and send to my email I'd things i can do thank u

    • Hendrik Busch
      Hendrik Busch  2 years ago

      Ravi Shankar As the code is now 5 years old, some things have changed in the Arduino world. You need to replace the '#include "WProgram.h"' in sprites.h with '#include "Arduino.h"'. Please also read up on basic programming for the Arduino, you seem to be lacking some fundamental knowledge.

      COMMANDO 2 years ago

      hey i am getting error with the code is showing the header file is not such file or directory it is showing in the i have to include any library????
      if yes pls let me id:

    • Hendrik Busch
      Hendrik Busch  2 years ago

      Ravi Shankar Sorry, I don't do electronics consulting. The circuit is rather easy, if you have difficulties understanding it, please refer to electronics tutorial videos here on RUclip. That is the way I learned it. You may want to search for videos on shift registers, LED POV and multiplexing. Good luck!

      COMMANDO 2 years ago

      hey i need to understand ur circuit diagram pls make me clear plsssssss ...can u pls email me at

  • Design&Tech
    Design&Tech 5 years ago

    I'm impressed and inspired. I think I am going to have to try this out.

  • Carlos de Freitas
    Carlos de Freitas 5 years ago

  • charles freitas
    charles freitas 5 years ago

  • Syris of Lemuria
    Syris of Lemuria 6 years ago

    What sort of controller would you have to use to make the individual LEDs dimmable, in the array? Thanks.

  • Hendrik Busch
    Hendrik Busch  6 years ago

    Hi! The link to the code and the schematics can be found in the description above (the github link).

  • A harari
    A harari 6 years ago

    very nice, can you give me the diagram all parts required, the code pls thanks

  • Abhishek Jetly
    Abhishek Jetly 6 years ago

    Very nice sir.. What has to be done If we want to connect 2 or more such matrices together to make it, like 8x64? plz give me an idea, thanks!

  • Hendrik Busch
    Hendrik Busch  6 years ago

    Just the normal Arduino IDE

  • Luka Vrbančić
    Luka Vrbančić 6 years ago

    Which program do you use for your code?

  • Mayank Joneja
    Mayank Joneja 6 years ago

    Nice ! Also, Firefly music right? :)

  • DvD361995
    DvD361995 7 years ago

    thank you.

  • DvD361995
    DvD361995 7 years ago

    can you send me the program?

  • ian salvation
    ian salvation 7 years ago

    good job sir, can you share you circuit sir? tnx

  • 7 years ago

    Nice job and a very clean build. Bonus points for the Firefly reference!

  • kcinkcinkcinnick
    kcinkcinkcinnick 8 years ago

    just made the first 2 rows of 5 led (gonna make a 5x5).
    but when i connect a row to the batterie 4 of the 5 led's from 1 row light up ... there's no connection between other rows yet ...

  • Wales Zhou
    Wales Zhou 8 years ago

    wow!!! fantastic job man!!!! love it