ioNIC Web Server Arduino Example
The W55RP20-S2E is configured in HTTP Server mode via UART or SPI and operates to provide web pages when accessed from a PC.
How to Web Server Example
This example demonstrates how the Raspberry Pi Pico transmits AT commands to the W55RP20 S2E board via UART or SPI to configure it as a HTTP Server(TCP Server) device.
When a PC accesses the W55RP20-S2E through a web browser, the module processes the HTTP request and responds with the configured web page.
During this process, the Raspberry Pi Pico controls the configuration and operation of the W55RP20-S2E via UART or SPI.
Step 1: Prepare software
The following serial terminal programs are required for test, download and install from below links.
Step 2: Prepare hardware
1. Connect GPIO13 according to the selected UART/SPI mode of the W55RP20 EVB Pico, as illustrated below.
| GPIO13 Pin | Desc |
| LOW(GND) | UART mode (default) |
| HIGH(3.3V) | SPI mode |
2. Connect the Raspberry Pi Pico and the W55RP20 EVB Pico using jumper wires as shown below, depending on the selected UART/SPI mode.
If UART mode :
| Raspberry Pi Pico | W55RP20 EVB Pico |
| GPIO4 (UART_TX) | GPIO5 (UART_RX) |
| GPIO5 (UART_RX) | GPIO4 (UART_TX) |
| GND | GND |
If SPI mode :
| Raspberry Pi Pico | W55RP20 EVB Pico |
| GPIO2 (SPI_CLK) | GPIO2 (SPI_CLK) |
| GPIO3 (SPI_TX) | GPIO4 (SPI_RX) |
| GPIO4 (SPI_RX) | GPIO3 (SPI_TX) |
| GPIO5 (SPI_CS) | GPIO5 (SPI_CS) |
| GPIO26 (SPI_INT) | GPIO26 (SPI_INT) |
| GND | GND |
3. Connect the Raspberry Pi Pico to your PC (desktop or laptop) using a 5-pin Micro USB cable.
4. Connect the W55RP20 EVB Pico to your PC (desktop or laptop) using a USB Type-C cable.
Step 3: Arduino IDE Setup
Install Board Support Package
- Open Arduino IDE
- Go to File → Preferences
- Add the following to "Additional Boards Manager URLs": https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

- Go to Tools → Board → Boards Manager
- Search for "Raspberry Pi Pico" and install Raspberry Pi Pico/RP2040 by Earle F. Philhower, III
- Select Tools → Board → Raspberry Pi RP2040 Boards → Raspberry Pi Pico
Step 4: Code Examples
Each example provides a .ino file to upload to the Pico.
Step 5: Upload and Test
5.1 Select Raspberry Pi Pico
- Go to Tools → Board → Raspberry Pi RP2040 Boards → Raspberry Pi Pico
- Select Tools → Port → Choose your COM port
5.2 Upload Code
- Open the desired example .ino file
- Modify IP addresses and port numbers as needed
void setup() {
...
at_set("LI192.168.11.2"); // Local IP
at_set("SM255.255.255.0"); // Subnet mask
at_set("GW192.168.11.1"); // Gateway
at_set("DS8.8.8.8"); // DNS
at_set("LP8080"); // Local port (HTTP)
...
}3. Click Upload button or press Ctrl+U
4. Wait for upload to complete
5.3 Open Serial Monitor

- Go to Tools → Serial Monitor
- Set baud rate to 115200
- Verify network information and connection status
Step 6: Run
1. Configuring the W55RP20 S2E as a HTTP Server(TCP Server) and Setting Up the Network with AT command.
2. When a PC accesses the IP address and port of the W55RP20 S2E through a web browser,
an HTTP request is sent to the W55RP20 S2E over Ethernet.
The W55RP20 S2E forwards the HTTP request received over Ethernet directly to the Raspberry Pi Pico via the UART(or SPI) interface.
Based on the received request, the Raspberry Pi Pico constructs an HTTP-formatted response using a preconfigured HTML file and sends it to the W55RP20 S2E via UART(or SPI).
The W55RP20 S2E then forwards the HTTP response message received over UART(or SPI) to the PC over Ethernet.

