class ADC – analog to digital conversion: read analog values on a pin


import pyb

adc = pyb.ADC(pin)              # create an analog object from a pin
val =                # read an analog value

adc = pyb.ADCAll(resolution)    # creale an ADCAll object
val = adc.read_channel(channel) # read the given channel
val = adc.read_core_temp()      # read MCU temperature
val = adc.read_core_vbat()      # read MCU VBAT
val = adc.read_core_vref()      # read MCU VREF


class pyb.ADC(pin)

Create an ADC object associated with the given pin. This allows you to then read analog values on that pin.


Read the value on the analog pin and return it. The returned value will be between 0 and 4095.

adc.read_timed(buf, freq)

Read analog values into the given buffer at the given frequency. Buffer can be bytearray or array.array for example. If a buffer with 8-bit elements is used, sample resolution will be reduced to 8 bits.


adc = pyb.ADC(pyb.Pin.board.X19)    # create an ADC on pin X19
buf = bytearray(100)                # create a buffer of 100 bytes
adc.read_timed(buf, 10)             # read analog values into buf at 10Hz
                                    #   this will take 10 seconds to finish
for val in buf:                     # loop over all values
    print(val)                      # print the value out

This function does not allocate any memory.