replace delay()

Now, I deleted all static unsigned long lastmillis = 0; - from the patterns() and declared a global one, but that didn't shrink the size with no bit!

I can't use count, because the blinkings go crazy.

int interval = 90; => uint8_t interval = 90; use 8 bit variables where possible saves a byte per place
==> also in for (uint8_t i=0; i< 10; i++){

So uint8_t is the same as byte?

edit:
I replaced all ints to bytes (and uint8_ts), but that only saved me 8 bytes.

I think you misunderstood me. The flash memory is too small not the SRAM. If this isn't the case, my apologies.