.. _gpio: ====== GPIO ====== The Maple features 38 ready-to-use general purpose input/output (GPIO) pins for digital input/output, numbered D0 through D37. These numbers correspond to the numeric values next to each header on the Maple silkscreen. Many of these pins may additionally be used for special features or peripheral functions. This page documents those capabilities, by pin. The current and voltage limitations have not been copied over from the STM32 datasheet (see the :ref:`Recommended Reading ` for a link). In particular, a number of GPIO pins are 5v tolerant (which means that applying 5v to a pin and reading it as input or allowing it to drain to ground will not damage that pin), while some are not. .. contents:: Contents :local: Pin Mapping Mega Table ---------------------- This huge reference table shows the available functionality on every GPIO pin, by peripheral type. The "STM32" column refers to the port and number that the header is connected to on the microcontroller. The "5v?" column documents whether or not the pin is 5v tolerant (see above). .. csv-table:: :header: "Pin", "STM32", ":ref:`ADC `", ":ref:`Timer `", ":ref:`I2C `", ":ref:`UART `", ":ref:`SPI `", "5v?" "D0", "PA3", "ADC3", "TIM2_CH4", "-", "USART2_RX", "-", "No" "D1", "PA2", "ADC2", "TIM2_CH3", "-", "USART2_TX", "-", "No" "D2", "PA0", "ADC0", "TIM2_CH1_ETR", "-", "USART2_CTS", "-", "No" "D3", "PA1", "ADC1", "TIM2_CH2", "-", "USART2_RTS", "-", "No" "D4", "PB5", "-", "-", "ISC1_SMBA", "-", "-", "No" "D5", "PB6", "-", "TIM4_CH1", "I2C1_SCL", "-", "-", "Yes" "D6", "PA8", "-", "TIM1_CH1", "-", "USART1_CK", "-", "Yes" "D7", "PA9", "-", "TIM1_CH2", "-", "USART1_TX", "-", "Yes" "D8", "PA10", "-", "TIM1_CH3", "-", "USART1_RX", "-", "Yes" "D9", "PB7", "-", "TIM4_CH2", "I2C1_SDA", "-", "-", "Yes" "D10", "PA4", "ADC4", "-", "-", "USART2_CK", "SPI1_NSS", "No" "D11", "PA7", "ADC7", "TIM3_CH2", "-", "-", "SPI1_MOSI", "No" "D12", "PA6", "ADC6", "TIM3_CH1", - - SPI1_MISO No D13 PA5 ADC5 - - - SPI1_SCK No D14 PB8 - TIM4_CH3 - - - Yes Analog header D15 PC0 ADC10 - - - - No D16 PC1 ADC11 - - - - No D17 PC2 ADC12 - - - - No D18 PC3 ADC13 - - - - No D19 PC4 ADC14 - - - - No D20 PC5 ADC15 - - - - No External header D21 PC13 - - - - - No D22 PC14 - - - - - No D23 PC15 - - - - - No D24 PB9 - TIM4_CH4 - - - Yes D25 PD2 - TIM3_ETR - - - Yes D26 PC10 - - - - - Yes D27 PB0 ADC8 TIM3_CH3 - - - No D28 PB1 ADC9 TIM3_CH4 - - - No D29 PB10 - - I2C2_SCL USART3_TX - Yes D30 PB11 - - I2C2_SDA USART3_RX - Yes D31 PB12 - TIM1_BKIN I2C2_SMBAL USART3_CK SPI2_NSS Yes D32 PB13 - TIM1_CH1N - USART3_CTS SPI2_SCK Yes D33 PB14 - TIM1_CH2N - USART3_RTS SPI2_MISO Yes D34 PB15 - TIM1_CH3N - - SPI2_MOSI Yes D35 PC6 - - - - - Yes D36 PC7 - - - - - Yes D37 PC8 - - - - - Stub (unfinished). .. _gpio-recommended-reading: Recommended Reading ------------------- STMicro documentation for STM32F103RB microcontroller: * `All `_ * `Datasheet (pdf) `_ * `Reference Manual (pdf) `_