bug en analogReference Arduino Uno

Empecé a hacer un ensayo con el seteo de la tensión de referencia para el adc con un Arduino Uno y me encontré con el inconveniente que no cambia el valor de referencia como corresponde. En el sketch para el ensayo adjuntado abajo incluí un delay despues de cada cambio de referencia de tensión para permitir la estabilización de la misma. Así y todo le correctamente con 5vcc ( DEFAULT) pero lee erroneamente con 1.1vcc ( INTERNAL).
Alguien pasó por ésto previamente ? Alguna conclusión?

Gracias

/* conectar una R= 10K o similar entre +5v y A0   y un 1N4007 ánodo en A0 cátodo a gnd
 *  de manera que en A0 quedará siempre un tensión de aprox 0.55 volt (depende del diodo).
 *  Fijate los valores que tira y calculá la tensión.
 *  fijate que si pones el tester en la pin AREF (la segunda depues de pin 13) la tension
 *  de referencia va conmutando entre 1.1 y 5 volt.
 *  
 *  A ver si descubris que sucede !!
 */



float adc;
float adc5;

void setup() { 
  
  Serial.begin(9600);
 
   
}

void loop() {
  
  analogReference(INTERNAL);     //referencia a 1.1 volt
  delay(1000);

  adc=analogRead(A0);
  Serial.print("ref 1v1=   ");
  Serial.print(adc*1.1/1023);
  Serial.println();
  delay(1000);

 analogReference(DEFAULT);      // ref. a 5vcc

  delay(1000);
  
  adc5=analogRead(A0);
  Serial.print("ref 5v=   ");
  Serial.print(adc5*1.1/1023);
  Serial.println();
  delay(1000);
 
  
}

Del datasheet:

If a fixed voltage source is connected to the external AREF pin, the application may not use the other reference voltage options in the application, as they will be shorted to the external voltage.

Que básicamente significa que si conectas una tensión en AREF las otras referencias puede ser que fallen.

En el datasheet viene también un "esquema" de como esta conectado el AREF.

aref.jpg

Como ves, tanto AVCC como 1V1 están en la entrada de un multiplexor cuya salida está conectada directamente al ADC via un interruptor (mosfet) y al pin AREF. Por lo tanto si tu tienes una tensión de 0.6 voltios en la referencia, el ciruito debe hacer cosas raras.

He realizado una simulación y mientras a ti DEFAULT te lo lee bien, me da error y si me lee bien 1V1.

Moraleja: Si quieres medir una tensión entre 5V y 1V1 usando DEFAULT e INTERNAL deja el pin AREF al aire. Si quieres usar EXTERNAL, has de colocar una tensión en AREF y, recomendable, leerla con un polimetro para estar seguro de que la tensión es la que es.

aref.jpg