External Voltage Reference in Arduino nano BLE.


Currently I am working on a project where I need high accuracy for the ADC. I am using an Arduino nano BLE. I need to use a reference voltage of 2 V. Unfortunately, Arduino nano BLE provides an internal reference voltage of 0.6, 1.2 and 2.4.

After a proper research in to nrf58240 datasheet, I found that it might be possible to assign any of the analog pins in Arduino to set as a external reference pin. I had a proper look in to the EAGLE files of arduono BLE where I found that the REF pin is kept alone with out any connection.

I would like to ask if anyone of you had tried to activate the external reference in Arduino BLE. I also have a doubt that this approach to alter the registers in nrf58420 could be wrong.

Can I alter the registers and activate any one of the analog pins in Arduino as an external reference voltage pin?

I would appreciate any valuable feedback.


To start with the Arduino nano A/D is not high accuracy, for high accuracy you need an external A/D, maybe 16 bit or more. This is a subjective answer as I do not know what you want high accuracy to indicate.
I believe the analog reference may be connected to the internal reference depending how the Arduino is set up, connecting an external voltage to this pin could cause problems unless programed correctly. This will work however you need to be sure the chip is programed properly or you could damage it. I would spend some time checking this out. If it were me I would save a lot of work and set it to 2.4V and use the map command or set it to 1.2V and use a voltage divider. Check this link: https://ohmslawcalculator.com/voltage-divider-calculator it is an on line reistance divider calculator. The accuracy depends on what resistory you have available. You can use serial and or parallel combinations to get what you want. You will need an accurate measuring device at least one decade better then you measurement to check calibration.