Skip to content

Most visited

Recently visited

navigation

Raspberry Pi 3 Function Mode Matrix

The following modes in each table are mutually exclusive on the Raspberry Pi 3.

UART modes

The Raspberry Pi has a single full-speed UART (UART0) and a mini UART (MINIUART); see the official docs for information on their differences. These UARTs are multiplexed between various board functions and cannot be used simultaneously. The following modes are supported:

Mode Activated By Bluetooth Pin Functions
Debug console Default mode; no PIO connections Enabled Pins BCM14/BCM15 expose RX/TX of the serial debug console
UART0 UART0 opened by PIO Disabled Pins BCM14/BCM15 expose RX/TX of UART0
MINIUART MINIUART opened by PIO Enabled Pins BCM14/BCM15 expose RX/TX of MINIUART
BCM14 or BCM15 Pin opened by PIO Enabled Named pin (BCM14 or BCM15) is GPIO, other pin is idle

An IOException error is thrown if you try to open an active pin (from above) using a different UART mode.

Audio modes

The Raspberry Pi uses a shared clock signal for the PWM drivers and the audio subsystem (I2S and analog). Analog audio is transmitted through the 3.5mm audio jack. The following modes are supported:

Mode Activated By Analog Audio Pin Functions
Audio Default mode; no PIO connections Enabled N/A
PWM0 PWM0 opened by PIO Disabled Pin BCM18 enabled as PWM
I2S1 I2S1 opened by PIO Enabled Pin BCM18 enabled as I2S BCLK
BCM18 Pin opened by PIO Enabled Named pin (BCM18) is GPIO
This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)