Raspberry Pico IO


© Dezember 2023, letzte Änderung am 19.12.23

--- still under construction ---

Übersicht

Verwendete Begriffe

Zum Anfang

Stromversorgung über USB beim Pico

An der Oberkante befindet sich eine Micro-B USB Buchse USB,
welche sowohl für USB 1.1 (12 Mbis/s Full-Speed) als auch
zur Versorgung verwendet wird.
Die Numerierung erfolgt von links nach rechts
von außen in die Buchse hinein geschaut.
Übliche USB Kabelfarben sind ebenso enthalten.
Links und rechts neben den USB-Anschluss sind zwei
Ø2,1 mm Löcher im Abstand von 11,4 mm.

Kabelfarbe Pin Bezeichnung
rot 1 5V
weiss 2 Data -
grün 3 Data +
- 4 ID (NC)
schwarz 5 Gnd

Zum Anfang

3 Pins zum debuggen

Die DEBUG-Schnittstelle SWD - ARM's Serial Wire Debug Interface
befindet sich am unteren Platinenrand und besteht nur aus 3 Pins.
Bei Draufsicht ist links Pin 1.

Bezeichnung Pin
SWCLK - serial clock 1
Gnd 2
SWDG - serial data 3

Zum Anfang

Die 40 Pins vom Raspberry Pico

Die Numerierung der 40 Pins am Platinenrand sind vergleichbar mit
einen DIL40-6 Sockel. Nur der Abstand ist nicht 600 mil,
sondern 700 mil = 17,78 mm.
Zur Orientierung ist Pin 1 mit einem eckigen Pad versehen
und befindet sich oben links (USB oben).
Wenn ein Interface nicht mehr vollständig ist, habe ich es ausgegraut.
SPI (Rx, CSn, Clk, Tx) , UART (Tx, Rx, HW-Handshake CTS, RTS)
u.U. nur Handshake ausgegraut
und I2C (SDA, SCL) sind jeweils 2x vorhanden.
8 unabhängige PWM können erzeugt werden.
A & B beziehen sich auf komplementäre nicht überschneidene Signale.

Pin GPIO F1 F2 F3 F4 F8
1 GP0 SPI 0 Rx UART 0 Tx I2C 0 SDA PWM 0 A
2 GP1 SPI 0 CSn UART 0 Rx I2C 0 SCL PWM 0 B
3 Gnd
4 GP2 SPI 0 SCK UART 0 CTS I2C 1 SDA PWM 1 A
5 GP3 SPI 0 Tx UART 0 RTS I2C 1 SCL PWM 1 B
6 GP4 SPI 0 Rx UART 1 Tx I2C 0 SDA PWM 2 A
7 GP5 SPI 0 CSn UART 1 Rx I2C 0 SCL PWM 2 B
8 Gnd
9 GP6 SPI 0 SCK UART 1 CTS I2C 1 SDA PWM 3 A
10 GP7 SPI 0 Tx UART 1 RTS I2C 1 SCL PWM 3 B
11 GP8 SPI 1 Rx UART 1 Tx I2C 0 SDA PWM 4 A
12 GP9 SPI 1 CSn UART 1 Rx I2C 0 SCL PWM 4 B
13 Gnd
14 GP10 SPI 1 SCK UART 1 CTS I2C 1 SDA PWM 5 A
15 GP11 SPI 1 Tx UART 1 RTS I2C 1 SCL PWM 5 B
16 GP12 SPI 1 Rx UART 0 Tx I2C 0 SDA PWM 6 A
17 GP13 SPI 1 CSn UART 0 Rx I2C 0 SCL PWM 6 B
18 Gnd
19 GP14 SPI 1 SCK UART 0 CTS I2C 1 SDA PWM 7 A
20 GP15 SPI 1 Tx UART 0 RTS I2C 1 SCL PWM 7 B
21 GP16 SPI 0 Rx UART 0 Tx I2C 0 SDA PWM 0 A
22 GP17 SPI 0 CSn UART 0 Rx I2C 0 SCL PWM 0 B
23 Gnd
24 GP18 SPI 0 SCK UART 0 CTS I2C 1 SDA PWM 1 A
25 GP19 SPI 0 Tx UART 0 RTS I2C 1 SCL PWM 1 B
26 GP20 SPI 0 Rx UART 1 Tx I2C 0 SDA PWM 2 A Clk In 0
27 GP21 SPI 0 CSn UART 1 Rx I2C 0 SCL PWM 2 B Clk out 0
28 Gnd
29 GP22 SPI 0 SCK UART 1 CTS I2C 1 SDA PWM 3 A Clk In 1
30 RUN RESETn
31 GP26 SPI 1 SCK UART 1 CTS I2C 1 SDA PWM 5 A ADC 0
32 GP27 SPI 1 Tx UART 1 RTS I2C 1 SCL PWM 5 B ADC 1
33 Gnd A Gnd
34 GP28 SPI 1 Rx UART 0 Tx I2C 0 SDA PWM 6 A ADC 2
35 - ADC VRef
36 3V3 out
37 3V3 EN offen → 3V3 vorhanden
38 Gnd
39 VSys
40 VBus
Pin GPIO SPI UART I2C PWM Clk & ADC
NC GP23 SPI 0 Tx UART 1 RTS I2C 1 SCL PWM 3 B Clk out 1
NC GP24 SPI 0 Rx UART 1 Tx I2C 0 SDA PWM 4 A Clk out 2
NC GP25 SPI 1 CSn UART 1 Rx I2C 0 SCL PWM 4 B Clk out 3
NC GP29 SPI 1 CSn UART 0 Rx I2C 0 SCL PWM 6 B ADC 3

Lediglich GP23 (high=keine PFM für die Versorgung, aber dadurch höherer Ruhestrom),
GD24,
GP25 (LED links neben USB-Anschluss) und
GP29 sind nicht rausgeführt.

Zum Anfang

Himbeer Pico Board mit 16 MB Flash

Statt den original Raspberry Pico, habe ich mir via AliExpress einen Himbeer Pi Pico gekauft.
Statt Micro-USB wird USB-C verwendet und leider ist die Pinbelegung auch anders.
Innen Original und Außen der Nachbau.

Clone Original Pin Pin Original Clone
GP0 GP0 1 40 VBus VBus
GP1 GP1 2 39 VSys VN
GP2 Gnd 3 38 Gnd Gnd
GP3 GP2 4 37 3V3 EN 3V3 EN
GP4 GP3 5 36 3V3 out 3V3 out
Gnd GP4 6 35 ADC VRef Gnd
GP5 GP5 7 34 GP28 RESETn
GP6 Gnd 8 33 Analog Gnd GP29 ADC 3
GP7 GP6 9 32 GP27 GP28 ADC 2
GP8 GP7 10 31 GP26 GP27 ADC 1
GP9 GP8 11 30 RESETn GP26 ADC 0
GP10 GP9 12 29 GP22 Analog Gnd
GP11 Gnd 13 28 Gnd GP25
GP12 GP10 14 27 GP21 GP24
Gnd GP11 15 26 GP20 GP23
GP13 GP12 16 25 GP19 GP22
GP14 GP13 17 24 GP18 GP21
GP15 Gnd 18 23 Gnd GP20
GP16 GP14 19 22 GP17 GP19
GP17 GP15 20 21 GP16 GP18
Clone Original Pin Pin Original Clone

Die Debug-Schnittstelle ist leider auch etwas anders.

Original Pin Clone
SWCLK - serial clock 1 3V3
Gnd 2 Gnd
SWDG - serial data 3 SWCLK
- 4 SQIO

Zum Anfang

Quellen

raspberrypi.com   Raspberry Pi Pico and Pico W

Zum Anfang