What is it?
This shield is a Kit for easily controlling RGB LED Matrix using a Mini 32 ESP32 board. This board takes advantages of the cables that come included with most displays.
This board is designed to work with the awesome PX Matrix arduino library by 2dom
Also Note: PxMatrix has recently changed one of the default pins it uses for its examples. P_OE previously used to be 2, but now has switched to 16. These boards were designed with P_OE connected to pin 2, so you will need to change P_OE back to 2 to use PxMatrix’s examples.
Why did you make it?
The RGB LED matrix panels are one of the coolest displays you can use with an Arduino, but there is quite a bit of wiring to connect them up and also they are a little awkward to power. The panels are only about $20 from aliexpress/eBay
This board makes wiring them really simple! The board just slots directly onto the input header pin, uses the ribbon cable that comes provided with most of these panels to connect the pins of the output header and has screw terminals to connect the power cable that comes with most panels.
What makes it special?
This really makes using the display as simple as possible. Making use of the cables that comes with the display allows the board to be smaller and less expensive.
Examples sketches for using these displays.
Here are some Github Repos with examples of things that can be done using the board.
These are for an ESP8266 but could be easily ported!
- A sketch and a webpage for drawing on the matrix in real-time (WIP, need to move webpage onto to the ESP)
- YouTube Subscriber count display
- Tetris text animation, a library for displaying text and numbers being made up of tetris shapes (WIP library)
What is included?
Each ESP32 Matrix Shield is a kit and comes with the following:
- Mini 32 ESP32 Matrix Shield PCB
- 220uF 25V Capacitor
- 220k resistor for discharging the Cap
- Schottky Diode (1N5817)
- 3 male pin headers
- 1 Jumper block
- 16 pin female header (2×8)
- 16 pin right angle male header (2×8)
- Large Green screw terminals
- 2 x standard screw terminals (one red and one black)
What is NOT included?
The following components are not provided, but are required to use this board.
- Mini 32 ESP32 Board – These can be bought on Aliexpress/Ebay for around $5. The Add-ons listed here have all been tested and come with 4x10p Male and Female Header pins.
- RGB LED Matrix Panel that is compatible with the PXMatrix library wiring (Described Here)
- Most (all?) panels come with a ribbon cable and a power cable, this board requires these.
- A 5V PSU cable of running the display (roughly 5A for a 64×32 model). The barrel jack is standard 2.1mm Jack, but you can also use the optional screw terminals to power the board.
Documentation and assembly instructions
Please note that I do not send any documentation with the board. There is a sticker with a link and QR code to the above URL. I feel it’s wasteful to send on documentation when I can provide much better documentation on the web page than I could in a small sheet of paper.
Will it work with my display?
I can’t answer that for sure, it should work with any display that works with the PxMatrix library. There has been times where sellers have started using a slightly different type of display that requires some changes to the library. 2Dom and the community have done an excellent job adding support different types of displays as they have come out, but some still crop up from time to time that are not supported yet. Check out the issues list of PxMatrix for problematic displays.
Important Size limitations
While this board is was physical dimensions are designed to work with a P3 64×32 display, it should be compatible with most displays. There are a couple of areas where you could get caught up and ways to work around them.
- The Ribbon cable being too short – on some larger displays, the provided ribbon cable can be too short to go from the ESP32 Matrix PCB to the P-Out connector. The ribbon cable needs to be longer than roughly 4cm shorter than the distance between the two connectors of the Display. E.g. on my P3 display, the distance between the two connectors is 13.5cm so my cable needs to be 9.5cm or longer or it will not work
- The PCB does not clear the power connectors – On some smaller displays it is possible that the PCB will be too wide and will hit the power connectors. There needs to be roughly a 5cm gap between the P-in connector and the power connector. Probably the easiest way around this is is to add male jumper headers to the P-in connector and use another ribbon cable to connect this to the input of the display as shown in the image below:
Some of these displays come with magnetic screws for mounting them on a metal surface. The assembled PCB is taller than the screws but I have added the option of stand-offs that will extend the screws long enough to work. I have unfortunately not found a good supplier of the magnetic screws themselves yet.
There are two sizes available, M3 and M2.5. All my displays are M3 but in Bitluni’s video he mentioned he used M2.5 screws so you will need to check which are the appropriate size for you.
- I have tested this board on a 64×32 1/16th display, but it should work with other displays that are wired as per the documentation of the PXMatrix Arduino Library
- Some displays do not use all the pins that are connected to the ESP32, you can test if your display uses these pins by checking if they have continuity with ground. If they do, use the red dip switch to turn disconnect these pins from the ESP32
Please note that I can not provide coding support for this item. I can offer some troubleshooting advice on getting them working (but please also read the section labeled “will this work with my display”) and I can point you to some examples I have created using these board, but I will not be able to give support on building something specific.
Changelog of versions
- V1.3 – Increased 5V trace width (Current Version)
- V1.2 – Added accelermoter module pins.
- V1.1 – Some silk screen changes.
- V1 – Initial version of the board.