There is bug in the nrf52 adc code when VDD4 reference is used. The code is expecting a global "init_adc_config" to have been configured prior to nrf52_adc_configure_channel being called (this is called through adc_chan_config). The BSP's are not initializing this structure. Note that init_adc_config gets set through a call to nrf52_adc_dev_init(). The call to os_dev_create() is what calls the initialization function which should end up calling nrf52_adc_dev_init(). Not sure exactly which structures need to be passed into os_dev_create() and os_dev_open(); these need to be reconciled.