





















Raspberry Pi RP2040 Wi-Fi Development Board ESP8285 Pico W Compatible IoT
$19.80 Inc. GST
You save (%)
- Description
- Code Examples
- Additional information
- Reviews (0)
Description
⚙️ Raspberry Pi RP2040 Wi-Fi Development Board (ESP8285) – Pico W Compatible IoT Controller
Overview
Build smarter and faster with the RP2040 Wi-Fi Development Board, a Pico W-compatible module combining the Raspberry Pi RP2040 dual-core Cortex-M0+ processor with an integrated ESP8285 2.4 GHz Wi-Fi chip.
It retains the same compact footprint and GPIO pinout as the Raspberry Pi Pico W while adding affordable wireless connectivity — ideal for IoT, robotics, automation, and STEM education.
This board delivers the full power of the RP2040 platform with seamless support for Arduino IDE, MicroPython, and CircuitPython.
✅ Key Features
-
💻 Processor: Dual-core ARM Cortex-M0+ @ 133 MHz
-
⚡ Memory: 264 KB SRAM + 2 MB QSPI Flash
-
🌐 Wireless: Integrated ESP8285 Wi-Fi (2.4 GHz 802.11 b/g/n)
-
🧩 GPIO: 26 multi-function pins with castellated edges
-
🎛️ Analog & PWM: 3 × ADC (12-bit), 16 × PWM channels
-
🔄 Interfaces: 2 × UART, 2 × SPI, 2 × I²C
-
🔌 USB-C Port: USB 1.1 host/device with drag-and-drop programming
-
⚙️ PIO (Programmable I/O): 8 state machines for custom protocols
-
💡 On-Board Components: LED (GPIO25), Reset button, BOOTSEL button
-
🔋 Power Input: 1.8 – 5.5 V via USB-C or VSYS pin
-
📏 Form Factor: Compact 51 × 21 mm module (~3 g)
📊 Specifications
| Parameter | Description |
|---|---|
| MCU | Raspberry Pi RP2040 Dual-Core ARM Cortex-M0+ |
| Clock Speed | Up to 133 MHz |
| Memory | 264 KB SRAM, 2 MB Flash |
| Wireless | ESP8285 Wi-Fi (AT command interface) |
| GPIO Pins | 26 multi-function I/O |
| ADC | 3 × 12-bit analog inputs |
| PWM Channels | 16 |
| Interfaces | 2 × UART, 2 × SPI, 2 × I²C |
| USB | USB 1.1 host / device |
| Supply Voltage | 1.8 V – 5.5 V (USB-C or VSYS) |
| Dimensions | 51 × 21 mm |
| Weight | ~ 3 g |
💻 Software & Programming Support
-
Arduino IDE: Fully supported via Arduino RP2040 core + WiFiEspAT library
-
MicroPython / CircuitPython: Compatible with Pico firmware and ESP8285 AT commands
-
C/C++ SDK: Official Raspberry Pi Pico SDK support
-
IDE Options: Arduino, Thonny, VS Code + PlatformIO, and Raspberry Pi Pico Toolchain
🌍 Popular Applications
-
IoT sensors and wireless nodes
-
Robotics and motor controllers
-
Home automation and smart devices
-
Data logging and telemetry
-
STEM education and workshops
-
Embedded control systems and prototyping
📦 Package Includes
-
1 × RP2040 Wi-Fi Development Board with ESP8285 Module (USB-C)
⚠️ Notes
-
Compatible with Raspberry Pi Pico W pinout and firmware.
-
Wi-Fi handled via ESP8285 module instead of CYW43 chip on official Pico W.
-
Functionality and performance are comparable for most IoT applications.
📌 Code Examples – Raspberry Pi Pico W (RP2040 + ESP8285 Wi-Fi)
❗ Important Wi-Fi Note
This board includes:
➡️ RP2040 MCU (main microcontroller)
➡️ ESP8285 Wi-Fi chip (provides Wi-Fi connectivity via AT commands)
It does not use the official Raspberry Pi Pico W wireless chipset.
Instead, the ESP8285 runs standard AT firmware, and your code communicates with it over UART.
🔌 Wiring — UART to ESP8285
| Board Pin | Connects To |
|---|---|
| ESP UART RX | Pico TX (e.g., GPIO 0) |
| ESP UART TX | Pico RX (e.g., GPIO 1) |
| GND | GND |
| 5V / 3.3V | Power (check board wiring) |
The ESP8285 UART listens for AT commands, so your Pico code will send text like
ATand read responses.
📌 MicroPython Examples (RP2040)
📍 MicroPython — Simple UART Setup
from machine import UART, Pin
import time
# UART0: GPIO0=TX, GPIO1=RX
uart = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1))
def send_at(cmd, delay=1):
uart.write(cmd + "\r\n")
time.sleep(delay)
return uart.read()
print("Testing AT")
print(send_at("AT"))
🌐 MicroPython — Connect to Wi-Fi
Replace with your credentials:
ssid = "YOUR_SSID"
password = "YOUR_PASSWORD"
print(send_at("AT+RST", 2)) # Reset ESP8285
print(send_at("AT+CWMODE=1")) # Set STA mode
print(send_at(f'AT+CWJAP="{ssid}","{password}"', 5))
response = send_at("AT+CIFSR")
print("IP Address:", response)
🕸 MicroPython — Simple HTTP GET
def http_get(host, path):
print(send_at(f'AT+CIPSTART="TCP","{host}",80', 2))
request = f"GET {path} HTTP/1.1\r\nHost: {host}\r\nConnection: close\r\n\r\n"
print(send_at(f"AT+CIPSEND={len(request)}"))
print(send_at(request, 5))
print(send_at("AT+CIPCLOSE"))
http_get("example.com", "/")
📌 Arduino (C/C++) Examples
For Arduino-style coding on the RP2040, you can use Serial1 for UART.
🔹 Arduino — UART Setup
#define WIFI_SERIAL Serial1
void setup() {
Serial.begin(115200);
WIFI_SERIAL.begin(115200); // Connects to ESP8285
delay(2000);
WIFI_SERIAL.println("AT");
}
void loop() {
if (WIFI_SERIAL.available()) {
Serial.write(WIFI_SERIAL.read());
}
if (Serial.available()) {
WIFI_SERIAL.write(Serial.read());
}
}
Open Serial Monitor and you should see the ESP8285 responding to AT.
📡 Arduino — Connect to Wi-Fi
void connectWiFi(const char* ssid, const char* password) {
WIFI_SERIAL.println("AT+RST");
delay(2000);
WIFI_SERIAL.println("AT+CWMODE=1");
delay(1000);
WIFI_SERIAL.print("AT+CWJAP=\"");
WIFI_SERIAL.print(ssid);
WIFI_SERIAL.print("\",\"");
WIFI_SERIAL.println(password);
delay(5000);
}
void setup() {
Serial.begin(115200);
WIFI_SERIAL.begin(115200);
connectWiFi("YOUR_SSID", "YOUR_PASSWORD");
}
void loop() {
if (WIFI_SERIAL.available()) {
Serial.write(WIFI_SERIAL.read());
}
}
After running this, you should see the ESP8285 connect and return an IP address.
🌐 Arduino — Simple HTTP GET
void httpGet(const char* host, const char* path) {
WIFI_SERIAL.print("AT+CIPSTART=\"TCP\",\"");
WIFI_SERIAL.print(host);
WIFI_SERIAL.println("\",80");
delay(2000);
String req = "GET ";
req += path;
req += " HTTP/1.1\r\nHost: ";
req += host;
req += "\r\nConnection: close\r\n\r\n";
WIFI_SERIAL.print("AT+CIPSEND=");
WIFI_SERIAL.println(req.length());
delay(1000);
WIFI_SERIAL.print(req);
delay(5000);
WIFI_SERIAL.println("AT+CIPCLOSE");
}
🧠 Debugging & Tips
✔ Make sure the UART pins match your board’s TX/RX routing
✔ Use a common ground between RP2040 and ESP8285
✔ Commands are case-sensitive (AT, not at)
✔ You can test Wi-Fi commands with a USB serial adapter first
✔ Use delays to give the ESP8285 time to respond
🧾 Common Useful AT Commands
| Command | Description |
|---|---|
AT |
Test communication |
AT+RST |
Reset ESP8285 |
AT+CWMODE=1 |
Set Wi-Fi station mode |
AT+CWJAP="ssid","pass" |
Join Wi-Fi network |
AT+CIFSR |
Show local IP |
AT+CIPSTART |
Start TCP connection |
AT+CIPSEND |
Send data |
AT+CIPCLOSE |
Close connection |
Additional information
| Weight | 40 g |
|---|---|
| Dimensions | 260 × 160 × 20 mm |
Only logged in customers who have purchased this product may leave a review.

























Reviews
There are no reviews yet.