In this project, I’ll show you how to make your own 8×16 RGB LED Matrix using Arduino Uno/ Nano. An LED Matrix can show scrolling messages, display animations, music spectrum analyzer … With integrating NodeMCU, it can be used as small screen to show weather information from internet or any process values when it connect to Ethernet PLC system.D.I

So, let’s watch my videos below and follow my instructables to start with building your own RGB LED Matrix.

  • Auto-rotate scrolling message test (update on November 6th, 2018): Using MPU-6050 with Kalman filter to calculate the angle when we rotate Led Matrix.
  • Animation Test

VU meter test: It shows music

volume unit by using fix FFT transformation. Led Matrix will be connected to music player by audio jack 3.5mm.

Smart Display Test: Connecting to PLC system

Smart Display Test: Showing weather information from Internet













Electronic components & tools can be purchased from ebay as links below:

1. Electronic components:

2. Tools


My RGB matrix panel with 128 x RGB LEDs is arranged in 8 rows and 16 columns, including:

  1. Led Matrix Board: is built on a single-side copper prototype PCB 9×15. With my instructables, Led Matrix can be plugged on top of the Driver Board, like a Shield.
  2. Driver Board: are built on a double-side copper prototype PCB 9×15. Driver Board handle column & row scanning to control Led Matrix Board above.
  3. Column scanning: is done through 2x 74HC138 cascading connection to build 4 to 16 line decoder as diagram above. With this combination, it can accept 4 bit binary coded decimal number on its 4 inputs and can select one of its 16 outputs. And then it drive 16 corresponding PNP transistors (A1013).
  4. Row scanning: through 3x 74HC595, 3 x ULN2803 for 3 colors: RED, GREEN, BLUE .

To control an individual color of common anode RGB LED, you set its column HIGH and its corresponding color row LOW.

To control an individual color of common anode RGB LED, you set its column HIGH and its corresponding color row LOW.

We know that the brightness of a LED can be controlled by switching it on and off very rapidly. To do that, Pulse Width Modulation (PWM) is often chosen by using PWM pins on Arduino, beside that B.A.M is a another method to achieve the same thing.

Read more: D.I.Y SMART RGB MATRIX 8×16

Leave a Comment

Your email address will not be published. Required fields are marked *