unsigned int readVcc2(void) {
  // jremington:
  // https://forum.arduino.cc/t/measuring-the-source-voltage-using-internal-1-1v-reference/576886/4
  // Read 1.1V reference against AVcc
  // set the reference to Vcc and the measurement to the internal 1.1V reference
  ADMUX = (1<<REFS0) | (1<<MUX3) | (1<<MUX2) | (1<<MUX1);
  delay(2); // Wait for Vref to settle
  ADCSRA |= (1<<ADSC); // Start conversion
  while (bit_is_set(ADCSRA,ADSC)); // measuring
  unsigned int result = ADC;
  //custom scale factor, processor specific
  result = 1125300UL / (unsigned long)result; // Calculate Vcc (in mV); 1125300 = 1.1*1024*1000
  return result; // Vcc in millivolts
}
void setup() { 
	Serial.begin(9600); 
}
void loop() { 
	Serial.println(readVcc2(), DEC);
	delay(1000);
}