//leaf #define COLS 6 //how many lights int pinarray[] = {3,5,6,9,10,11}; //array of all the lights volatile uint8_t duty[COLS]; //byte of duty, either 1 or 0 int limit = RAND_MAX/10; //will be used later uint8_t state[COLS]; uint8_t max_bright[COLS]; uint8_t run = 0; uint32_t brightCalc; void setup(){ pinMode(0,OUTPUT); pinMode(1,OUTPUT); pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(8,OUTPUT); } void loop(){ if(run == COLS) //kk keep cycling run = 0; uint16_t rand = abs(random()); uint8_t lightIt = (rand < limit) ? 1 : 0; //1/10 times lightIt == 1 if(((lightIt == 1) && (state[run] == 0))){ //if not on already state[run] = 1; brightCalc = (((uint32_t)rand * 128) / limit ) ; max_bright[run] = (uint8_t)brightCalc + 10; } uint8_t i; for(i=0; i