Wiznet makers

jaden

Published January 23, 2026 ©

95 UCC

18 WCC

55 VAR

0 Contests

0 Followers

0 Following

Original Link

How to flash the OTA update from the STM32 Bootloader

How to flash the OTA update from the STM32 Bootloader

COMPONENTS
PROJECT DESCRIPTION

How to Build a Reliable STM32 OTA Bootloader over Ethernet with W5500?

(W5500 기반 Ethernet으로 STM32 OTA 부트로더를 설계하는 방법)

작성자: WIZnet UCC Curator
작성일: 2026-01-26


프로젝트 개요

이 프로젝트는 STM32 마이크로컨트롤러에서 **안정적인 원격 펌웨어 업데이트(OTA)**를 구현하기 위해
WIZnet W5500 Ethernet 컨트롤러를 TCP 전송 계층으로 활용하는 OTA 부트로더 구조를 분석하고 정리한 콘텐츠입니다.
Controllerstech의 실무 지향 OTA 설계를 기반으로, 산업·상업 환경에서 반복 적용 가능한 Ethernet OTA 아키텍처의 기술적 의미를 설명합니다.
(약 55단어)


이 콘텐츠를 작성한 Controllerstech는 어떤 회사인가?

Controllerstech는 단순한 개인 블로그가 아니라,
임베디드 시스템 개발자를 주요 독자로 하는 기술 교육·콘텐츠 중심 조직입니다.

회사 성격 및 맥락

지역: 인도 기반

다루는 주제:

Bootloader / Flash Memory 구조

OTA Update 설계

UART, USB, Ethernet, Wi-Fi 통신

즉, Controllerstech의 글은
👉 **“실제로 제품을 만들어야 하는 개발자들이 검색해서 찾아오는 자료”**라는 성격을 가집니다.

이 OTA 글 역시 단순 예제가 아니라,
다양한 전송 환경에서 재사용 가능한 OTA 구조를 설명하려는 목적으로 작성되었습니다.


STM32 OTA Bootloader 구조 요약

Controllerstech의 OTA 설계는 전송 방식과 무관하게 동작하는 부트로더 중심 구조를 취합니다.

핵심 흐름

MCU 리셋 후 Bootloader 실행

Flash에 저장된 OTA 플래그 확인

새 펌웨어 메타데이터(크기, CRC, 버전) 검증

OTA 이미지 수신

Flash 기록

CRC 검증 후 정상 애플리케이션 실행

이 구조의 핵심은 다음과 같습니다.

전송 매체 독립적 설계

Flash 관리와 통신 로직의 분리

UART / USB / Wi-Fi / Ethernet 중 선택 가능

이 때문에 Ethernet OTA 역시 구조적으로 자연스럽게 포함됩니다.


Ethernet / TCP OTA에서 W5500의 역할

Controllerstech 글에서는 OTA 전송 방식 중 하나로
**Ethernet / TCP OTA (W5500)**를 명확히 언급합니다.

이는 우연한 언급이 아니라,
산업·상업 환경을 고려한 현실적인 선택지로 해석할 수 있습니다.

 

왜 Ethernet OTA 옵션에 W5500?

1️⃣ 수많은 사용자 / 시장 원활

Ethernet 옵션을 W5500으로 구현한 이유에는 첫번째로 수많은 유저들이 사용하고 저렴하며 

수급에 문제 없기 때문.


2️⃣ 저사양 MCU 사용

본 예제에 사용된 MCU는 STM32F103 LQFP48 PIN -> LWIP 올리기 쉽지 않음.


단발성 데모가 아닌 이유: 반복 적용 가능한 구조

이 OTA 구조는:

특정 보드 1개

특정 데모 1회

를 위한 설계가 아닙니다.

반복 적용이 가능한 이유

전송 계층과 부트로더 로직 분리

MCU 변경 시에도 SPI + Ethernet 구조 유지

OTA 서버와 프로토콜 재사용 가능

즉,

제품 라인업 전체에 공통으로 적용 가능한 OTA 설계


양산·시장 확장 관점에서의 의미

보통 DIY 프로젝트에서는 OTA 옵션까지 고려하여 제작하지 않는 경우가 많음.

OTA 기능은 유지 보수를 위한 기능인데, 그 기능을 구현할 시간에 다른 부분을 더 신경씀.

따라서 양산 제품에 적용 사례가 많은 OTA 기능을 파트별로 나누어서 튜토리얼을 제공하여 양산에 OTA를 적용하고 싶은 유저들에게 좋은 자료임.


대상 고객 및 적용 범위

개인 메이커 ❌

기업 개발자 / ODM·OEM ⭕

교육 + 실무 경계에 있는 엔지니어


WIZnet 제품의 반복 사용 가능성

OTA는 제품 수명 전반에 걸쳐 반복 수행

동일 W5500 구조를 여러 제품에 재사용

장비 수 증가 → W5500 사용량 자연스럽게 증가

👉 일회성 부품이 아닌, 구조 안에 고정되는 핵심 컴포넌트


FAQ

Q1. 왜 STM32 OTA에 W5500을 사용하는 것이 적합한가요?
A. OTA는 중단 시 장비가 동작 불능 상태가 될 수 있습니다. W5500은 하드웨어 TCP/IP 스택을 통해 MCU 부하를 줄이고, Flash 쓰기 중에도 안정적인 통신을 유지할 수 있어 산업·상업용 OTA에 적합합니다.


Q2. 이 구조는 개인 프로젝트용인가요, 양산용인가요?
A. 구조 자체는 명확히 양산과 반복 적용을 염두에 둔 설계입니다. 전송 계층이 분리되어 있어 ODM/OEM 환경에서 여러 제품에 공통 적용할 수 있습니다.


Q3. Wi-Fi OTA 대신 Ethernet OTA를 선택해야 하는 이유는 무엇인가요?
A. Wi-Fi는 환경에 따라 지연과 연결 품질이 크게 달라집니다. Ethernet은 예측 가능한 통신 특성을 제공해 OTA 실패 확률을 낮출 수 있습니다.


Q4. W5500 대신 ENC28J60을 사용해도 되지 않나요?
A. ENC28J60은 소프트웨어 TCP/IP 스택이 필요해 MCU 자원 소모가 큽니다. OTA와 같이 안정성이 중요한 작업에서는 하드웨어 TCP/IP를 제공하는 W5500이 구조적으로 유리합니다.


Q5. 향후 확장도 가능한 구조인가요?
A. 가능합니다. W5500과 핀 호환인 W6100으로 IPv6 환경까지 확장할 수 있으며, OTA 서버와 부트로더 구조는 그대로 유지할 수 있습니다.


원문 링크

Original Article
Controllerstech – STM32 OTA Bootloader Full Update
https://controllerstech.com/stm32-ota-bootloader-full-update/

Documents
Comments Write