---
title: "Simple IoT LED Control with W55RP20-EVB-Pico"
url: "https://maker.wiznet.io/viktor/projects/simple-iot-led-control-with-w55rp20-evb-pico/"
markdown_url: "https://maker.wiznet.io/viktor/projects/simple-iot-led-control-with-w55rp20-evb-pico/md"
type: "UCC: User Created Content"
author: "Syamil Safuan"
author_url: "https://my.cytron.io/tutorial/raspberry-pi/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "Syamil Safuan"
original_url: "https://my.cytron.io/tutorial/raspberry-pi/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython"
published: "2025-05-07"
language: "en"
hardware: ["WIZnet W55RP20-EVB-Pico"]
likes: 0
views: 1915
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# Simple IoT LED Control with W55RP20-EVB-Pico

> Simple IoT LED Control with W55RP20-EVB-Pico

Original author: Syamil Safuan (source: https://my.cytron.io/tutorial/raspberry-pi/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython)

## Components

- **WIZnet W55RP20-EVB-Pico** x 1 ([docs](https://wiznet.io/products/powered-by-raspberry-pi/w55rp20-evb-pico))

## Article

### 🔧 Project Overview

This tutorial guides users through setting up the **W55RP20-EVB-Pico** development board to control three LEDs via TCP commands sent over a wired Ethernet network. It's an excellent starting point for those interested in exploring IoT concepts, especially using Ethernet-based communication.[Cytron Technologies Malaysia](https://my.cytron.io/tutorial/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython?utm_source=chatgpt.com)

---

### 🧩 Hardware Components

To build this project, you'll need:

**W55RP20-EVB-Pico** board

**3x LEDs3x 220Ω resistorsUSB Type-C cableEthernet cableJumper wiresBreadboard** (optional)[How2Electronics+14Cytron Technologies Malaysia+14Cytron Technologies+14](https://my.cytron.io/tutorial/wireless-iot?utm_source=chatgpt.com)[Adafruit Learning System+2The Pi Hut+2Electronic Clinic+2](https://thepihut.com/products/wiznet-w55rp20-evb-pico?utm_source=chatgpt.com)[Cytron Technologies+2Cytron Technologies Malaysia+2Cytron Technologies+2](https://my.cytron.io/tutorial/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython?utm_source=chatgpt.com)

The W55RP20-EVB-Pico integrates the RP2040 microcontroller with the W5500 Ethernet controller, providing built-in Ethernet support ideal for IoT applications. [Cytron Technologies Malaysia+2Cytron Technologies+2CNX Software - Embedded Systems News+2](https://www.cytron.io/p-v-w55rp20-evb-pico?utm_source=chatgpt.com)

---

### 🛠️ Firmware Installation

**Download CircuitPython Firmware**:

Visit the [CircuitPython downloads page](https://circuitpython.org/board/wiznet_w5500evb_pico/) and download the latest `.uf2` firmware file suitable for the W55RP20-EVB-Pico.[Tom's Hardware+16Cytron Technologies Malaysia+16EDU PICO Project & Innovation Kit+16](https://my.cytron.io/tutorial/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython?utm_source=chatgpt.com)

**Enter Bootloader Mode**:

Connect the board to your computer via USB.

Press and hold the **BOOTSEL** button, then press and release the **RUN** button.

The board will appear as a **RPI-RP2** drive on your computer.[Cytron Technologies+3Cytron Technologies Malaysia+3EDU PICO Project & Innovation Kit+3](https://my.cytron.io/tutorial/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython?utm_source=chatgpt.com)

**Flash Firmware**:

Drag and drop the downloaded `.uf2` file onto the **RPI-RP2** drive.

The board will reboot and appear as a **CIRCUITPY** drive, indicating that CircuitPython is running.[Cytron Technologies Malaysia+1Cytron Technologies+1](https://my.cytron.io/tutorial/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython?utm_source=chatgpt.com)

---

### 🖥️ TCP Server Implementation

With CircuitPython installed, the next step is to program the board to function as a TCP server:

**Set Up Ethernet Communication**:

Utilize CircuitPython's networking libraries to establish Ethernet connectivity.[How2Electronics+18Cytron Technologies Malaysia+18Cytron Technologies Malaysia+18](https://my.cytron.io/tutorial/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython?utm_source=chatgpt.com)

**Create TCP Server**:

Write a script that listens for incoming TCP connections on a specified port.

Parse received commands (e.g., `"LED1 ON"`, `"LED2 OFF"`) to control the corresponding GPIO pins connected to the LEDs.

Send acknowledgment responses back to the client confirming the action taken.[Cytron Technologies Malaysia+1CNX Software - Embedded Systems News+1](https://my.cytron.io/tutorial/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython?utm_source=chatgpt.com)

This setup allows remote clients, such as computers or smartphones, to control the LEDs by sending appropriate TCP commands over the network. [Cytron Technologies Malaysia](https://my.cytron.io/tutorial/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython?utm_source=chatgpt.com)

---

### 🌐 Practical Applications

This project serves as a foundational example for various IoT applications, including:

**Smart Home Lighting Systems**:

Control home lighting remotely over a network.

**Industrial Automation**:

Manage machinery indicators or status lights in an industrial setting.

**Educational Tools**:

Teach students about networking, microcontrollers, and IoT concepts through hands-on experience.[Cytron Technologies+4Cytron Technologies Malaysia+4Cytron Technologies Malaysia+4](https://my.cytron.io/tutorial/rp2040-pico?utm_source=chatgpt.com)

---

### 📚 Learn More

For detailed instructions, code examples, and further information, refer to the full tutorial on Cytron's website: [Simple IoT LED Control with W55RP20-EVB-Pico and CircuitPython](https://my.cytron.io/tutorial/raspberry-pi/simple-iot-led-control-with-w55rp20-evb-pico-and-circuitpython).

---

Source: https://maker.wiznet.io/viktor/projects/simple-iot-led-control-with-w55rp20-evb-pico/
