Hi,
I am experiencing an error of up to 8% on SAADC readings on the NRF52832. We have performed a sweep of the full range of the ADC and produced the following graph which shows the phenomenon:

The SAADC is set up in single ended mode using the VDD/4 reference and a gain of 1/4 to give full range readings over 0-3.3v. The set up code is given below:
ret_code_t err_code;
nrf_saadc_channel_config_t channel_config =
NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN1);
channel_config.gain = NRF_SAADC_GAIN1_4;
channel_config.reference = NRF_SAADC_REFERENCE_VDD4;
static nrfx_saadc_config_t default_config = NRFX_SAADC_DEFAULT_CONFIG;
nrfx_saadc_config_t * p_config = &default_config;
p_config->resolution = NRF_SAADC_RESOLUTION_12BIT;
err_code = nrf_drv_saadc_init(p_config, saadc_event_handler, NULL);
APP_ERROR_CHECK(err_code);
err_code = nrf_drv_saadc_channel_init(0, &channel_config);
APP_ERROR_CHECK(err_code);
Is there any way to mitigate the error we are seeing or is this just inherent to the nature of the NRF52832 SAADC?
Thanks in advance,
Rob