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 AT and 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

Reviews

There are no reviews yet.


Only logged in customers who have purchased this product may leave a review.