---
title: "Bluepill + W5500 Ethernet Webserver using PlatformIO"
url: "https://maker.wiznet.io/ssekim/projects/bluepill-w5500-ethernet-webserver-using-platformio/"
markdown_url: "https://maker.wiznet.io/ssekim/projects/bluepill-w5500-ethernet-webserver-using-platformio/md"
type: "UCC: User Created Content"
author: "Maximilian Gerhardt"
author_url: "https://github.com/maxgerhardt/pio-bluepill-w5500-ethernet-webserver"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "Maximilian Gerhardt"
original_url: "https://github.com/maxgerhardt/pio-bluepill-w5500-ethernet-webserver"
license: "Apache License 2.0 (Apache-2.0)"
published: "2022-11-29"
language: "en"
tags: ["W5500"]
hardware: ["WIZnet W5500"]
likes: 3
views: 626
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# Bluepill + W5500 Ethernet Webserver using PlatformIO

> This project uses a "W5500 lite" board (also called DEVMO USR-ES1) connected to a standard BluePill board (STM32F103C8).

Original author: Maximilian Gerhardt (source: https://github.com/maxgerhardt/pio-bluepill-w5500-ethernet-webserver)

## Components

- **WIZnet W5500** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))

WIZnet parts: W5500 ([Datasheet](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/datasheet?utm_source=maker&utm_medium=project&utm_campaign=w5500), [product hub](https://maker.wiznet.io/products/w5500/))

## Article

## Description

The code is a slight extension of the original `WebServer.ino` (<https://github.com/arduino-libraries/Ethernet/blob/master/examples/WebServer/WebServer.ino>) sketch with the addition of reading out the supply voltage of the board.

No changes to the Ethernet library have bene made.

## Wireup

Refer module datasheet for details.

[![Pinout](https://github.com/maxgerhardt/pio-bluepill-w5500-ethernet-webserver/raw/master/pinout.png)](https://github.com/maxgerhardt/pio-bluepill-w5500-ethernet-webserver/blob/master/pinout.png)

- Power pins: All GNDs to Bluepill's GNDs, all VIN3.3 pins to Bluepill's 3.3V
  - since the module is power-hungry, extra decoupling capacitors on the 3.3V rail are recommended

- SPI: use default SPI1 (SCK = PA5, MISO = PA6, MOSI = PA7) and arbitrary chip select (here CS = PA4)

- nRESET of W5500 module **must** be tied to 3.3V, otherwise the chip won't start

- INT and POWERDOWN are not used

## Expected output

The `Serial` UART output is on PA9 at 115200 baud.

The sketch should start with detecting the W5500 chip and getting an IP address via DHCP. If its HTTP website (port 80) is visited, the request is printed and some data is sent back.

---

Source: https://maker.wiznet.io/ssekim/projects/bluepill-w5500-ethernet-webserver-using-platformio/
