"External" memory for program memory?

Hi!

With AFAIKT identical code for every day, why not put that code into a function so it only appears once, and why compare hours, mins and tpa every time when it's just the day that changes?

I can make it by example?

  if ((segunda==t.dow) || (terca==t.dow) || (quarta==t.dow) || (quinta==t.dow) || (sexta==t.dow) || (sabado==t.dow) || (domingo==t.dow))
  {
    if((hora==t.hour) && (minuto==t.min) && (tpa == 0))
    {
      tpa = 1;
      if ((4294967295ul - tempo) < millis())
      {
        marcadoriniciotpa= millis() - (tempo*2);
      }
      else
      {
        marcadoriniciotpa= millis();
      }
    }
  }

Just put the strings in an array to start with.

I don't understand it.

Then there are a lot of near duplications
This could be split to "ALTERAR POTENCIA DOS LEDS " (is the "S" needed on the first string?) and the colour string, that way the large part of the string will only occupy space a single time.

You are right, no need of the "S".
Here i can make it by example:

prog_char nomecanal1 [] PROGMEM = "ALTERAR POTENCIA DOS LEDS";
prog_char nomecanal2 [] PROGMEM = "BRANCOS";
prog_char nomecanal3 [] PROGMEM = "AZUIS";

But on moment of print, i have that call two strings to each sentence.

The value assigned to these variables is exactly the same but you repeat the humungous map() code for each one.

Here i can make it?

bled_out = wled_out = rbled_out  = rled_out = uvled_out = map(NumMins(t.hour,t.min),(NumMins(led_on_hora,led_on_minuto) - amanhecer_anoitecer), NumMins(led_on_hora,led_on_minuto), 0, pwm_pre_definido);

The entire code is rife with this sort of thing, it should be totally refactored, but as you say "my programming knowledge does not allow me to do it." so the only options I can see are to learn better programming technique, pay someone to modify the code, or get a larger platform.

The way more easy to me is find an IC to expand the memory or use an Arduino due but on this case I'll have problem with hardware.

Thank you very much.

Best regards

Sorry for english.