Wiznet makers

Lihan__

Published December 05, 2025 ©

20 UCC

8 WCC

1 VAR

0 Contests

0 Followers

0 Following

Original Link

esp‑pulser: ESP32‑S3 + W5500‑based heart‑rate sensor + Ethernet + display system

esp‑pulser is a firmware for ESP32‑S3 MCU that integrates MAX30102 heart‑rate sensor, W5500 Ethernet via SPI, SPI display, and DRV2605L haptic motor

COMPONENTS Hardware components

Espressif - ESP32

x 1


PROJECT DESCRIPTION

1. Project Overview & Significance

The project consolidates sensor, Ethernet, user interface, feedback (vibration), networking, and firmware update in a single Rust-based embedded firmware.

It demonstrates how WIZnet W5500 can be used not just for simple network connectivity but as the backbone of a full-featured IoT device — combining sensors, data streaming, UI, network comms, and remote update.

2. Why was Ethernet used?

Despite the ESP32‑S3 having built-in Wi‑Fi, an external Ethernet chip (W5500) was used for the following reasons:

 Ethernet is commonly used in industrial and medical environments

  • In hospitals, laboratories, and industrial settings, wired Ethernet is the standard communication method.
  • Wi‑Fi is prone to latency, disconnections, and security concerns, making it unsuitable for fixed-location biomedical data acquisition systems.
  • Ethernet offers stable and low-latency communication, ideal for real-time data transmission.

Wi‑Fi support in Rust is complex to implement

  • Using Wi‑Fi in Rust via ESP-IDF requires complex configuration and is harder to debug.
  • In contrast, W5500 is an SPI-based hardware network chip, which is simpler to control in Rust.
  • For experimental projects using Rust, Ethernet provides lower implementation complexity and greater stability.

https://3d-storyge.tistory.com/26

2. Technologies / Implementation

sensor - MAX30102 

 

MCU -  ESP32-S3

 

 

Rust + ESP‑IDF for ESP32‑S3.

W5500 SPI-based Ethernet . 

MAX30102 heart-rate sensor via I2C, 25 Hz sampling + 16-sample averaging + Rust ported signal processing algorithm. 

Additional components: SPI-based display for status, DRV2605L haptic driver for vibration feedback on heartbeat detection. 

Networking features: UDP streaming of raw & processed data, TCP server for remote commands, OTA update via companion GUI app. 

Development environment using VS Code Dev Container / Docker for reproducible build & flash, managing complex dependencies. 

3. Flow / Operation

Boot → initialize peripherals (I2C, SPI, Ethernet, display, haptic)

Start Ethernet reconnection loop & IP assignment via W5500

In background task: read heart‑rate sensor periodically → sample → filter/average → compute BPM

On events / periodically:

stream data (raw & BPM) via UDP

accept remote commands via TCP

activate haptic feedback on heartbeat detection

optionally update display with status, IP, connectivity

Support OTA update via companion GUI app

4. Significance for WIZnet + Embedded Systems

Demonstrates a real-world “sensor + network + UI + feedback + update” embedded system using WIZnet W5500 on ESP32 — a useful template for IoT products.

The integration of Rust + WIZnet + peripherals ensures safety, modularity, and portability across hardware platforms.

Offers a practical, open-source reference for developing connected devices using WIZnet modules.

5. Potential Derivative Use Cases & Ideas

Smart healthcare or wearable monitoring devices (heart rate, environment, motion) with Ethernet connectivity and remote monitoring.

Remote IoT nodes for agriculture, environment, industrial monitoring with sensors + network + user interface.

Lightweight data‑streaming nodes for decentralized sensor networks, with OTA and remote management.

Educational kits / reference boards for embedded Rust + WIZnet networking + sensors + UI + networking stack.

Community‑driven DIY / open‑hardware projects combining sensors, network, user feedback, remote updates.

Documents
Comments Write