---
title: "How to flash the OTA update from the STM32 Bootloader"
url: "https://maker.wiznet.io/jaden/projects/how-to-flash-the-ota-update-from-the-stm32-bootloader/"
markdown_url: "https://maker.wiznet.io/jaden/projects/how-to-flash-the-ota-update-from-the-stm32-bootloader/md"
type: "UCC: User Created Content"
author: "controllerstech"
author_url: "https://controllerstech.com/stm32-ota-bootloader-full-update/"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "controllerstech"
original_url: "https://controllerstech.com/stm32-ota-bootloader-full-update/"
published: "2026-01-23"
language: "en"
likes: 0
views: 387
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# How to flash the OTA update from the STM32 Bootloader

> How to flash the OTA update from the STM32 Bootloader

Original author: controllerstech (source: https://controllerstech.com/stm32-ota-bootloader-full-update/)

## Article

## 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는 단순한 개인 블로그가 아니라,
**임베디드 시스템 개발자를 주요 독자로 하는 기술 교육·콘텐츠 중심 조직**입니다.

![](https://maker.wiznet.io/upload/ckeditor5/847018295%5F1769426529%2Epng)

![](https://maker.wiznet.io/upload/ckeditor5/847018295%5F1769426541%2Epng)

#### 회사 성격 및 맥락

지역: 인도 기반

다루는 주제:

Bootloader / Flash Memory 구조

OTA Update 설계

UART, USB, Ethernet, Wi-Fi 통신

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

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

![](https://maker.wiznet.io/upload/ckeditor5/847018295%5F1769426607%2Epng)

---

### 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의 역할

![](https://maker.wiznet.io/upload/ckeditor5/847018295%5F1769426687%2Epng)

![](https://maker.wiznet.io/upload/ckeditor5/847018295%5F1769426698%2Epng)

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/](https://controllerstech.com/stm32-ota-bootloader-full-update/?utm_source=chatgpt.com)

---

Source: https://maker.wiznet.io/jaden/projects/how-to-flash-the-ota-update-from-the-stm32-bootloader/
