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