View Full Version : 16x32 RGB Matrix Display (Adafruit) on a Teensy 3.0 ?

11-18-2012, 01:59 AM
I have a 16x32 RGB Matrix Display I bought at Adafruit and recently bought a Teensy 3.0. I used to have a Teensy 2++ a while back but was lost in my recent move. Its been a while since I have done any Arduino programming. I would like to convert the display to work with a Teensy 3.0 for speed and add more RGB Matrix displays (if that's possible).

Im a bit confused at the Teensy 3.0 pinout starting with GND and then 0,1,2,3... How do I identify this in my program.

The Arduino program is like this:

#include <Adafruit_GFX.h> //Core graphics library
#include <RGBmatrixPanel.h> // Hardware-specific library

#define CLK 8 // MUST be on PORTB !
#define LAT A3
#define OE 9
#define A A0
#define B A1
#define C A2
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false);

How do I identify the Teensy 3.0 pins for this?

Is there a pin 0 being GND, pin 1 is 0, etc.. ?

How do I identify other pins with dual purposes such as Digital pin 19 which is A5 and SCL and Touch?

Just a bit confusing for being out of it so long.

Thanks for your help.

11-18-2012, 08:55 AM
You're talking about that one ? http://ladyada.net/products/rgbledmatrix/

Then the only important pin seems to be the CLK, but I would need to read the library to know why, any other pin should be ok as long as you follow the printed pinout

and refer to the Teensy 3 cheat sheet to know how the pins are called.


The important bit is the number on gray background, the other color is just an info about what the pin can be used for. As the matrix only uses digital (appart maybe from the CLK), any digital pin (0-23) should be fine.

11-18-2012, 12:22 PM
Yes thats the one.

But I think theres a bigger problem. I also have a nootropic RGB backpack and it works well with the 16x32 display. It is basically a 328 Arduino on a custom PCB. http://adafruit.com/products/1072

I am trying to eventually get multiple boards to work together and the Arduino would be too slow for that so this is one reason I bought the Teensy 3.0.

When I loaded a 16x32 RGB demo program such as testcolors_16x32.pde and clicked on VERIFY using the new Windows beta 8 Arduino software 1.0.2, I see this:

I don't know Arduino C well enough yet, but is this because the Teensy 3.0 is not compatible with the RGBmatrixPanel library (or Arduino_GFX library)? If this is the case, is my only option to rewrite this library which I am not suited to do?

The Blink program works well with the Windows beta 8 Arduino 1.0.2 software also.

The libraries are found at the bottom of the page here: http://ladyada.net/products/rgbledmatrix/

Any confirmation of my suspicion here?

I also reconnected my nootropic RGB backpack and selected UNO instead of Teensy 3.0 and it worked on my nootropic RGB backpack. I can't get this display to work on my Teensy 3.0. Is it a library issue then?



11-18-2012, 12:35 PM
Yes, it seems that you need to modify the library to support the T3, or wait for somebody else to do it. I don't have such a display so I can't help you further on that one, sorry.

11-18-2012, 01:40 PM
What is involved in modifying the library file? From this site: https://github.com/adafruit/RGB-matrix-Panel

Who would be best capable of doing this anyone, PaintYourDragon (writer of the RGBmatrixPanel.Cpp) or Paul (writer of TeensyArduino)?



11-18-2012, 08:21 PM
What is involved, really I don't know, no time to read the lib myself.

To make it work you preferably have to posses a Teensy 3 AND the display, which I don't.

The solution I would find the most elegant is ask "PaintYourDragon" if he could do the mods (which should be trivial for him) in exchange of a teensy you would buy him. It would benefit both the author and the teensy Project

Paul has much more urgent need to fullfill, and I understand very well that getting the basics together is top priority. Supporting an additional lib is nice, but in the end he needs "PaintYourDragon" to make the mods into the lib.

So If I were you, I'd ask here (which you did), then ask "PaintYourDragon" if he is working on it (you may be lucky), if he's not propose the deal I mentioned, ask somebody with the same hardware to do it for you, or get your hand dirty.

I for one wouldn't try this myself without the display in front of me, and even then I think I lack the skill to create an elegant solution.

11-18-2012, 08:23 PM
I looked at this library briefly. It has 2 problems for running on non-AVR. There's some direct access to a hardware timer, but one of the periodic timers ought to be able to do the job. There's also a tiny bit of AVR assembly code, which obviously can't run on non-AVR chips. That bit will need to be rewritten.

11-18-2012, 08:50 PM
Thanks Paul for whatever (if any) support you can provide for this. I have sent PaintYourDragon this message:


I am not a programmer but have seen the wonderful work you have done with the Arduino and the Adafruit RGB matrix displays. I have been looking for a way to connect multiple Adafruit 16x32 RGB matrix displays. I have bought a Teensy 3.0 for the speed and Arduino language but NOT all arduino libraries are compatible with Teensy processors.

Are you working on or would you be willing to make modifications into the RGBmatrixPanel.cpp or library for use with the faster Teensy 3.0?

I would be willing to purchase a Teensy 3.0 for you if you would be willing to do this (hopefully with not too much effort). As Adafruit now sells the Teensy 3.0, they would be a great pair together. I have been looking into this for some time now for a solution. I have even started to learn SPIN language for using the display with a Parallax Propeller but I would rather stay with what I know a little better - the Arduino.

Thank you for your consideration.

Tim Gilmore

11-19-2012, 04:49 PM

Do you think the RGBmatrixPanel.cpp library would work with a Teensy 2.0++ instead then?

I know it doesn't have the speed as the Teensy 3.0 ARM processor, but I had used a previous Teensy 2.0++ with a different RG LED matrix display to control 8 of them (as shown here: http://arduino.cc/forum/index.php/topic,50326.msg371996.html).


Unfortunately when I moved 6 months ago, all of my electronics and parts were lost or damaged. I would be willing to purchase another Teensy 2.0++ if I feel somewhat confident about the library compatibility.

Thanks again.

Also interested in the Teensy 3 RTC crystal and battery, case stuff for purchase here or somewheres together (to save on shipping costs).

Tim Gilmore

11-20-2012, 10:33 AM
I can verify the RGBmatrixPanel.cpp library demo programs when selecting Teensy 2++ using Teensyduino Windows beta 8 so since it doesn't appear anything will happen for a while if at all with this library and teensy 3.0, I am going with the Teensy 2++ for the Adafruit 16x32 RGB LED matrix.

01-14-2014, 11:44 PM
I've done it on the Teensy 3.1! If you want to see than check out at http://www.penguintech.info/2014/teensy-3-1-16x32-rgb-led-panel/ ‎ (http://www.penguintech.info/2014/teensy-3-1-16x32-rgb-led-panel/)
The code is nothing spectacular but gets the job done with 5 bit color, 1 more than Adafruit's library. Let me know what you think.

04-10-2017, 07:56 PM
Hi, could you possibly upload your example code? I have a 3.5 but with the same led panel, so I still cannot get it working.