Drive Strength
Drive strength controls the output current. The default is 4mA, but you can set 2mA, 4mA, 8mA, or 12mA with the drive subcommand.
To measure output current, connect an ammeter (be careful!) and run:
L:/>gpio 1 func:sio dir:out pull:none drive:2mA put:1
L:/>gpio 1 func:sio dir:out pull:none drive:4mA put:1
L:/>gpio 1 func:sio dir:out pull:none drive:8mA put:1
L:/>gpio 1 func:sio dir:out pull:none drive:12mA put:1
To measure sink current:
L:/>gpio 1 func:sio dir:out pull:none drive:2mA put:0
L:/>gpio 1 func:sio dir:out pull:none drive:4mA put:0
L:/>gpio 1 func:sio dir:out pull:none drive:8mA put:0
L:/>gpio 1 func:sio dir:out pull:none drive:12mA put:0
Results for Pico and Pico 2:
Output current:
drive setting |
Pico | Pico 2 |
|---|---|---|
| 2mA | 20.2mA | 20.3mA |
| 4mA | 30.0mA | 30.0mA |
| 8mA | 48.0mA | 48.7mA |
| 12mA | 56.5mA | 57.1mA |
Sink current:
drive setting |
Pico | Pico 2 |
|---|---|---|
| 2mA | 25.6mA | 27.6mA |
| 4mA | 37.5mA | 40.6mA |
| 8mA | 61.2mA | 67.1mA |
| 12mA | 72.2mA | 79.0mA |
The set drive strength is only a rough guide; actual current depends on load and circuit characteristics. Higher settings allow more current, which may help with high-load devices.