I built a 10×6 LED-Matrix with the great RGB LEDs WS2812B. The whole matrix is controlled only by one pin of an Arduino Nano V3.0.
I integrated Bluetooth functionality to change the running text from the smartphone. The housing is made of plywood.

10x6 LED-Matrix with WS2812B RGB LEDs | Arduino
Watch this video on YouTube.
By viewing the video, you agree that your data will be transmitted to YouTube and that you have read the privacy policy


I used the following parts in this project:

1M RGB LED WS2812B 60 LED/meter (amazon.de*)~ 10 Euro
1x Arduino Nano V3.0 (amazon.de*) ~ 7 Euro
1x Bluetooth Module HC-05 (amazon.de*) ~ 7 Euro
1x Power supply 5V 3A (amazon.de*)~ 10 Euro
1x DC power jack 5.5×2.1 (amazon.de*)~ 3 Euro
1x Capacitor 1000μF
1x Resistor 470Ω
some wires
Plywood sheets ~ 2 Euro
 Total ~ 30 Euro


The electric circuit is pretty simple. I just split the led strip into six parts and connect the ending to each other (see picture below).

Electrical Circuit of led matrix
Picture 1: Electrical Circuit

You can also see the 100μF capacitor and the 470Ω resistor which protect the LEDs. In the original LED matrix I also add a switch to turn off the power, but this is not necessary.

LED matrix partially assembled
Picture 2: LED matrix partially assembled

The housing is made of plywood painted later with black paint.


I use three libraries from Adafruit to control the LEDs:

If you don’t know how to install libraries in the Arduino IDE, you can follow this guide.

I implemented this following seven functions:

  • vertical color gradient from top to bottom
  • square color gradient from inside to outside
  • scrolling text from right to left
  • random Tetris show
  • random snake show
  • colored spiral
  • crossing lines

You can find the whole Arduino source code on my GitHub repository: https://github.com/techniccontroller/LED-Matrix_WS2812B

For changing the text  I wrote a small Android App, but you can probably use any other Bluetooth app too. You just need to send the following string to the Bluetooth module:
newHello World!
to show the text Hello World! on the LED-Matrix.
The first three letters (“new”) will be cut off in the Arduino code.

Here is a nice tutorial on how to write your own app: https://examples.javacodegeeks.com/android/core/bluetooth/bluetoothadapter/android-bluetooth-example/

Picture 3: LED matrix in action

* The links are affiliate links. The offers do not come from me, however, I receive a commission through the reference, if then a purchase takes place, but without you incurring additional costs.

Share this post


Preuß · 23/06/2021 at 0:10

Moin moin,
a nice Project!!!
Can i have the sourcecode for make the Android withe own Text and Pictures ???

Best regards from the Heart of Germany

    Techniccontroller · 24/06/2021 at 21:27

    Hello Preuß,
    Thank you for your comment. You can find the source code for the App on GitHub: https://github.com/techniccontroller/LED-Matrix_WS2812B/tree/master/android

    It is not the whole Android Studio project but should be enough to build your own app.

      Preuß · 26/06/2021 at 14:09

      Thanks vor thranswers, but i’m a beginner and learn momently with MIT App Inventor.
      How must i use the src/main, to bild a app???
      Best regards

        Techniccontroller · 26/06/2021 at 14:34

        I never worked with MIT App Inventor but I think following video explains how to build your own Android App with MIT App Inventor to send a text to the bluetooth module HC-05.


        Just replace the send text (in the video “1” and “0”) with the the text “newHello World!” to display “Hello World!” on the matrix.

Ravi Gupta · 10/07/2019 at 10:20

I send more than 80 alphabets but approx 50 appears on display how I increase message length

    Techniccontroller · 20/07/2019 at 11:02

    Sorry. I think I cannot help you with that question. 100 Characters should be possible, but I never tested it. I don’t have the matrix anymore so I am not able to investigate this behavior.

Add a Comment

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