Librerie time.h e Time Lib.h: intervallo di aggiornamento

Ciao a tutti

Tempo fa ho realizzato un orologio NTP a matrici di LED. Funziona, ma il LED blu dell'ESP8266 lampeggia continuamente e una radio AM, avvicinata, fa "toc-toc-toc" con periodo di un secondo.
Ho letto che i server NTP possono bannare chi legge l'orario continuamente, più spesso di una volta ogni 64 secondi o qualcosa del genere. L'intervallo di lettura dell'NTP dovrebbe essere di default ogni 10 minuti. Ho anche inserito setSyncInterval (600); ma non ho notato differenze.

Avevo usato la libreria time.h. Non riuscendo a trovarla fra quelle presenti con il gestore delle librerie, pur venendo il programma compilato e caricato senza problemi, ho installato la TimeLib.h, che forse è solo la versione nuova della stessa, ma nulla è cambiato.

Qualcuno mi sa dire come stanno esattamente le cose?

Grazie
Gianluca

#include <ESP8266WiFi.h> // URL aggiuntivo per il gestore schede: http://arduino.esp8266.com/stable/package_esp8266com_index.json
#include <SPI.h> // Mi sembra che funzioni anche senza...
#include <Adafruit_GFX.h> // Usato da Max72xxPanel
#include <Max72xxPanel.h> // Installare da zip: https://github.com/markruys/arduino-Max72xxPanel
// #include <time.h>
#include <TimeLib.h>

void scrive_orario()
{
time_t now = time(nullptr); // Facendo now variabile globale, perdeva il fuso orario.
if (now!=t_prec)
  {
  t_prec=now;
  matrix.fillScreen(LOW);
  String time = String(ctime(&now));
  time.trim();
  time.substring(11,19).toCharArray(time_value, 10);
  if(time_value[7]!=sec_prec) {t_prec=millis(); digitalWrite(D0, HIGH); sec_prec=time_value[7];/*GP16O|=1;*/} // Porta a livello alto la porta GPIO16 (D0).
  // Visualizza lo '0' iniziale prima delle ore 9.00:
  matrix.drawChar(P,0,    time_value[0], HIGH,LOW,1); // 
(...)
  }
}

void setup()
{
//ESP.wdtDisable();  // Disabilita il watchdog software.
//hw_wdt_disable();  // Disabilita il watchdog hardware.
pinMode(D0, OUTPUT); // 1Hz.
pinMode(sys_pin,INPUT_PULLUP); // Chiudere a massa durante il loop per leggere sysinfo.
pinMode(D6,INPUT_PULLUP); // Chiudere a massa in qualsiasi momento per capovolgere il display.
// Serial.begin(9600);
setSyncInterval(600); // 600 secondi.
se_capovolto(); // Imposta la disposizione delle matrici di LED leggendo lo stato dell'ampollina al mercurio.
(...)

void loop()
{
if(millis()-t_display>200)
  {
  t_display=millis();
  lum=map(analogRead(0),0,1023,0,15); matrix.setIntensity(lum); // Ogni 200ms legge il potenziometro (1023 con 3,3V).
  se_capovolto();
  }
scrive_orario();
(...)