---
title: "EtherSense"
url: "https://maker.wiznet.io/Aimee0/projects/ethersense/"
markdown_url: "https://maker.wiznet.io/Aimee0/projects/ethersense/md"
type: "UCC: User Created Content"
author: "Aimee"
author_url: "https://maker.wiznet.io/Aimee0/"
original_author: "aimee"
original_url: "https://github.com/ArvindhRam7/EtherSense"
published: "2025-10-22"
language: "en"
hardware: ["WIZnet W5500"]
likes: 0
views: 407
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# EtherSense

> EtherSense is an embedded Ethernet system using an STM32F103RB and W5500 to stream real-time sensor data via UDP.

Original author: aimee (source: https://github.com/ArvindhRam7/EtherSense)

## 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

### Project Overview

EtherSense is an embedded network system built on the STM32F103RB (Cortex-M3) microcontroller and W5500 Ethernet controller, designed to stream sensor data via Ethernet (UDP) in real time.
The project leverages FreeRTOS to handle network communication and sensor data processing concurrently.

> 이 프로젝트는 STM32F103 (Cortex-M3 기반) 마이크로컨트롤러와 W5500 Ethernet 컨트롤러를 이용하여 센서 데이터를 **Ethernet(UDP)**을 통해 실시간으로 전송하는 임베디드 네트워크 시스템입니다.
> 이 프로젝트는 FreeRTOS 기반의 태스크 구조를 사용하여 네트워크 통신과 센서 데이터 처리를 병렬로 수행합니다.

### Purpose

The primary goal of this project is to demonstrate real-time Ethernet data transmission
on a low-cost MCU (STM32F1 series) and to validate the embedded networking stack in a real-time environment.

**Core Objectives:**

- Acquire sensor data and transmit it to a host via Ethernet (UDP)

- Control the W5500 chip through SPI communication

- Execute network and data-handling tasks concurrently using FreeRTOS

> 이 프로젝트의 주요 목적은 **저비용 MCU(STM32F1 시리즈)**에서
> Ethernet 통신을 통한 실시간 센서 데이터 수집 및 전송을 구현하고,
> 임베디드 환경에서의 네트워크 통신 구조를 실험적으로 검증/학습하는 것입니다.
>
> **핵심 기능:**
>
> - 센서 데이터를 실시간으로 Ethernet(UDP)을 통해 서버로 전송
>
> - SPI 인터페이스로 W5500을 제어하여 네트워크 통신 수행
>
> - FreeRTOS 기반 태스크 구조를 통해 데이터 처리와 통신을 병렬로 실행

### System Architecture

EtherSense is structured around a multi-tasking FreeRTOS architecture.
Each functional unit operates as an independent task, ensuring stability and predictable real-time performance.

**Key Design:**

- **RTOS Task Separation:**
  Communication (Task A), Sensor Processing (Task B), System Monitoring (Task C)

- **W5500 SPI Interface:**
  Operates with static IP configuration

- **UDP Data Transmission:**
  Periodic packet-based streaming of sensor data

- **Ping Response:**
  Confirms device and network connectivity

> EtherSense는 FreeRTOS 기반 멀티태스킹 구조로 설계되었습니다.
> 각 기능은 독립적인 태스크(Task)로 구동되어 안정적이고 예측 가능한 실시간 동작을 보장합니다.
>
> **주요 설계:**
>
> - **RTOS 태스크 분리:**
>   통신(Task A), 센서 데이터 처리(Task B), 상태 모니터링(Task C)으로 분리
>
> - **W5500 SPI 인터페이스:**
>   SPI 통신으로 정적 IP 기반 Ethernet 구성
>
> - **UDP 데이터 송신:**
>   센서 데이터를 주기적으로 패킷 단위로 전송
>
> - **Ping 응답 기능:**
>   네트워크 연결 상태 및 장치 동작 여부 확인

### Key Features

| Feature | Description |
| --- | --- |
| **Ethernet (W5500)** | SPI-based Ethernet communication with UDP packet transmission > SPI 인터페이스 기반 Ethernet 통신, UDP 패킷 송신 |
| **FreeRTOS Support** | Concurrent task execution for communication and data handling > 통신 및 센서 태스크 병렬 처리 |
| **Ping Response** | Network and device status verification > 네트워크 연결 확인 및 디버깅용 |
| **Static IP Configuration** | Fixed IP assignment within MCU firmware > MCU 내부에서 고정 IP 기반 통신 구성 |
| **Sensor Data Streaming** | Real-time UDP streaming of analog or digital sensor data > ADC 혹은 외부 센서 데이터를 UDP로 실시간 전송 |
| **STM32Cube HAL** | Uses ST HAL drivers for hardware abstraction > ST HAL 드라이버를 활용한 하드웨어 제어 |
| **Modular Code Structure** | Organized directories for Core, Drivers, and Middleware > Core / Drivers / Middleware 디렉터리로 구성 |

### Significance

EtherSense showcases the integration of STM32F103 with the W5500 Ethernet controller
in a FreeRTOS-based real-time environment, making it a valuable educational example for developers.

**Technical and Educational Value:**

- Understanding RTOS task scheduling and resource management

- Implementing and initializing W5500 SPI drivers

- Practicing UDP communication and packet handling

- Building a real-time data transmission framework

> EtherSense는 STM32F103 + W5500 조합을 사용하여 FreeRTOS 환경에서 Ethernet 통신 구조를 검증하는 실습 예제입니다.
>
> 이 프로젝트는 다음과 같은 학습적·기술적 가치를 가집니다:
>
> - RTOS 태스크 구조 설계 및 리소스 관리 학습
>
> - W5500 SPI 드라이버 및 초기화 절차 이해
>
> - UDP 통신 및 네트워크 패킷 처리 실습
>
> - 실시간 데이터 전송 시스템 구현 경험

---

Source: https://maker.wiznet.io/Aimee0/projects/ethersense/
