Intelligent LED Dot Matrix Sign Display

Display text or graphics, with cool built-in fonts and animations on a 128x16 display. Easily controlled from an SPI interface.

Similar projects worth following
There are many LED displays available but for maker projects they often involve building LED drivers and then using clunky libraries on the Arduino to scan the display or write some text and are accessed in a very low level way. This project is a self-contained 128x16 LED matrix sign that is intended as a commodity product like standard 2-line LCD displays. The interface is via an SPI bus so is very easy to add to Arduino or Raspberry Pi type projects. Also you can just send it high level commands to display text strings, select fonts or animations, or write bitmaps. This project spun out of a commercial pinball display project.

I felt that there might be interest in a general purpose dot matrix sign display that was very easy to hook up to maker projects. This means that it should work on 5V and use an SPI interface. Commercial sign displays seem expensive and not very flexible or easy to use. The features of my display will be:

  • 128 x 16 LED dot matrix display
  • Three brightness levels per pixel
  • Overall fine brightness control
  • SPI interface
  • 5V operation
  • Fast and responsive, based on ARM CPU
  • Intuitive command set
  • Lots of cool built-in bitmap fonts
  • Animations and transitions
  • Easily send custom bitmaps and animations
  • I endeavor to keep the cost as low as possible
  • Useful for any project that needs to display mostly text, e.g. custom pinball game

The current status is that the hardware is designed and built, and the prototype works fine. I am now focusing on writing software.

  • This project is on hold

    robotbugs06/27/2016 at 19:18 0 comments

    It's nice to see a few people are interested in this project. I hope to eventually make it a product. However at the moment I am working on machine learning ans so I'm switching back to this project only when I need a break. I suspect it will proceed though as I tend to round robin my projects and I like this one too much to let it lie forever.

  • Display Scanning

    robotbugs06/12/2016 at 20:15 0 comments

    I have all the display scanning software working now. I managed to get it displaying four levels of brightness per pixel by scanning the display three times in succession and displaying different patterns each time. The only annoying thing is that the interval that the scan code needs to be called is not constant if you want to get a nice set of evenly spaced brightnesses.

    I also got it displaying a random noise animated field which looks pretty awesome.

    However now I am going to stop working on this project for some time because I want to focus on neural networks.

  • Hardware finished, software in process

    robotbugs06/03/2016 at 22:33 0 comments

    I recently completed the build of this sign display using OSH-Park PCBs (4-layer). I wrote the standard hello world application to check that the board functions. This was just to blink the status LED. That worked out fine, and so I went on to test that the CPU can drive the LED matrix, and that also is just fine, so the hardware is ok.

    I now focus on the software. I do not like to use the Atmel ASF stuff because it brings in so much unnecessary stuff, so instead I write my own driver library and use gcc and CMSIS for the ARM CPU. The driver library is not too complex, it just sets up clocks and has high level GPIO functions. The only other important peripheral is the SPI interface. I have finished all the GPIO code, and am working on the clock/PLL setup code which is nearly done now. Then I'll be able to get the basic display multiplexing working.

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates