 
 void setup() {
 	// Enable output pins for LED display
-	for (int i=0; i<ARRAY_SIZE(pin_col); i++) {
-		pinMode(pin_col[i], OUTPUT);
-	}
+	pinMode(PIN_COL_BIT0, OUTPUT);
+	pinMode(PIN_COL_BIT1, OUTPUT);
+	pinMode(PIN_COL_BIT2, OUTPUT);
+	pinMode(9, OUTPUT); // OC1A main screen turn on
 	pinMode(PIN_ROW_LATCH, OUTPUT);
 	pinMode(PIN_COL_LATCH, OUTPUT);
 


	// Timer magic
	cli();
	TCCR1A = 0; // Do not toggle pins
	TCCR1B = (1 << CS11 | 1 << CS10); // Clock divider 64, 64/16e6 = 40µs cycle
	TCCR1C = 0; // not forcing output compare
	TCNT1 = 0; // set timer counter initial value (16 bit value)
	TIMSK1 = 1 << OCIE1A; // enable timer compare match 1A interrupt
	OCR1A = 1; // Go to the interrupt vector ASAP
	sei();
}

void loop() {

uint8_t row_i = 0;
volatile uint8_t may_flip = 0;
int pwm_lengths[] = { 0x30, 0x10, 0x06 }; // PWM cycle lengths
volatile int pwm_i = 0; // Current PWM cycle

// Hardware configuration
#define PIN_COL_BIT0 A2
#define PIN_COL_BIT1 A1
#define PIN_COL_BIT2 A0
#define PIN_ROW_LATCH 7
#define PIN_COL_LATCH 8

// Serial access
