BeagleBoneBlack ADC

01 Mar 2015
Follow the instruction to enable the ADC and read outputs from the file.

echo  BB-ADC > /sys/devices/bone_capemgr.9/slots

(*There may be slight variation for directories. Figure this out if not working.) Verify whether ADC is loaded by

cat /sys/devices/bone_capemgr.9/slots



Read ADC value by

cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw


Here AIN0 (PIN39 on P9) is connected to a potentiometer. Do not exceed the voltage above 1.8V. This will damage the BBB.
Its a 12 bit ADC. So maximum value will be 4096. To calculate value in voltage,

(1.8/4096) *ADC_Value

I wrote a bash script to do this work.
For this script to work install bc on BeagleBoneBlack. bc is a small program to do mathematical calculation from terminal.

apt-get install bc

Save the above bash script to a file (adc_bash) and set permission to execute by

chmod +x adc_bash

To run it every 0.5 second,

watch -n 0.5 ./adc_bash


Once finished with the ADC you can unexport it. But it will cause a kernel panic. So its better not to do it. So the best way  is to restart the BBB or leave it as is. If you want to unexport it,

echo -7 > /sys/devices/bone_capemgr.9/slots

where 7 is the number corresponding to BB-ADC in

cat /sys/devices/bone_capemgr.9/slots
For more detail refer here.