This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Can nRF51822 ADC external reference (AREF0/1) voltage be as low as 0.5V or less?

According to PS, external reference min. voltage is 0.83V. However, I've experimented with voltages of about 0.2V and it appears to work. Specifically, I connected a voltage divider with 47K to VCC=3.2V and 3K3 to GND, then connect the midpoint to pin p0.06 (AREF1), with the following code:

NRF_ADC->ENABLE = ADC_ENABLE_ENABLE_Enabled; NRF_ADC->CONFIG = (ADC_CONFIG_RES_10bit << ADC_CONFIG_RES_Pos) | (ADC_CONFIG_INPSEL_AnalogInputNoPrescaling << ADC_CONFIG_INPSEL_Pos) | (ADC_CONFIG_REFSEL_External << ADC_CONFIG_REFSEL_Pos) | (channel << ADC_CONFIG_PSEL_Pos) | (ADC_CONFIG_EXTREFSEL_AnalogReference1 << ADC_CONFIG_EXTREFSEL_Pos);

NRF_ADC->TASKS_START = 1; while (((NRF_ADC->BUSY & ADC_BUSY_BUSY_Msk) >> ADC_BUSY_BUSY_Pos) == ADC_BUSY_BUSY_Busy) ; value = NRF_ADC->RESULT;

It seems to work, but maybe it's an illusion... So the question is: actually what is supposed to happen exactly if I use an external reference voltage lower than 0.83V?

Regards, P.G.

Related