Problema codice

Giusto una prima risposta "al volo", guardando il tuo codice la prima cosa che ti consiglio è cambiare la riga:

if ( millis() - lastBlink == 40) {

in:

if ( millis() - lastBlink >= 40) {

altrimenti se il loop() non becca esattamente i 40ms dopo l'ultimo blink, non blinka più.