Table of Contents
WIOpico 16 I/O
WIO Overview → WIOesp & WIOpico
- WIO Overview | WIO Setup | WIO Control | User Bitmaps | WIO Firmware | WIO Mobile | Cable | LEDScript | IOScript | WIOpi
Introduction
The Pico-W is pin compatible with the Pico. But features also a WiFi connection module.
GCA Extension Units
Not all GCA Extension Units are 3V3 compatible; Check the documentation.
If 5V I/O is needed: Check the WIO-01 and WIO-02 or a Level Shifter like the GCA-OK1.
Notes
Type
The IO16 and Control type are the only one available for the Pico W and Pico 2W.
All other functionality is on the fly or per Preload or Extra.

RP2040 Specific Board and Libraries
This is the same for both Pico W and Pico 2W.
Boards manager URL
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
Libraries
Compiling WIO for target Pico W and Pico 2W, needs a few extra Arduino libraries:
- RP2040_PWM
- RPI_PICO_TimerInterrupt
- LittleFS_Mbed_RP2040
SparkFun APDS9960 Library
Line 198 in the Arduino/libraries/SparkFun_APDS9960.h must be changed from NA_STATE into NO_STATE because it conflicts with the WiFi RP2040 library.
This Enum value ist not used in the Arduino/libraries/SparkFun_APDS9960.cpp. (implementation)
Install
- Keep the Pico button pressed at connecting to USB. (Important: The USB cable has to be a data cable, a charging-only cable doesn't work)
- The Pico will behave like a removable drive.
- Copy the following file on this drive:
- Pico W WIO.ino.uf2
- Pico 2W WIO.ino.uf2
- Ready.
Setup
The easiest way is to use the Maintenance Tab in the WIO Dialog.
OTA update
Pins
I2C
| I2C | Pin | Remark |
|---|---|---|
| SDA | GP4 | 10k pull-up |
| SCL | GP5 | 10k pull-up |
Serial
| UART0 | Pin |
|---|---|
| TX | GP0 |
| RX | GP1 |
NeoPixel
| NeoPixel | Pin | |
|---|---|---|
| Data | GP2 | Disabled in case of Charlyplexing. |
Battery
| Battery | Pin | Remark |
|---|---|---|
| Voltage | GP28 | Disabled in case of stepper. Resistors: (+)–[100k]–(aIN)–[33k]–(-) |
Servo
| Servo | Pin | Remark |
|---|---|---|
| 1 | GP6 | 270Ω protection resistor between GP and servo. |
| 2 | GP7 | idem |
| 3 | GP8 | idem |
| 4 | GP9 | idem |
With the option I/O1 Servos activated see: Bank 1.
Stepper
| Pin | 4-wire | 3-wire | Remark |
|---|---|---|---|
| GP10 | IN1 | CLK+ | step, define as output |
| GP11 | IN2 | DIR+ | define as output |
| GP12 | IN3 | ENABLE+ | define as output |
| GP13 | IN4 | - | define as output |
| GP28 | CAL | CAL | Hall/Reed calibrate sensor (Battery check will be disabled.) |
Mobile
| Pin | Mobile | Remark |
|---|---|---|
| GP10 | ENA | H-Bridge enable (ENA) |
| GP11 | IN1 | H-Bridge input 1 (IN1) |
| GP12 | IN2 | H-Bridge input 2 (IN2) |
| GP13 | Lights |
Control
| Pin | Throttle | Remark |
|---|---|---|
| GP10 | ROT1 | Rotary connection 1 |
| GP11 | ROT2 | Rotary connection 2 |
| GP12 | ROTSW | Rotary switch |
| GP13 | F0 | Function button 0 |
| GP14 | F1 | Function button 1 |
| GP15 | F2 | Function button 2 |
| GP16 | F3 | Function button 3 |
| GP17 | F4 | Function button 4 |
| GP18 | SHIFT | Function shift |






