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.

18 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.

        1. Late to the party, but for anyone in the future, returning to this old post, it’s worth pointing out that you can never underestimate the power of someone time rich but money poor (Thank you Cory Doctorow for that observation).

          The people of poor countries hack because they have to in order to survive. Under the rule of a dictator or oppressive elite ruler, the wealth of a country is diminished and in order to stay alive, to entertain oneself, or just to repair material items that are hard or impossible to replace, people find ways of repurposing things. The average person living in a America, or the UK, or most of Europe have no want for anything except the most expensive luxuries, only a trip to the local shop will provide, or a quick search on Amazon etc will provide quick delivery, where as someone living on the other side of the world wants of nothing more than hot water, or a reliable power source to heat water themselves.

          During the late 70’s and early 80’s a number of enterprising Russians went against the ruling elite and had microchips smuggled in to Russia, and build their own home computers, at the risk of being imprisoned, or even shot in some cases. This was done with nearly no access to code, or handy how to guides like we have now.

          Just think, the people of Russia or other similar countries are no happier with their leaders than anyone else, but to the naive onlookers with wealth in their pocket and a keyboard in hand, can shout unfair and inappropriate comments about people from these other countries as if they are the problem when they are more of a victim of their leaders oppression, and most certainly not deserving of the narrow minded stereotyping and insults I have seen like those here.

          I have seen far more interesting and impressive inventions and developments coming from poor countries, or countries where the people of a country are predominantly poor, or developing, than I have from any developed 1st world country. These are the great minds that places such as America, and Europe really need if they are to win the future technology wars.

          TL:DR, Don’t criticise a whole nation because the leaders of that nation are terrible people. There are great people in every country, and there are bad, and I strongly recommend before assuming the behaviour of a nation to be bad compared to your rose tinted view, to remove those glasses and look around first. (Also choose a place to have a debate that is appropriate for the topic in hand.)

    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.

  3. I wish someone could invent a global reset button that would erase any memory of past conflicts and related wrong doings between all people. I hate to tell you this, but unless we can work together it could spell the end of life on this planet as we know it. Aside from that little issue, I’m here to learn how to use my brand new esp32 wroom with a 16 x 16 RGB matrix. I’m trying to build a graduation cap for my daughter, but I don’t know what the heck I’m doing…yet. Any ideas are welcome. Thanks.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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