Leer voltaje de la propia alimentación del ATmega328p

Hola buenas, Estoy diseñando un sistema centrado en el uC ATmega328p y lo estoy alimentando directamente con una batería LiPo de 3.7V. Tengo también un LDO de 3.3V alimentando varios sensores en el sistema.

Mi cuestión es la siguiente, Si quiero realizar lecturas de la tensión de la batería [carga completa = 4V, descargada = 3V (aprox.)] mediante el convertidor A/D del ATmega para demostrar un estado de "baja carga" de la batería mediante un led conectado a un pin digital del mismo uC, ¿Cómo debería configurar los pines Vcc, AVcc y AREF del ATmega para poder conseguir ese resultado?

En estos momentos alimento el ATmega328p (con cristal interno 8MHz) a la tensión de la batería y tenía pensando conectar Vcc con AVCC y con los 3.3V que me da el LDO conectarlos a AREF y cuando la tensión de la batería esté llegando a esa tensión (3.3V) mediante la lectura de un pin A/D, avisar mediante el led de un estado de baja carga.

¿Que piensan? ¿Alguna solución mejor?

PD: No me gustaría añadir ningún componente extra al sistema.

Gracias.

Hi, Aqui el uso del voltaje del LDO vaz a tener un problema y es de que el LDO regula simpre y cuando el voltaje de entrada es mas alto que el voltaje de salida. Ya se que no quires usar componentes externos pero si programas la referencia del 328P a 1.1 voltios y usas resistencias para hacer un divisor de voltaje entonces puedes leer el voltaje de la bateria hasta un voltio sin tener variaciones de la referencia. Pero como dices que no quieres usar componentes pues la sugerencia no es aceptable para ti. El uso del voltaje de la bateria te va a causar problemas pues va estar variando cuando va perdiendo la carga.

Sin un IC de referencia medir tensiones como lo que pretendes no es aconsejable. Creo que el consejo de @tauro0221 es el mas adecuado aprovechando la referencia interna del ATmega328P. No tienes alternativa.