EtherSense
.
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
|
| 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
|
| Sensor Data Streaming | Real-time UDP streaming of analog or digital sensor data
|
| STM32Cube HAL | Uses ST HAL drivers for hardware abstraction
|
| Modular Code Structure | Organized directories for Core, Drivers, and 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 통신 및 네트워크 패킷 처리 실습
- 실시간 데이터 전송 시스템 구현 경험

