Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

In RP2350

The RP2350 microcontroller features a built-in 12-bit ADC with multiple input channels, giving you 4,096 distinct levels to represent voltages from 0V to 3.3V. With the 3.3V reference voltage (ADC_AVDD), this produces a step size of approximately 0.806 mV. You can refer to page 1066 of the datasheet for more details: RP2350 datasheet

On the RP2350 chip, the ADC uses a pin called ADC_AVDD. This pin powers the ADC and also acts as the reference voltage for conversions. The value on this pin sets the maximum voltage the ADC can measure. In practice, ADC_AVDD is usually connected to 3.3 V. Because the ADC is sensitive to small voltage changes, this supply should be clean and stable to get reliable readings.

On the Raspberry Pi Pico 2 board, this is already taken care of for you. The board connects the 3.3 V supply to the RP2350 ADC_AVDD pin through a small filter made from a resistor and a capacitor. This helps reduce noise and improves ADC behavior.

The Pico 2 also exposes this filtered reference on a pin labeled ADC_VREF (physical pin 35). By default, you do not need to touch this pin. You can simply use the ADC as is. For more advanced use cases, this pin allows you to supply an external precision reference voltage if you need higher accuracy, but this is optional and not required for beginner projects

For now, it is enough to remember that the RP2350 ADC is 12-bit, measures voltages up to its reference voltage, and that the Pico 2 board already provides a safe and stable default setup.

ADC Channels and GPIO Mapping on Raspberry Pi Pico 2

The RP2350 ADC has multiple internal channels. On the Raspberry Pi Pico 2, four of these channels are connected to GPIO pins that can be used as analog inputs.

GPIO PinADC ChannelFunction
GPIO26ADC0Can be used to read voltage from peripherals.
GPIO27ADC1Can be used to read voltage from peripherals.
GPIO28ADC2Can be used to read voltage from peripherals.
GPIO29ADC3Measures the VSYS supply voltage on the board.