Skip to main content

RGB Dot Matrix Display as Multi-Function Panel Display



PxMatrix on ESP8266 connected to an 32x16 RGB DOT MATRIX 1/8 SCAN Panel

  • It was always wonderful to see the numerous colour displays that display messages and animations on Dot Matrix Displays (DMD) in the commercial places.
  • One useful thing would be to take an Off-the-Shelf Display and run fully controllable custom software rather than rely on some external products to do.
  • Luckily found a display vendor who offered to give me some DMD as samples for experimentation. I was given a P10 32x16 pixel color DMD panel.
  • I have experimented with Monochrome DMDs (maybe blog about this later) but the RGB display is another world all together.
  • The Monochrome world does not have lot of open source software, the RGB world has PxMatrix, RGBMatrix and SmartMatrix.
  • As I wanted the controlling entity to be super cheap which meant use of an 8266 I had to start with PxMatrix.
  • Though there are better options than PxMatrix, the others use a more expensive controller.
  • Its better to start with the lowest cost option and then go up the cost list.
  • The Demo worked like a charm and was able to get some sample colours and shapes.
  • After experimenting with the examples, there was an internet clock example.
  • As this support a generic display library like the adafruit_gfx library, one doesn't have to spend much time adding fonts, drawing primitives, updates, etc.
  • The above image was generated by using a tiny 4x5 font that is available online.
  • And using other available libraries, because the example one would sometimes get Internet time, I was able to consistently get accurate Internet time. Internet time is provided by the Network Time Protocol (NTP) and it reaches out to servers worldwide and after determining location is able to synchronise time to very highly accurate values like a few milliseconds.
  • Once this was done, there was an interest to find out what more can be achieved by this 150 INR controller.
  • It would be so cool to have a News Station with scrolling information of various kinds.
  • So decided to added International News Feeds, Commodity rates, Stock Market rates and also a Custom Message option
  • The Newsfeed library that was found was very rudimentary and did not function well in all conditions. So using this as a base, extended it to add NewsFeeds, web scrape for Commodity Rates(Gold,Silver, etc), scrape for Stock Market Information (low rate for now) and finally provide an interface for displaying custom messages.
  • Interestingly this is a 50 kilo Byte computer and the data that comes in is a few millions of bytes. There was no way this data could be saved and processed later as is done on big computers. Added stream processing of the received packets. This controller accesses the web page over HTTPS and then on the fly analyses and extracts the relevant information and stores it for later display.
  • As this controller also supports  WIFI, a simple server for a user to  control the various features by using a standard browser like Chrome was also implemented.
  • Enclosed below the finished feature set where any mix of features can be chosen.
  • It was indeed fun to have enabled International News Feed and just watch news from all over the world scroll on the display forever.
  • As can also be seen in the video, it was a very good day for the Indian Stock Market which had a 1000+ point surge.
  • Video shows Custom Messages, Commodity rate(gold) scrolling, Stock Market Index and News Feed from an Indian Media Company: Times of India.
  • Also there is an option to enter new News feed URLs which has not been used in this video.
  • Shortcomings:
    • As it is a single core controller, sometimes there are glitches seen on the Display
      • Maybe use other ways of sending data on the controller. Need to study
    • Uses a slower method of data transfer to the Panel. Need to search alternatives.
  • Maximum of 2 panels (?) are supported. 



Comments

Popular posts from this blog

Leg Brake for a Bicycle

Leg Brake on a Bicycle  Growing up, there was a need to learn how to drive a geared motor cycle and also get a driver's license. There are two categories of two wheeler licenses: one for geared vehicles usually with leg brakes and one for auto/non-geared vehicles where the braking happens by hand and are simpler to operate. Driving license had already been acquired for the non-geared vehicle but due to lack of availability of a geared vehicle for practice, the acquiring of this license was taking quite some time. The main problem was adapting to braking a vehicle using the leg where one to respond differently and the conditioning takes some time. Unfortunately could not manage to get anybody/s vehicle for learning after many attempts. And at that time (1995 or so) bicycles were rather common and used for transport. So an idea was: why not add such a feature to a bicycle. A Hercules Town and Trek was also available. After some visits to the local bicycle shop and a used vehicle part...

Making PlotClock

Building the PlotClock by Joo from ThingiVerse  with English Character support Plotters are fun things. One can move in a 2D space and do very interesting things. Been fascinated by plotters from a long time. Notable mentions like the Drawbot, AxiDraw, EggBot, etc. Always wanted to build a small inexpensive one which did not require too many components or a lot of domain knowledge. One of my favourite past-times is to ThingSurf ie check which open source designs are available and try to make them, either on Thingiverse or Printables, etc. Its a lot of fun and because these provide designs for real-world things,  one can study and learn from them and also extend them to do other things. There is also a requirement of a device that will be a low-power notice board, like a limited power device that will just consume power for a short time, do some useful work, maybe display a message and go back to sleep. Things written on a sheet of paper remain visible for a long time. So it wo...