Direct drive or shift 5x8 led matrix

Hello everyone!

I have 5 pieces of 5x8 LED matrices. The configuration is shown below. I`ve tried many times in the past to make a panel (scrolling text) with these pieces, but no success.

  1. Is there a way to drive all these directly?

  2. I have found another method (maybe I can adapt it to what I have) that allows me to use less wires.
    Can this schematic (sorry for screenshot) be adapted to extend it for 2 matrices and so on?
    And the code, maybe it is helpful:

#define DATA 2
#define SHIFT 3
#define STORE 4

void store();
int pic[] = {0,36,36,36,0,66,60,0};

void setup() {
  pinMode(DATA, OUTPUT);
  pinMode(SHIFT, OUTPUT);
  pinMode(STORE, OUTPUT);
}

void loop() {
  for (int i=0; i<8; i++) {
    shiftOut(DATA, SHIFT, LSBFIRST, ~pic[i]);
    shiftOut(DATA, SHIFT, LSBFIRST, 128 >> i);
    store();
  }
}

void store() {
  digitalWrite(STORE, HIGH);
  delayMicroseconds(10);
  digitalWrite(STORE, LOW);
  delayMicroseconds(10);
}

  1. What do you mean, "directly"?
  2. Yes, it can be extended. You can find many examples of multiple digit module display wiring using Google.