domanda su secret voltmeter

salve volevo usare il voltmetro segreto ed il termometro segreto.
la tensione massima dei pin in ingresso si modifica o resta sempre quella riferita come vcc
perche' ho letto legge 1,1 volt e volevo levarmi questo dubbio.
grazie della risposta

long readVcc() {
  long result;
  // Read 1.1V reference against AVcc
  ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
  delay(2); // Wait for Vref to settle
  ADCSRA |= _BV(ADSC); // Convert
  while (bit_is_set(ADCSRA,ADSC));
  result = ADCL;
  result |= ADCH<<8;
  result = 1126400L / result; // Back-calculate AVcc in mV
  return result;
}
void setup() {
  Serial.begin(9600);
}
void loop() {
  Serial.println( readVcc(), DEC );
  delay(1000);
}

La tensione di riferimento del ADC é la tensione che corrisponde al 1023 ADC.
Il ATmega328 come é sul Arduino UNO ha una tensione di riferimento interna di 1,1V. Con un impostazione del multiplexer del convertitore ADC puoi misurare la tensione di riferimento di 1,1V e un diodo che funge ad sensore di temperatura.
Se la tensione di alimentazione non é 5V ma 4,5V la lettura dei ADC di una tensione costante é diversa.
Allora misurando i 1,1V il valore letto con Aref di 5V é 225. Se Aref é 4,5V il valore letto é 250.
Cosí legendo i 1,1V puoi calcolare la tensione di riferimento e percui la tensione di alimentazione.
Vref = VCC = 1023*1,1/ADC
Ciao Uwe