STEP 1 / 6ESP + IOT

Raspberry Pi Pico Web Server with ESP8266 & MicroPython

We know that the best and cheapest module on the market is ESP-01. In this tutorial, we'll do what the title says and connect a separate Wi-Fi module to the Raspberry Pi Pico. We will lea…

Raspberry Pi Pico Web Server with ESP8266 & MicroPython - source illustration from page 1120
PROJECT#444
TRACKIoT
PARTS04
STAGES06
STEP 1 / 6 · Overview

Know the mission before touching a wire.

Understand what you are making, prepare the right tools, and make the workbench safe.

01

Project details

Raspberry Pi Pico Web Server with ESP8266 & MicroPython is a iot project. We know that the best and cheapest module on the market is ESP-01. In this tutorial, we'll do what the title says and connect a separate Wi-Fi module to the Raspberry Pi Pico. We will lea…

Source pages
1119-1122
Named parts
4
Build goal
Working, tested prototype
02

Tools you need

  • Digital multimeter
  • Wire stripper and side cutters
  • Soldering iron with a fine tip
  • Current-limited bench supply
  • Computer with a data-capable USB cable

Use eye protection, good lighting, and a clean insulated surface throughout the build.

03

Safety precautions

  • Disconnect every power source before changing a connection.
  • Check component polarity, pinout, and supply voltage twice.
  • Use a current limit for the first power-up.
  • Keep liquids, loose metal, and uninsulated wires away from the bench.
Ready to continue?
STEP 2 / 6 · Parts library

Gather, identify, and understand every part.

Use the standardized inventory, then open What's this? to learn each part's role, advantages, limitations, handling, and specifications.

NAMED PROJECT INVENTORY4 PART LINES
PARTTYPEQTYREADY
MESP8266MODULE1
What's this?Image, role, pros, cons, handling & specifications
Raspberry Pi Pico Web Server with ESP8266 & MicroPython - source illustration from page 1120MODULE LEARNING VIEW

ESP8266

A programmable controller that reads inputs, makes decisions, and drives the project's outputs.

What it does here

It is the control centre and must use the documented board, pin map, supply, and logic level.

Buy / compare this part

Advantages

  • Reprogrammable and reusable
  • Large learning ecosystem
  • Complex behaviour remains changeable

Limitations

  • GPIO voltage and current are limited
  • Some pins affect boot or communication
  • Loads normally need a driver

Handling

  • Disconnect power before rewiring
  • Avoid static discharge
  • Never power motors, relays, or pumps directly from GPIO

Specifications to verify

  • Use the exact model, value, package, and rating listed for ESP8266; similar-looking parts are not always interchangeable.
  • Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
MRaspberry PiMODULE1
What's this?Image, role, pros, cons, handling & specifications
Raspberry Pi Pico Web Server with ESP8266 & MicroPython - source illustration from page 1120MODULE LEARNING VIEW

Raspberry Pi

A programmable controller that reads inputs, makes decisions, and drives the project's outputs.

What it does here

It is the control centre and must use the documented board, pin map, supply, and logic level.

Buy / compare this part

Advantages

  • Reprogrammable and reusable
  • Large learning ecosystem
  • Complex behaviour remains changeable

Limitations

  • GPIO voltage and current are limited
  • Some pins affect boot or communication
  • Loads normally need a driver

Handling

  • Disconnect power before rewiring
  • Avoid static discharge
  • Never power motors, relays, or pumps directly from GPIO

Specifications to verify

  • Use the exact model, value, package, and rating listed for Raspberry Pi; similar-looking parts are not always interchangeable.
  • Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
PWi-Fi modulePART1
What's this?Image, role, pros, cons, handling & specifications
Raspberry Pi Pico Web Server with ESP8266 & MicroPython - source illustration from page 1120PART LEARNING VIEW

Wi-Fi module

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for Wi-Fi module; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
MESP8266-01 - controller board / ICMODULE1
What's this?Image, role, pros, cons, handling & specifications
Raspberry Pi Pico Web Server with ESP8266 & MicroPython - source illustration from page 1120MODULE LEARNING VIEW

ESP8266-01 - controller board / IC

A programmable controller that reads inputs, makes decisions, and drives the project's outputs.

What it does here

It is the control centre and must use the documented board, pin map, supply, and logic level.

Buy / compare this part

Advantages

  • Reprogrammable and reusable
  • Large learning ecosystem
  • Complex behaviour remains changeable

Limitations

  • GPIO voltage and current are limited
  • Some pins affect boot or communication
  • Loads normally need a driver

Handling

  • Disconnect power before rewiring
  • Avoid static discharge
  • Never power motors, relays, or pumps directly from GPIO

Specifications to verify

  • Use the exact model, value, package, and rating listed for ESP8266-01 - controller board / IC; similar-looking parts are not always interchangeable.
  • Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
Ready to continue?
STEP 4 / 6 · Source code

Confirm the hardware-only control path.

This project does not include firmware in the source. The circuit itself provides the required behaviour.

01

How to connect

  1. Match every controller label to the circuit view and source pin map.
  2. Join grounds before signal wires when separate low-voltage supplies are used.
  3. Keep motors, relays, pumps, and other loads on a suitable driver and external supply.

Common mistakes

Reversed VCC/GND, board-label versus GPIO-number confusion, missing common ground, and charge-only USB cables.

Troubleshoot

Disconnect loads, continuity-test one path at a time, then test with a current limit.

02

Software preparation

No IDE, board package, library, or firmware upload is required for this project.

If you add a programmable controller as an extension, document its pin map separately.

03

How to upload code

The original design is implemented entirely in hardware, so proceed after verifying the circuit and supply.

Ready to continue?
STEP 5 / 6 · Build

Assemble, deploy, test, and troubleshoot.

Use the complete source notes in build order, then pass the final checks before calling the project finished.

ASSEMBLY

Build in functional stages

  • Power and regulation
  • Controller or processing stage
  • Inputs and sensors
  • Outputs and loads
  • Enclosure and strain relief
TEST

Power up safely

  • Inspect unpowered continuity first
  • Apply the lowest safe current limit
  • Measure supply rails before signals
  • Add one load at a time
  • Record expected and actual results
TROUBLESHOOT

Work from simple to complex

  • Confirm power, ground, polarity, and orientation
  • Compare each pin with the source
  • Test inputs separately from outputs
  • Replace only one variable at a time
  • Power off before every correction
PROJECT-SPECIFIC BUILD NOTES

Follow the documented instructions.

These notes come from this project's source and remain in their original order.

01

Project overview

Project build note

We know that the best and cheapest module on the market is ESP-01. In this tutorial, we'll do what the title says and connect a separate Wi-Fi module to the Raspberry Pi Pico. We will learn how to use Micropython and the ESP8266 library to connect and program the ESP01 module with the Raspberry Pi Pico. The ESP8266-01 module comes with default firmware that we can access through UART by sending the AT command sets. With the help of Micropython ESP8266, it's easy to connect ESP8266 to Raspberry Pi Pico and finish the HTTP get/post operation. The Pico-ESP8266 is a WiFi expansion module for the Raspberry Pi Pico. It can be controlled by the UART AT command and supports the TCP/UDP communication protocol. It's a simple way to turn on WiFi on Raspberry Pi Pico, which can be used for all kinds of IoT communication project Components Requires Raspberry pi Pico ESP8266-01 Module

Bread Board Jumper wire 1k or 10k resistor (optional connect between 3.3v and ESP8266 EN pin) For the raspberry pi pico and esp8266-01 module, you can look at the diagram below. With the red wires, the VCC pin on the ESP-01 module is connected to the 3.3V pin on the Pico board, which is Pin 36. The "CH EN" Channel Enable pin on the ESP-01 Module gets its 3.3V from the "Brown" wire. In the diagram below, the Yellow Wire is used to connect the transmitter pin of the ESP-01 module to the receiver pin of the UART0 Channel, which is Pin 2 of the Pico board. The orange wire connects the Receiver pin of the ESP-01 module to the Transmitter pin of the UART0 channel, which is pin number 1 on the Pico board. All of the ground connections on the board are made with the black wires. Circuit Diagram & Connections

Now, let's look at how to connect the ESP8266 WiFi Module to the RP2040 Raspberry Pi Pico Board. Here is a simple diagram of how things connect. There are two UART built into the Raspberry Pi Pico. We will use UART-0 in this plan. In the same way, the ESP8266's baud rate is set to 115200 by default. To keep the Raspberry Pi Pico in sync with the ESP8266, we need to set up the baud rate to be the same. Connect the ESP8266's VCC and EN pins to the Pico's 3.3V pin and GND to GND. In the same way, connect the Tx and Rx pins of the ESP8266 to the Rx and Tx pins of the Pico UART-O.

Ready to continue?
PROJECT ACHIEVED

You built Raspberry Pi Pico Web Server with ESP8266 & MicroPython.

You followed the full workflow from understanding the mission to testing the finished project. That is a real engineering achievement - well done.

IoT based Smart Agriculture Monitoring System project thumbnail featuring Hardware, NodeMCU ESP8266, Soil Moisture Sensor
NEXT IOT ADVENTURE

IoT based Smart Agriculture Monitoring System

Ready to reuse what you learned in another project from the same track?

Start this project
Browse all 500 projects