Giving Life to Arduino’s Blink.ino

It’s been a while since I posted anything, so I thought I’d add this modified blink program for cosplayers to install on their Arduinos. It uses average human blink times, slightly randomized, to turn the lights off and on. Additionally there is a random chance of a second blink immediately following the main blink. This gives the sterile blinking light effect a somewhat more organic feel.
Enjoy. 🙂


Turns an LED on for one second, then off for one second, repeatedly.

Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:

modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
modified June 2019
by Casey Wagner

This example code is in the public domain.

int ledA0 = A0; // the PWM pin the LED is attached to
int ledA1 = A1;
int brightness = 250;
int blink = 100;
int secondblink = 0;

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(ledA0, OUTPUT);
pinMode(ledA1, OUTPUT);

// the loop function runs over and over again forever
void loop() {
analogWrite(ledA0, brightness);
analogWrite(ledA1, brightness);


analogWrite(ledA0, blink);
analogWrite(ledA1, blink);

delay(random(275, 375));

secondblink = random(1,5);
if (secondblink == 2){
analogWrite(ledA0, brightness);
analogWrite(ledA1, brightness);


analogWrite(ledA0, blink);
analogWrite(ledA1, blink);

delay(random(225, 400));