Arduino project to indicate soil moisture using LEDs
You wrote several for loops without any spaces.
Please don't do that, as it makes the code harder to read.

Instead of

  for(;*colors;colors++) {
    blink(*colors);
  }


you might prefer

  while (*colors) {
    blink(*colors++);
  }


Moving loop() to the bottom of the file would save you
some forward declarations.

Your Serial.print() statements might benefit from the addition
of a debug flag, so there's no need to comment them.

Things like counts and durations won't go negative.
I can't see the signatures for delay() and digitalWrite(),
but it seems like some of your ints might want to be uint.