Pi 4B + Pico 2 W — logic analyzer wiring
Raspberry Pi 4B + Pico 2 W logic-analyzer bring-up. Generated from
generate.py — the schematic, this page and the wiring table all come
from one source, so they cannot disagree. Rev 2026-09-12.
Zoom +
Zoom −
Fit
100%
drag to pan · Ctrl + scroll to zoom · double-click to fit
SVG Image created as pi-pico-wiring.svg date 2026-09-12T14:00:40
Image generated by Eeschema-SVG
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
A
A
B
B
C
C
D
D
E
E
F
F
A
A
B
B
C
C
D
D
E
E
F
F
Date: 2026-09-12
Date: 2026-09-12
KiCad E.D.A. 10.0.5
KiCad E.D.A. 10.0.5
Rev: 1
Rev: 1
Size: A3
Size: A3
Id: 1/1
Id: 1/1
Title: Raspberry Pi 4B + Pico 2 W wiring
Title: Raspberry Pi 4B + Pico 2 W wiring
File: pi-pico-wiring.kicad_sch
File: pi-pico-wiring.kicad_sch
Sheet: /
Sheet: /
Template: delete X, then wire or label. Shared GND is already connected.
Template: delete X, then wire or label. Shared GND is already connected.
Pico GPIO is 3.3 V only. Do not tie the two 3V3 regulators together.
Pico GPIO is 3.3 V only. Do not tie the two 3V3 regulators together.
+3.3V
+3.3V
+3.3V
+3.3V
GND
GND
+5V
+5V
3V3
3V3
1
1
5V
5V
2
2
GPIO2_SDA1
GPIO2_SDA1
3
3
5V
5V
4
4
GPIO3_SCL1
GPIO3_SCL1
5
5
GND
GND
6
6
GPIO4
GPIO4
7
7
GPIO14_TXD
GPIO14_TXD
8
8
GND
GND
9
9
GPIO15_RXD
GPIO15_RXD
10
10
GPIO17
GPIO17
11
11
GPIO18_PWM0
GPIO18_PWM0
12
12
GPIO27
GPIO27
13
13
GND
GND
14
14
GPIO22
GPIO22
15
15
GPIO23
GPIO23
16
16
3V3
3V3
17
17
GPIO24
GPIO24
18
18
GPIO10_MOSI
GPIO10_MOSI
19
19
GND
GND
20
20
GPIO9_MISO
GPIO9_MISO
21
21
GPIO25
GPIO25
22
22
GPIO11_SCLK
GPIO11_SCLK
23
23
GPIO8_CE0
GPIO8_CE0
24
24
GND
GND
25
25
GPIO7_CE1
GPIO7_CE1
26
26
ID_SD
ID_SD
27
27
ID_SC
ID_SC
28
28
GPIO5
GPIO5
29
29
GND
GND
30
30
GPIO6
GPIO6
31
31
GPIO12_PWM0
GPIO12_PWM0
32
32
GPIO13_PWM1
GPIO13_PWM1
33
33
GND
GND
34
34
GPIO19_MISO
GPIO19_MISO
35
35
GPIO16
GPIO16
36
36
GPIO26
GPIO26
37
37
GPIO20_MOSI
GPIO20_MOSI
38
38
GND
GND
39
39
GPIO21_SCLK
GPIO21_SCLK
40
40
Pi 4B GPIO
Pi 4B GPIO
3V3
3V3
1
1
5V
5V
2
2
GPIO2_SDA1
GPIO2_SDA1
3
3
5V
5V
4
4
GPIO3_SCL1
GPIO3_SCL1
5
5
GND
GND
6
6
GPIO4
GPIO4
7
7
GPIO14_TXD
GPIO14_TXD
8
8
GND
GND
9
9
GPIO15_RXD
GPIO15_RXD
10
10
GPIO17
GPIO17
11
11
GPIO18_PWM0
GPIO18_PWM0
12
12
GPIO27
GPIO27
13
13
GND
GND
14
14
GPIO22
GPIO22
15
15
GPIO23
GPIO23
16
16
3V3
3V3
17
17
GPIO24
GPIO24
18
18
GPIO10_MOSI
GPIO10_MOSI
19
19
GND
GND
20
20
GPIO9_MISO
GPIO9_MISO
21
21
GPIO25
GPIO25
22
22
GPIO11_SCLK
GPIO11_SCLK
23
23
GPIO8_CE0
GPIO8_CE0
24
24
GND
GND
25
25
GPIO7_CE1
GPIO7_CE1
26
26
ID_SD
ID_SD
27
27
ID_SC
ID_SC
28
28
GPIO5
GPIO5
29
29
GND
GND
30
30
GPIO6
GPIO6
31
31
GPIO12_PWM0
GPIO12_PWM0
32
32
GPIO13_PWM1
GPIO13_PWM1
33
33
GND
GND
34
34
GPIO19_MISO
GPIO19_MISO
35
35
GPIO16
GPIO16
36
36
GPIO26
GPIO26
37
37
GPIO20_MOSI
GPIO20_MOSI
38
38
GND
GND
39
39
GPIO21_SCLK
GPIO21_SCLK
40
40
A1
A1
Raspberry Pi 4B
Raspberry Pi 4B
GP0
GP0
1
1
GP1
GP1
2
2
GND
GND
3
3
GP2
GP2
4
4
GP3
GP3
5
5
GP4
GP4
6
6
GP5
GP5
7
7
GND
GND
8
8
GP6
GP6
9
9
GP7
GP7
10
10
GP8
GP8
11
11
GP9
GP9
12
12
GND
GND
13
13
GP10
GP10
14
14
GP11
GP11
15
15
GP12
GP12
16
16
GP13
GP13
17
17
GND
GND
18
18
GP14
GP14
19
19
GP15
GP15
20
20
GP16
GP16
21
21
GP17
GP17
22
22
GND
GND
23
23
GP18
GP18
24
24
GP19
GP19
25
25
GP20
GP20
26
26
GP21
GP21
27
27
GND
GND
28
28
GP22
GP22
29
29
RUN
RUN
30
30
GP26_ADC0
GP26_ADC0
31
31
GP27_ADC1
GP27_ADC1
32
32
GND
GND
33
33
GP28_ADC2
GP28_ADC2
34
34
ADC_VREF
ADC_VREF
35
35
3V3_OUT
3V3_OUT
36
36
3V3_EN
3V3_EN
37
37
GND
GND
38
38
VSYS
VSYS
39
39
VBUS
VBUS
40
40
Pico 2 W
Pico 2 W
GND
GND
VDD
VDD
1
1
SDA
SDA
2
2
GND
GND
3
3
U1
U1
DHT22
DHT22
GP0
GP0
1
1
GP1
GP1
2
2
GND
GND
3
3
GP2
GP2
4
4
GP3
GP3
5
5
GP4
GP4
6
6
GP5
GP5
7
7
GND
GND
8
8
GP6
GP6
9
9
GP7
GP7
10
10
GP8
GP8
11
11
GP9
GP9
12
12
GND
GND
13
13
GP10
GP10
14
14
GP11
GP11
15
15
GP12
GP12
16
16
GP13
GP13
17
17
GND
GND
18
18
GP14
GP14
19
19
GP15
GP15
20
20
GP16
GP16
21
21
GP17
GP17
22
22
GND
GND
23
23
GP18
GP18
24
24
GP19
GP19
25
25
GP20
GP20
26
26
GP21
GP21
27
27
GND
GND
28
28
GP22
GP22
29
29
RUN
RUN
30
30
GP26_ADC0
GP26_ADC0
31
31
GP27_ADC1
GP27_ADC1
32
32
GND
GND
33
33
GP28_ADC2
GP28_ADC2
34
34
ADC_VREF
ADC_VREF
35
35
3V3_OUT
3V3_OUT
36
36
3V3_EN
3V3_EN
37
37
GND
GND
38
38
VSYS
VSYS
39
39
VBUS
VBUS
40
40
A2
A2
Pico 2 W
Pico 2 W
GND
GND
GND
GND
DHT22_DATA
DHT22_DATA
DHT22_DATA
DHT22_DATA
I2C_SDA
I2C_SDA
I2C_SCL
I2C_SCL
I2C_SDA
I2C_SDA
I2C_SCL
I2C_SCL
DHT22_DATA
DHT22_DATA
RULES Pico GPIO is 3.3 V, not 5 V tolerant. Pin 3 on the Pico is GND, pin 4 is GP2.
RULES Pico GPIO is 3.3 V, not 5 V tolerant. Pin 3 on the Pico is GND, pin 4 is GP2.
GP23/24/25/29 are not on the Pico 2 W header (radio / LED / SMPS). Pi 27/28 are HAT ID — leave them.
GP23/24/25/29 are not on the Pico 2 W header (radio / LED / SMPS). Pi 27/28 are HAT ID — leave them.
CURRENT WIRING (generated from PI_LABELS / PICO_LABELS)
CURRENT WIRING (generated from PI_LABELS / PICO_LABELS)
DHT22 VDD -> Pi pin 1 (3V3) (power - pins 1/2/4/17 are the ONLY power pins)
DHT22 VDD -> Pi pin 1 (3V3) (power - pins 1/2/4/17 are the ONLY power pins)
DHT22 GND -> Pi pin 9 (GND) (ground)
DHT22 GND -> Pi pin 9 (GND) (ground)
DHT22 DATA -> Pi pin 7 + Pico pin 4 (1-wire sensor, analyzer ch0)
DHT22 DATA -> Pi pin 7 + Pico pin 4 (1-wire sensor, analyzer ch0)
Pi pin 3 SDA1 -> Pico pin 5 (I2C data, analyzer ch1 - probe only)
Pi pin 3 SDA1 -> Pico pin 5 (I2C data, analyzer ch1 - probe only)
Pi pin 5 SCL1 -> Pico pin 6 (I2C clock, analyzer ch2 - probe only)
Pi pin 5 SCL1 -> Pico pin 6 (I2C clock, analyzer ch2 - probe only)
Pi pin 6 GND -> Pico pin 38 GND (shared ground - without it everything reads low)
Pi pin 6 GND -> Pico pin 38 GND (shared ground - without it everything reads low)
HOW TO FILL THIS IN
HOW TO FILL THIS IN
1. Delete the X on each pin you will use.
1. Delete the X on each pin you will use.
2. Press L and put the SAME net label on both ends — or press W and draw a wire.
2. Press L and put the SAME net label on both ends — or press W and draw a wire.
3. Press A to add a part (AM2302 = DHT22, R = resistor). Drop it in the corridor.
3. Press A to add a part (AM2302 = DHT22, R = resistor). Drop it in the corridor.
4. Shared GND is already in. Do not tie Pi 3V3 to Pico 3V3_OUT.
4. Shared GND is already in. Do not tie Pi 3V3 to Pico 3V3_OUT.
COMMON BUSES (put these labels on both ends)
COMMON BUSES (put these labels on both ends)
UART Pi GPIO14_TXD (pin 8) -> Pico GP1 (pin 2) TX to RX
UART Pi GPIO14_TXD (pin 8) -> Pico GP1 (pin 2) TX to RX
Pi GPIO15_RXD (pin 10) -> Pico GP0 (pin 1) RX to TX
Pi GPIO15_RXD (pin 10) -> Pico GP0 (pin 1) RX to TX
I2C Pi GPIO2_SDA1 (pin 3) -> Pico GP4 (pin 6)
I2C Pi GPIO2_SDA1 (pin 3) -> Pico GP4 (pin 6)
Pi GPIO3_SCL1 (pin 5) -> Pico GP5 (pin 7)
Pi GPIO3_SCL1 (pin 5) -> Pico GP5 (pin 7)
Pi already has 1.8 k pull-ups on pins 3/5.
Pi already has 1.8 k pull-ups on pins 3/5.
SPI Pi MOSI 19 -> Pico GP3 pin 5 Pi MISO 21 -> Pico GP4 pin 6
SPI Pi MOSI 19 -> Pico GP3 pin 5 Pi MISO 21 -> Pico GP4 pin 6
Pi SCLK 23 -> Pico GP2 pin 4 Pi CE0 24 -> Pico GP5 pin 7
Pi SCLK 23 -> Pico GP2 pin 4 Pi CE0 24 -> Pico GP5 pin 7
LOGIC ANALYZER tap the Pi pin AND a Pico GP
LOGIC ANALYZER tap the Pi pin AND a Pico GP
channel N = GP(N+2) so ch0 is Pico pin 4 / GP2.
channel N = GP(N+2) so ch0 is Pico pin 4 / GP2.
DRAW WIRES / DROP NET LABELS IN THIS CORRIDOR
DRAW WIRES / DROP NET LABELS IN THIS CORRIDOR
DHT22 / AM2302 - the analyzer taps DATA in parallel
DHT22 / AM2302 - the analyzer taps DATA in parallel
Pico 2 W: USB at top. Pin 1 = GP0. Pin 3 = GND (trap). Pin 4 = GP2.
Pico 2 W: USB at top. Pin 1 = GP0. Pin 3 = GND (trap). Pin 4 = GP2.
Pi 4B: pin 1 (3V3) nearest the SD card. USB / Ethernet toward pin 40.
Pi 4B: pin 1 (3V3) nearest the SD card. USB / Ethernet toward pin 40.
Physical pinout — count these on the board
Physical pinout — count these on the board
GND
GND
U1
U1
DHT22
DHT22
VDD
VDD
1
1
SDA
SDA
2
2
GND
GND
3
3
The wiring
From To Why
DHT22 VDD Pi pin 1 (3V3) power - pins 1/2/4/17 are the ONLY power pins DHT22 GND Pi pin 9 (GND) ground DHT22 DATA Pi pin 7 + Pico pin 4 1-wire sensor, analyzer ch0 Pi pin 3 SDA1 Pico pin 5 I2C data, analyzer ch1 - probe only Pi pin 5 SCL1 Pico pin 6 I2C clock, analyzer ch2 - probe only Pi pin 6 GND Pico pin 38 GND shared ground - without it everything reads low
The analyzer only listens. It taps each signal
in parallel and never drives it. The Pi supplies power and initiates every
transaction; the Pico 2 W just watches and records.
Two traps this schematic exists to prevent.
On the Pi, only pins 1, 2, 4 and 17 are power — pin 3 is
SDA1, a GPIO, and powering a sensor from it fails silently because
in I2C mode the pin is open-drain and cannot source current. On the Pico,
pin 3 is ground and pin 4 is ch0 ; they are adjacent, and landing
a probe one hole off reads exactly like a dead wire.
Shared ground is not optional. Voltage is
relative. Without the Pi pin 6 → Pico pin 38 link the two boards have no agreed
zero, and every channel reads flat low — indistinguishable from a broken
connection.