Can a Teensy 4 drive a HUB75 LED panel directly?

StefanPetrick

Well-known member
I wonder because the latest SmartMatrix shield seems to use a level shifter. The older ones (v1.0 for sure) did not but worked fine with a Teensy 3.1.

Is anyone here driving such a panel without the shield from Pixelmatix?

If so I'd appreciate a hint regarding the wiring.
 
I wonder because the latest SmartMatrix shield seems to use a level shifter. The older ones (v1.0 for sure) did not but worked fine with a Teensy 3.1.

Is anyone here driving such a panel without the shield from Pixelmatix?

If so I'd appreciate a hint regarding the wiring.
I don't know the HUB75 protocol at all, but I imagine that it may be similar to the reason you want a level shifter for WS2812B (neopixel) leds. Some boards may not work if the data stream is 3.3 volts but the LED voltage is 5 volts. Many boards will work, but maybe not all.

A rule of thumb that I've seen is many electronics will read the data signal as being high if the data signal is at least 0.7 times the power. If the LEDs are powered with 5.0 volts, they would need 3.5 volt data signals. A lot of times, 5v power supplies give you 5.2 volts, to overcome the resistance in the wires, which you would need 3.64 volts. I imagine the better designed LEDs have internal voltage shifters, but not all of them do.

The pinout is listed on the Smartled shield for Teensy 4:

  • http://docs.pixelmatix.com/SmartMatrix/shield-t4.html
  • Pins 2, 3, 6, 8, 9, 10, 11, 12, and 13 are used for the shield (only pin 8 can be changed via jumper to pin 7)
  • The pin layout is based on internal FlexIO support, etc. (i.e. you really can't change to use other pins).
  • Unfortunately it means for audio, you can only use the I2S default pins for either output (pin 7) or input (pin 8), but not both at the same time.
  • On the Teensy 4.1, you could use pins 32 and 39 as alternates for pins 7 or 8 with some minor code changes. On the Teensy 4.0, you can solder a wire to pad 32 underneath the Teensy to get another pin for I2S. The other I2S alternate pins (6 & 9) are used by the SmartLED system.

Here are the settings from matrixHardware_Teensy4_ShieldV4:

Code:
// active pin number definitions
// data bit order is calculated in setup using the pin number definitions and color channel assignments
// these pin definitions are also manually used to reset FM6126A panels
#define FLEXPWM_PIN_OE_TEENSY_PIN       2
#define FLEXPWM_PIN_LATCH_TEENSY_PIN    3
#define FLEXIO_PIN_CLK_TEENSY_PIN       8
#define FLEXIO_PIN_CLK_TEENSY_PIN_ALT   7
#define FLEXIO_PIN_B0_TEENSY_PIN        10
#define FLEXIO_PIN_R0_TEENSY_PIN        6
#define FLEXIO_PIN_R1_TEENSY_PIN        12
#define FLEXIO_PIN_G0_TEENSY_PIN        9
#define FLEXIO_PIN_G1_TEENSY_PIN        11
#define FLEXIO_PIN_B1_TEENSY_PIN        13
 
Back
Top