임베디드 펌웨어의 계층 구조, 모듈 책임 분리, 장치 통신, 상태 제어 및 업데이트 안정성을 중심으로 코드를 설계하고 구현합니다.
| Repository | Code Focus |
|---|---|
| Embedded Device Lifecycle Platform (Public repository preparing) | STM32 Bootloader · OTA · CRC · Firmware Validation · Fail-safe Update |
| APBO — Automatic PET Bottle Opener (Public repository preparing) | AVR C · Motor Control · FSM · Sensor Feedback · 3D-Printed Mechanism |
| STM32 Elevator Control System | STM32 · CAN Protocol · FreeRTOS · FSM · Distributed Control |
| IoT Smart Locker | Arduino · STM32 · ESP8266 · RFID · Sensor Integration · TCP · MariaDB |
Application
↓
BSP
↓
Device Driver
↓
Hardware Abstraction
↓
MCU Peripheral / HAL
- Layered Firmware Architecture — Application과 Hardware 의존성을 분리합니다.
- Module Responsibility — 각 모듈이 하나의 명확한 책임을 갖도록 구성합니다.
- State Machine Design — 장치 동작과 예외 상태를 명시적인 상태 전이로 관리합니다.
- Communication Protocol — CAN, UART, TCP 등 장치 간 메시지와 데이터 흐름을 구조화합니다.
- Fault Handling — Timeout, 통신 오류, 비정상 센서 상태를 정상 제어 흐름과 분리합니다.
- Firmware Update Reliability — Bootloader, 이미지 검증 및 OTA 실패 상황을 고려합니다.
각 Public Repository는 프로젝트 소개보다 실제 코드와 구현 근거를 중심으로 정리합니다.
README.md
├── Firmware / Software Architecture
├── Repository Structure
├── Main Execution Flow
├── Module Responsibilities
├── Build & Flash
└── Validation Status
docs/
├── Code Flow
├── Communication Protocol
├── Design Decisions
├── Test & Debug
├── Troubleshooting
└── Contribution Scope
코드 자체뿐 아니라 왜 해당 구조를 사용했는지, 각 모듈이 어떤 책임을 가지는지, 실제 시스템에서 어떻게 동작하는지를 함께 기록합니다.
프로젝트의 배경, 담당 역할, 개발 과정 및 결과물은
Notion Portfolio에 정리되어 있습니다.