Wiznet makers

Benjamin

Published November 24, 2025 ©

60 UCC

11 WCC

7 VAR

0 Contests

0 Followers

1 Following

Original Link

HMI Panel for Siemens S7-1200 using USM01 (STM32) + WIZnet W5500

A compact, low-cost HMI panel for Siemens S7-1200, built using an STM32-based USM01 board and a WIZnet W5500 for stable Ethernet communication.

COMPONENTS
PROJECT DESCRIPTION

Introduction

Let’s start with what this project is about.
The creator built a simple but fully functional HMI panel for the Siemens S7-1200 PLC using a custom STM32 board named USM01, and he added a W5500 to handle Ethernet communication.

So instead of using a commercial touch HMI, this setup lets you monitor values, change parameters, and trigger actions directly from a small LCD and three buttons.
It’s small, reliable, and industrial-friendly.


WIZnet Product Integration

Now let’s look at how the WIZnet device fits in.
The W5500 is used as the main Ethernet engine, and it communicates with the STM32 via SPI.
Because it offloads TCP/IP completely, the MCU only needs to manage simple socket operations.

This design leaves plenty of CPU resources available for FreeRTOS tasks, input handling, and LCD updates—perfect for small industrial modules like this.

Here’s the basic data flow:

 
Buttons → STM32 (USM01) → SPI → W5500 → Ethernet → S7-1200                                               ↓                                           Process Values                                               ↓                                          HD44780 LCD

In short: the STM32 handles UI + control logic, while the W5500 delivers stable, industry-grade Ethernet communication.


Technical Implementation

Let’s walk through the hardware first.

USM01 (STM32F103C8T6) as the main controller

WIZnet W5500 for Ethernet

HD44780 LCD for displaying values

Three push buttons for parameter control

S7-1200 PLC as the target controller

On the software side, the firmware is written in C++11 and runs on FreeRTOS, splitting responsibilities into multiple tasks:

Button handling

LCD updates

W5500 socket communication

Logic/PLC control loop

The system reads user-defined values, sends them to the S7-1200 over Ethernet, and receives status updates back from the PLC.


Reproduction Guide

Here’s how you would recreate it:

First, assemble the USM01 board and connect the W5500 through SPI.

Then, wire up the HD44780 LCD and the three push buttons.

Install FreeRTOS and set up your C++11 toolchain.

Create a periodic communication task that uses the W5500 socket API to talk to the S7-1200.

Finally, map PLC memory addresses (IO or DB blocks) and test reading/writing values.

With that, you get a compact HMI panel ready for real industrial use.


Core Features and Performance

Here’s what this little device can do:

Live display of PLC parameters on the LCD

Setpoint adjustment using three buttons

Reliable Ethernet communication handled by the W5500

FreeRTOS-based multitasking for stable execution

Compact industrial form factor (mountable next to the PLC)

Despite being simple, the system reacts quickly, updates values cleanly, and can run continuously with low CPU overhead.


Code Snippet

Here’s the core logic for sending data to the PLC (simplified):

 
void PlcTask(void* arg) {    while (true) {        int leftValue = input.left;        int rightValue = input.right;        uint8_t frame[8];        frame[0] = leftValue;        frame[1] = rightValue;        sendPacketOverW5500(frame, sizeof(frame));        receivePlcResponse();        vTaskDelay(pdMS_TO_TICKS(50));    } }

This task runs inside FreeRTOS, formats the data, and sends it out over the W5500 socket.


Applications and Extensions

Let’s talk about where this can go.

A low-cost HMI panel for small industrial machines

Portable maintenance panels for Siemens PLCs

Parameter setup tools for on-site technicians

Monitoring modules for sensors, drives, or conveyors

(Planned) Support for S7-1500, Modbus-TCP, or W6100/W6300 migration

You can build many industrial mini-interfaces using this architecture.


Conclusion

To wrap up, this project demonstrates how a compact STM32 board combined with the WIZnet W5500 can form a practical, low-cost, and reliable HMI panel for Siemens PLCs.

It’s simple, robust, and ready for real-world industrial tasks.

👉 Try building your own industrial micro-HMI using WIZnet Ethernet solutions.

Documents
Comments Write