Maker LED Display

by e-radionica

Arduino-programmable & Internet-connectable LED Matrix Display

View all updates Mar 26, 2019

Maker Display Arduino Library

In order to make the use of Maker LED display more simple, and to have different geometric shapes, texts, images printed on it, it is necessary to use appropriate libraries. We did our best to write the Arduino library which allows all these actions in several lines of code, so that the user can reprogram and display his own text as simple as possible. To function properly, we need the following libraries:

  • Adafruit GFX Library
  • IS31FL3731 Library
  • Maker LED Matrix 32 ili Maker LED Matrix 64 library

Each of these libraries has its purpose. Adafruit GFX is one of the most popular graphics libraries. The library itself serves to enable generating of different geometric shapes. Therefore, when we e.g. call the function drawCircle(), then Adafruit GFX generates x and y coordinates for each pixel of that circle. However, this data is not yet printed on the display, because the library itself does not know how to communicate with a certain hardware. We need the IS31FL3731 library for that. The homonymous Adafruit library was originally used, but in our case it was too slow, and it was necessary to write the upgraded version. The problem was that the Adafruit Library printed each pixell on the display immediately. Since display uses the I2C communication, which has multiple headers (in our case the I2C address, registry, x and y coordinates and then the intensity of pixell brightness), dana transfer is very slow, and it is possible to see how the display itself is refreshed. What is certainly a better solution, is for the whole image to be generated in RAM (as a buffer), and then everything is sent to the display (IS31FL3731). By calling the clearDisplay () function in the IS31FL3731 library, the entire buffer is cleared, and the display() function prints the entire content of the RAM (buffer).

Maybe someone is wondering why we did not make our GFX library or why we did not take some other one (like uGFX). The reason is simple, and that is the fact that the Adafruit GFX is pretty simple to use, many Makers are well acquainted to it, and it is very popular in the Arduino community.

Currently, our IS31FL3731 library supports everything that the Adafruit GFX library does, so drawing on the display should not be a problem. What may be a problem is the fact that each driver is individual, so if you want to use this library with Maker LED display, it is necessary to enter each image individually, and bear in mind that the images (and shapes) must have their own offset for proper representation on the display. If you want to scroll through a text on the display, then Maker LED Matrix 32 or Maker LED Matrix 64 library is used (depending on the display size), where it is currently enabled to scroll (move the text), scroll the text and the image together, or scroll only the image. It is also possible to print out a stationary text, stationary image, and stationary monochromatic image. You should bear in mind that this library is intended for simple display of the text, therefore if you need the display to be fast, we recommend using the IS31FL3731 library. In order to show the speed of display updating, we upload the results of Maker Display2 benchmark (32x9 pixel), while the ESP8266 is at the frequency of 80 MHz. The results are very satisfactory and show that any screen change action can be done in less than 10ms time, which allows up to 100fps. We do not know for what you could use 100fps on this screen, but it’s good to know that there are possibilities! Detailed results are following:

Clear screen (US) Drawing (US) Rendering (US) Total time (US)
drawPixel 49 28 8759 8837
drawLine 39 172 8754 8965
drawRect 32 343 8756 9140
drawCircle 40 152 8758 8950
drawTriangle 40 347 8758 9145
fillRect 40 804 8773 9617
fillCircle 35 310 8751 9096
fillTriangle 36 639 8762 9437
Print 35 695 8808 9538
drawBitmap 40 319 8759 9118

These results are approximate and can vary from board to board. With Maker Display with 4 drivers (64x9) time will be approximately twice as long. Also, small improvement in the speed of printing can be accomplished if the ESP8266 is set on the tact of 160MHz, but then the energy consumption is larger, and we must look out for it, especially if the display is used on the battery power supply.
Our libraries can be found on GitHub, for Maker Display2 here and for Maker Display4 here. You have an idea how to fix libraries? We are waiting for you on GitHub!


$6,309 raised

of $4,500 goal

140% Funded! Order Below

Product Choices

$39

Maker Display2 Advanced Kit

Maker Display with matrix size 32 x 9 pixels in LED color of your choice which also includes USB-UART programmer, micro USB cable and headers for easy reprogramming of the device.


$59

Maker Display4 Advanced Kit

Maker Display with matrix size 64 x 9 pixels in LED color of your choice which also includes USB-UART programmer, micro USB cable and headers for easy reprogramming of the device.

Credits

e-radionica

e-radionica.com/e-r.io is a company oriented to makers community. We design & manufacture electronic boards and add-ons for hobbyists, companies and schools. We manufacture our designs in-house, provide educational content at the blog and open-source everything(from hardware to Fritzing & Eagle libraries).


David Zovko

Borna Biro

Bruno Matković

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: