Hi,
I tried replacing the effect_rain code with yours... but no joy
Trying to compile I got the error;
Arduino: 1.8.5 (Windows 7), Board:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
C:\Users\Roonie\Documents\Arduino\Roon_cube_Mega\Roon_cube_Mega.ino: In function 'bool effect_rain(int)':
Roon_cube_Mega:914: error: 'currentTime' was not declared in this scope
  lastUpdateTime = currentTime;
           ^
Roon_cube_Mega:926: error: 'currentTime' was not declared in this scope
 if (currentTime - lastUpdateTime >= 1000)
   ^
exit status 1
'currentTime' was not declared in this scope
Dit rapport zou meer informatie bevatten met
"Uitgebreide uitvoer weergeven tijden compilatie"
optie aan in Bestand -> Voorkeuren.
As I dont yet know how the code works I can
t say or see whats wrong.
Big learning curve..... :o
Ronald
Roon_cube_Mega.ino (37.4 KB)