Aller au contenu
AESTECHNO
Brochage

Brochage Raspberry Pi : le connecteur GPIO 40 broches

Le connecteur GPIO 40 broches du Raspberry Pi (du B+ au Pi 5 en passant par les Pi 2, 3 et 4, et tous les Zero) porte deux broches 3,3 V, deux broches 5 V, huit masses, 26 GPIO et deux broches d’EEPROM d’identification, en logique 3,3 V non tolérante au 5 V. Le numéro physique (1 à 40) diffère du numéro GPIO BCM utilisé dans le code.

Par Hugues Orgitello · Mis à jour le ·

Connecteur GPIO 40 broches, pas de 2,54 mm

Numéros physiques et GPIO BCM identiques du Pi 1 B+ au Pi 5 et sur les Zero. Colonne Pi 1 à 4 : fonctions alternatives communes au BCM2835 et au BCM2711 (le Pi 4 en ajoute d’autres). Colonne Pi 5 : fonctions du RP1 (aN = FUNCSEL N) sur les mêmes bus. Les pull-ups citées sont celles de la carte.

GPIO Raspberry Pi · Connecteur GPIO 40 broches, pas de 2,54 mm. Carte vue de dessus, côté composants, connecteur le long du bord supérieur comme sur le schéma officiel : broche 1 (carrée) en bas à gauche, broche 40 en haut à droite, rangée paire côté bord de carte. Sur les Pi intégrés à un clavier (400, 500), le connecteur est tourné de 180°..
Carte vue de dessus, côté composants, connecteur le long du bord supérieur comme sur le schéma officiel : broche 1 (carrée) en bas à gauche, broche 40 en haut à droite, rangée paire côté bord de carte. Sur les Pi intégrés à un clavier (400, 500), le connecteur est tourné de 180°.
Broche Signal Sens GPIO BCMFonctions alt. Pi 1 à 4Pi 5 (RP1) Description
1 3V3 --- Alimentation 3,3 V fournie par la carte, pour des charges faibles (Alimentation)
2 5V --- 5 V de la carte, en sortie ; ou entrée d’alimentation 5 V (HAT d’alimentation, PoE) (Alimentation)
3 SDA1 E/S 2ALT0 SDA1 (I2C1)a3 I2C1_SDA Données I2C1 ; pull-up de 1,8 kΩ vers 3,3 V sur la carte (Signal)
4 5V --- 5 V de la carte, en sortie ; ou entrée d’alimentation 5 V (HAT d’alimentation, PoE) (Alimentation)
5 SCL1 E/S 3ALT0 SCL1 (I2C1)a3 I2C1_SCL Horloge I2C1 ; pull-up de 1,8 kΩ vers 3,3 V sur la carte (Signal)
6 GND --- Masse (Masse)
7 GPCLK0 E/S 4ALT0 GPCLK0a0 GPCLK[0] Sortie d’horloge générale 0, ou E/S générale (Signal)
8 TXD E/S 14ALT0 TXD0 (UART0), ALT5 TXD1 (mini UART)a4 UART0_TX, a0 PWM0[2] Émission de l’UART principal (UART0, ou mini UART sur Pi 3, 4 et Zero W) (Signal)
9 GND --- Masse (Masse)
10 RXD E/S 15ALT0 RXD0 (UART0), ALT5 RXD1 (mini UART)a4 UART0_RX, a0 PWM0[3] Réception de l’UART principal (UART0, ou mini UART sur Pi 3, 4 et Zero W) (Signal)
11 GPIO17 E/S 17ALT3 RTS0, ALT4 SPI1_CE1_N, ALT5 RTS1a0 SPI1_CSn[1], a4 UART0_RTS E/S générale ; CE1 du bus SPI1 (Signal)
12 PCM_CLK E/S 18ALT0 PCM_CLK, ALT4 SPI1_CE0_N, ALT5 PWM0_0a0 SPI1_CSn[0], a2 I2S0_SCLK, a3 PWM0[2] Horloge audio PCM/I2S ; CE0 de SPI1 ; PWM (Signal)
13 GPIO27 E/S 27ALT4 ARM_TMS (JTAG)- Aucune fonction dédiée : E/S générale (Signal)
14 GND --- Masse (Masse)
15 GPIO22 E/S 22ALT4 ARM_TRST (JTAG)- Aucune fonction dédiée : E/S générale (Signal)
16 GPIO23 E/S 23ALT4 ARM_RTCK (JTAG)- Aucune fonction dédiée : E/S générale (Signal)
17 3V3 --- Alimentation 3,3 V fournie par la carte, pour des charges faibles (Alimentation)
18 GPIO24 E/S 24ALT4 ARM_TDO (JTAG)- Aucune fonction dédiée : E/S générale (Signal)
19 SPI0_MOSI E/S 10ALT0 SPI0_MOSIa0 SPI0_SIO[0] (MOSI) Données SPI0 du maître vers l’esclave (Signal)
20 GND --- Masse (Masse)
21 SPI0_MISO E/S 9ALT0 SPI0_MISOa0 SPI0_SIO[1] (MISO) Données SPI0 de l’esclave vers le maître (Signal)
22 GPIO25 E/S 25ALT4 ARM_TCK (JTAG)- Aucune fonction dédiée : E/S générale (Signal)
23 SPI0_SCLK E/S 11ALT0 SPI0_SCLKa0 SPI0_SCLK Horloge SPI0 (Signal)
24 SPI0_CE0_N E/S 8ALT0 SPI0_CE0_Na0 SPI0_CSn[0] Sélection de boîtier 0 de SPI0, active basse (Signal)
25 GND --- Masse (Masse)
26 SPI0_CE1_N E/S 7ALT0 SPI0_CE1_Na0 SPI0_CSn[1] Sélection de boîtier 1 de SPI0, active basse (Signal)
27 ID_SD E/S 0ALT0 SDA0 (I2C0)a3 I2C0_SDA Données I2C de l’EEPROM d’identification du HAT ; rien d’autre sur cette broche (Configuration)
28 ID_SC E/S 1ALT0 SCL0 (I2C0)a3 I2C0_SCL Horloge I2C de l’EEPROM d’identification du HAT ; rien d’autre sur cette broche (Configuration)
29 GPCLK1 E/S 5ALT0 GPCLK1a0 GPCLK[1] Sortie d’horloge générale 1, ou E/S générale (Signal)
30 GND --- Masse (Masse)
31 GPCLK2 E/S 6ALT0 GPCLK2a0 GPCLK[2] Sortie d’horloge générale 2, ou E/S générale (Signal)
32 PWM0_0 E/S 12ALT0 PWM0_0a0 PWM0[0] Sortie PWM, canal 0 (Signal)
33 PWM0_1 E/S 13ALT0 PWM0_1a0 PWM0[1] Sortie PWM, canal 1 (Signal)
34 GND --- Masse (Masse)
35 PCM_FS E/S 19ALT0 PCM_FS, ALT4 SPI1_MISO, ALT5 PWM0_1a0 SPI1_SIO[1] (MISO), a2 I2S0_WS, a3 PWM0[3] Synchro de trame audio PCM/I2S ; MISO de SPI1 ; PWM (Signal)
36 GPIO16 E/S 16ALT3 CTS0, ALT4 SPI1_CE2_N, ALT5 CTS1a0 SPI1_CSn[2], a4 UART0_CTS E/S générale ; CE2 du bus SPI1 (Signal)
37 GPIO26 E/S 26ALT4 ARM_TDI (JTAG)- Aucune fonction dédiée : E/S générale (Signal)
38 PCM_DIN E/S 20ALT0 PCM_DIN, ALT4 SPI1_MOSI, ALT5 GPCLK0a0 SPI1_SIO[0] (MOSI), a2 I2S0_SDI[0], a3 GPCLK[0] Entrée de données audio PCM/I2S ; MOSI de SPI1 (Signal)
39 GND --- Masse (Masse)
40 PCM_DOUT E/S 21ALT0 PCM_DOUT, ALT4 SPI1_SCLK, ALT5 GPCLK1a0 SPI1_SCLK, a2 I2S0_SDO[0], a3 GPCLK[1] Sortie de données audio PCM/I2S ; horloge de SPI1 (Signal)

Pi 1 modèles A et B : connecteur P1 26 broches, révisions 1 et 2

Seules les broches 3, 5 et 13 changent de GPIO BCM entre la révision 1 (PCB de septembre 2012 ou avant) et la révision 2. Les broches 4, 9, 14, 17, 20 et 25, marquées DNC dans la première documentation, portent bien 5 V, 3,3 V et masse. La révision 2 correspond aux 26 premières broches du connecteur 40 broches.

GPIO Raspberry Pi · Pi 1 modèles A et B : connecteur P1 26 broches, révisions 1 et 2. Carte vue de dessus, côté composants : broche 1 (carrée) dans la première colonne, sur la rangée du bas.
Carte vue de dessus, côté composants : broche 1 (carrée) dans la première colonne, sur la rangée du bas
Broche Signal Sens Révision 1 (GPIO BCM)Révision 2 (GPIO BCM) Description
1 3V3 -- Alimentation 3,3 V (Alimentation)
2 5V -- 5 V après le polyfuse d’entrée (Alimentation)
3 SDA0 / SDA1 E/S GPIO0 (SDA0)GPIO2 (SDA1) Données I2C : bus I2C0 en révision 1, I2C1 en révision 2 ; pull-up de 1,8 kΩ (Signal)
4 5V -- 5 V (marquée DNC en révision 1) (Alimentation)
5 SCL0 / SCL1 E/S GPIO1 (SCL0)GPIO3 (SCL1) Horloge I2C : bus I2C0 en révision 1, I2C1 en révision 2 ; pull-up de 1,8 kΩ (Signal)
6 GND -- Masse (Masse)
7 GPCLK0 E/S GPIO4GPIO4 Horloge générale 0, ou E/S générale (Signal)
8 TXD0 E/S GPIO14GPIO14 Émission UART0, console série par défaut (Signal)
9 GND -- Masse (marquée DNC en révision 1) (Masse)
10 RXD0 E/S GPIO15GPIO15 Réception UART0 (Signal)
11 GPIO17 E/S GPIO17GPIO17 Aucune fonction dédiée : E/S générale (Signal)
12 PCM_CLK E/S GPIO18GPIO18 Horloge PCM, ou PWM (ALT5) (Signal)
13 GPIO21 / GPIO27 E/S GPIO21GPIO27 E/S générale ; GPIO27 en révision 2, ce qui amène ARM_TMS sur le connecteur (Signal)
14 GND -- Masse (marquée DNC en révision 1) (Masse)
15 GPIO22 E/S GPIO22GPIO22 Aucune fonction dédiée : E/S générale (Signal)
16 GPIO23 E/S GPIO23GPIO23 Aucune fonction dédiée : E/S générale (Signal)
17 3V3 -- Alimentation 3,3 V (marquée DNC en révision 1) (Alimentation)
18 GPIO24 E/S GPIO24GPIO24 Aucune fonction dédiée : E/S générale (Signal)
19 SPI0_MOSI E/S GPIO10GPIO10 Données SPI0 du maître vers l’esclave (Signal)
20 GND -- Masse (marquée DNC en révision 1) (Masse)
21 SPI0_MISO E/S GPIO9GPIO9 Données SPI0 de l’esclave vers le maître (Signal)
22 GPIO25 E/S GPIO25GPIO25 Aucune fonction dédiée : E/S générale (Signal)
23 SPI0_SCLK E/S GPIO11GPIO11 Horloge SPI0 (Signal)
24 SPI0_CE0_N E/S GPIO8GPIO8 Sélection de boîtier 0 de SPI0, active basse (Signal)
25 GND -- Masse (marquée DNC en révision 1) (Masse)
26 SPI0_CE1_N E/S GPIO7GPIO7 Sélection de boîtier 1 de SPI0, active basse (Signal)
Une interface à concevoir ?

Un HAT ou une carte d’extension à concevoir pour Raspberry Pi, avec EEPROM d’identification, alimentation par le connecteur et protection des E/S ? Nous en assurons la conception électronique et le routage.

Numéro physique ou numéro BCM ?

Le numéro physique suit la position sur le connecteur : impairs sur la rangée intérieure, pairs sur la rangée du bord. Le code, lui, utilise le numéro GPIO du processeur (numérotation BCM) : la broche 11 est GPIO17, la broche 3 est GPIO2. Sur un Raspberry Pi, la commande pinout affiche la correspondance.

Les 26 premières broches reprennent le connecteur P1 des Pi 1 A et B de révision 2 ; la révision 1 diffère sur les broches 3, 5 et 13 (voir le tableau ci-dessus). Sur le Pi 5, le contrôleur d’E/S RP1 remplace le processeur pour le GPIO, mais ses fonctions ont été placées pour retrouver celles du Pi 4 sur le connecteur : les numéros BCM et les bus principaux ne changent pas.

Position du connecteur 40 broches sur un Pi 4 ou Pi 5 et sur un Zero, cartes vues de dessus, à la même échelle Raspberry Pi 4 / Pi 5 · 85 × 56 mm GPIO, broche 1 à gauche Raspberry Pi Zero / Zero 2 W · 65 × 30 mm GPIO, broche 1 à gauche
Position du connecteur 40 broches sur un Pi 4 ou Pi 5 et sur un Zero, cartes vues de dessus, à la même échelle Contours (85 × 56 mm, 65 × 30 mm) et centre du connecteur à 32,5 mm du bord gauche (3,5 + 29 mm) : dessins mécaniques Raspberry Pi 4, Pi 5 et Zero 2 W. Centre à 3,5 mm du bord supérieur : cote du dessin Pi 4 ; sur Pi 5 et Zero 2 W, le connecteur est sur l’axe des trous de fixation, à 3,5 mm du bord. Zone tracée : 20 × 2 broches au pas de 2,54 mm, soit 50,8 × 5,08 mm.

Niveaux logiques et courant

3,3 V, pas 5 V. Les GPIO ne sont pas tolérants au 5 V ; un signal 5 V appliqué directement peut détruire le processeur. Un capteur ou un module 5 V passe par un adaptateur de niveau. Seules les broches 2 et 4 portent du 5 V.

Courant. La documentation Raspberry Pi donne jusqu’à 16 mA par broche et 50 mA au total pour l’ensemble des GPIO. Le réglage de drive n’est pas une limite de courant : c’est le courant jusqu’auquel les niveaux de sortie restent garantis. Sur Pi 4 (BCM2711), le drive par défaut est de 4 mA et le maximum de 8 mA ; sur Pi 5, le RP1 propose 2, 4, 8 ou 12 mA. Une LED passe par une résistance, un moteur ou un relais par un étage de puissance.

Rail 3,3 V. Raspberry Pi indique que l’alimentation 3,3 V a été dimensionnée pour environ 3 mA par GPIO, et ne publie pas de courant disponible sur les broches 1 et 17 dans ces documents : réservez-les à la logique et aux capteurs, et alimentez le reste depuis le 5 V avec votre propre régulateur. Depuis le Pi 4, l’état STANDBY garde le 5 V et coupe le 3,3 V : une carte d’extension doit le supporter. Ne raccordez jamais une source d’alimentation sur les broches 3,3 V.

Pull-ups et état au démarrage

GPIO2 et GPIO3 (broches 3 et 5) ont des pull-ups fixes de 1,8 kΩ vers 3,3 V sur la carte (la spécification HAT+ parle d’environ 2 kΩ). Inutile d’en ajouter sur le module I2C ; elles empêchent aussi d’utiliser ces broches comme entrées tirées au niveau bas.

Au démarrage, toutes les broches sont des entrées avec une pull faible. Sur BCM2835 et BCM2711, GPIO0 à GPIO8 démarrent en pull-up et GPIO9 à GPIO27 en pull-down. La spécification HAT+ demande de tolérer l’un ou l’autre : si une sortie de votre carte doit rester dans un état précis au démarrage (activation d’un étage de puissance, reset), mettez une résistance externe.

Broches 27 et 28 : l’EEPROM d’identification

ID_SD (GPIO0) et ID_SC (GPIO1) sont réservées à l’EEPROM d’identification d’un HAT. Seules connexions autorisées : l’EEPROM et deux pull-ups de 3,9 kΩ vers 3,3 V, sur la carte d’extension. Au démarrage, le firmware lit l’EEPROM et charge l’overlay Device Tree qu’elle désigne.

La spécification HAT+ impose une EEPROM I2C 24Cxx en 3,3 V, à adressage 16 bits, sans étirement d’horloge ni pagination par bit d’adresse, avec une broche WP qui protège toute la mémoire ; 100 kHz suffit. Elle recommande la CAT24C32 et une broche WP tirée au 3,3 V par 1 kΩ, reliée à un point de test pour la programmation en production.

Alimenter le Pi par les broches 5 V

Les broches 2 et 4 peuvent alimenter le Pi (HAT PoE, carte d’alimentation). Le guide HAT d’origine précise que ces broches sont reliées au 5 V après le polyfuse et la diode d’entrée : ce chemin contourne la protection d’entrée. La spécification HAT+ demande qu’une carte d’alimentation fournisse au moins 3 A sous 5,1 V (5 A recommandés), ne fasse que fournir du courant et reste sûre si l’alimentation USB-C est branchée en même temps.

L’ancien guide de conception HAT recommandait une diode idéale côté carte d’extension, d’autant que les Pi 3B+, 4B et Zero n’ont pas de diode idéale sur leur entrée 5 V. Dans le doute, nous la prévoyons.

Quel UART sur les broches 8 et 10 ?

Sur les modèles avec Bluetooth (Pi 3, Pi 4, Zero W, Zero 2 W), l’UART complet PL011 est réservé au Bluetooth et GPIO14/GPIO15 portent par défaut le mini UART, moins robuste (pas de parité, débit lié à l’horloge du VPU). Sur Pi 5, la console passe par le connecteur de débogage 3 broches dédié (UART10) ; l’UART0 de GPIO14/GPIO15 est désactivé par défaut et s’active dans config.txt. Tous les UART sont en 3,3 V.

Ce qui change sur le Pi 5

Mêmes broches, même numérotation BCM, mêmes bus principaux (I2C1, SPI0, SPI1, UART0, PWM, GPCLK), mais tout passe par le RP1. Différences utiles en conception : seuils d’entrée de 0,8 V et 2,0 V, pull-up internes de 37 à 86 kΩ et pull-down de 35 à 98 kΩ, drive réglable à 2, 4, 8 ou 12 mA, quatre canaux PWM (PWM0[2] et PWM0[3] aussi sur GPIO14/15 et GPIO18/19), audio nommé I2S au lieu de PCM, et plus de mini UART.

Questions fréquentes

FAQ

Les GPIO du Raspberry Pi sont-ils tolérants au 5 V ?
Non. Les GPIO fonctionnent en 3,3 V et un signal 5 V appliqué directement peut endommager définitivement le processeur. Utilisez un adaptateur de niveau, ou un module ou un câble série prévu pour le 3,3 V.
Quel courant peut fournir une broche GPIO ?
La documentation Raspberry Pi indique jusqu’à 16 mA par broche et 50 mA au total pour l’ensemble des GPIO. Le réglage de drive (8 mA maximum sur Pi 4, 12 mA sur Pi 5) fixe le courant jusqu’auquel les niveaux restent garantis, pas une limite. Au-delà d’une LED, passez par un transistor ou un circuit de commande.
Quelles broches utiliser pour l’I2C ?
Les broches 3 (GPIO2, SDA1) et 5 (GPIO3, SCL1), qui ont déjà des pull-ups de 1,8 kΩ sur la carte. Les broches 27 et 28 portent aussi un bus I2C, mais il est réservé à l’EEPROM d’identification des HAT : n’y branchez rien d’autre.
Peut-on alimenter un Raspberry Pi par les broches 5 V du GPIO ?
Oui, c’est ce que font les HAT PoE et les cartes d’alimentation. Ce chemin contourne la protection d’entrée de la carte : la source doit être régulée, ne fournir que du courant, tenir au moins 3 A sous 5,1 V selon la spécification HAT+, et rester sûre si l’USB-C est branché en même temps.
Le brochage GPIO du Raspberry Pi 5 est-il différent ?
Non pour les broches et les bus principaux : mêmes numéros BCM, I2C1, SPI0, SPI1, UART0 et PWM aux mêmes endroits. Les E/S passent par le contrôleur RP1, avec d’autres réglages de drive et de pull, l’audio en I2S, et la console série déplacée sur un connecteur dédié.
Sources

Tableaux établis à partir de ces documents et recoupés avec les fiches techniques des fabricants. Vérifiez toujours la fiche technique du connecteur que vous utilisez : certains fabricants numérotent différemment.

Pour aller plus loin

Autres brochages