Fast LED Matrix Graphics For The ESP32

Many of you will have experimented with driving displays from your microcontroller projects, and for most people that will mean pretty simple status information for which you’d use standard libraries and not care much about their performance. If however any of you have had the need for quickly-updating graphics such as video or game content, you may have found that simpler software solutions aren’t fast enough. If you are an ESP32 user then, [Louis Beaudoin] may have some good news for you, because he has ported the SmartMatrix library to that platform. We’ve seen his demo in action, and the results as can be seen in the video below the break are certainly impressive.

In case you are wondering what the SmartMatrix library is, it’s an LED matrix library for the Teensy. [Louis]’s port can be found on GitHub, and as he was explaining to us over a beer at our Cambridge bring-a-hack, it takes extensive advantage of the ESP32’s DMA capabilities. Making microcontrollers talk with any sort of speed to a display is evidently a hot topic at the moment, [Radomir Dopieralski]’s talk at our Dublin Unconference a few weeks ago addressed the same topic.

We have to admit a soft spot for LED panels here at Hackaday, and given the ESP32’s power we look forward to writing up the expected projects that will come our way using this library.

16 thoughts on “Fast LED Matrix Graphics For The ESP32

  1. Isn’t it ironic that slavic engineers (whom the “west” considers as subhumans and code monkeys) make better use of western technology than western “engineers”?

    1. Isn’t it ironic when one paints a population subset with a broad stroke in reference to that subset painting another subset with a broad stroke?
      Pot, I’d like you to meet Kettle…….

      1. It has been my observation that the Russian scientists and engineers we have working here in the west are very competent talent. That kind of divisive thinking is what allows disrespectful politicians to ruin the experience for everyone.

        I remember when the iron curtain was still there, and how my friends family climbed under barbed wire to escape to a better life — he would likely laugh at your nationalistic ignorance…. as I do now. Putin seems to forget those times in his childhood, as he gambles with his country’s reputation just like Bush and Trump.

        I just think you are amusing, and like you anyway… =) LOL

        1. I wasnt trying to disparage anyone, just that I think of us hackers and general nerds as being outside all national bounds and the OP was a troll. ie, I dont care where your from, let’s break something.

        2. Are you saying Putin’s thugracy has a reputation to gamble with? People are starving in Moscow and a pensioner gets $130 a month. It is getting back to lines and empty shelves and people being disappeared. The place is a third world train wreck of a country with a willingness to use their sort of first world military as their ONLY source of influence. (Same thing is happening with China and the South China Sea.)

          It is the culture and economic environment there that holds people back. Many great scientists and mathematicians are both in and have come from Russia. But when they are assigned jobs of stealing or reverse engineering other people’s work, the creative juices do not flow so freely.

          The ESP32 is a fine blend of East and West with the rapid development and time to market of Espressif and their Tensillica Xtensa core in the ESP32 (Born in Santa Clare IIRC) inspired by the RISC research from Stanford (MIPS) and Berkley (SPARC).

          Plus Espressif has the strikingly unfair advantage of Sprite_tm chained to a desk in Shanghai.

    2. There were a few articles on hackaday about technology during the Soviet era. They were complimentary. In fact hackaday tends to treat us all as hackers… and the same wherever we live. You are however a muppet… think twice next time you decide to post

      1. Thank you. We really do try to find the good stuff, from wherever it comes. Yes, we are an English language site. But our outlook is international, for cool hacks know no borders.

    3. Don’t feed the trolls and all that, but if you *read* Hackaday you’ll find we are enthusiastic followers of technology from all corners of the globe, and waste no opportunity to talk about cool stuff from Russia, China, India, or wherever else in the world there is cool stuff to be found.

      We’re also not slow to criticise erasure of non-American achievements. See

      1. Hah! LOL! This you just did feed the troll and he was already the fattest, best fed troll I have seen in a while! Is a common stereotype against ‘Slavic’ engineers even a thing anywhere? I’ve never heard of it! Clearly this is just some joker that is rolling on the floor because he just received so many “LULZ”. Ha!

  2. I generally do small tweaks to the standard libraries, like e.g. bump the I2C-bus speed to 400KHz, or SPI-bus as far as the device I’m interacting with can handle, like e.g. on the usual ILI9341-libraries the SPI-bus is generally driven at very modest speeds, but I found out that at least the displays I have can handle up to 80MHz when writing to them and 40MHz when being read from. With a rewrite of some of the functions, including one in the ESP8266-core itself, and I could clear the ILI9341-display to any 16-bit colour I wanted or certain kinds of patterns that fit in a 64-byte SPI-buffer at ~60FPS!

    1. It’s a common multiplexed LED matrix panel manufactured in China, typically used for large LED signs. The interface pinout is “HUB75” and that’s usually a good search term to find these panels. I used a 64×32 P3 (3mm pitch) panel for this demo. (“P3 RGB”, “P6 RGB” etc is also a good way to find these panels.) “You can find them on Adafruit and Aliexpress and others from P2.5 to P10 and larger pitches, resolutions of 16×32 to 64×64. SmartMatrix Library supports most of these configurations.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.