I tried but I wasn't able to get this work with a Adafruit Metro M0 Express
heres the "terrible" code
void setup() {
// put your setup code here, to run once:
for(int i=0; i=11; i++){
pinMode(i, OUTPUT);
}
for(int i=5;i=11;i++){
digitalWrite(i,HIGH);
}
}
int onea = 00100;
int oneb = 01100;
int onec = 00100;
int oned = 00100;
int onee = 00100;
int onef = 00100;
int oneg = 11111;
void loop() {
// 1
digitalWrite(11,HIGH);
digitalWrite(5,LOW);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
delay(10);
// 2
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(0,LOW);
digitalWrite(1,HIGH);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
delay(10);
// 3
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
delay(10);
// 4
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
delay(10);
// 5
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
delay(10);
// 6
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
delay(10);
// 7
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
digitalWrite(0,HIGH);
digitalWrite(1,HIGH);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
delay(10);
}
Heres the Schematic