jacobhan.me

엔지니어링 로드맵

임베디드 시스템 입문에서 실무까지
: 회로·펌웨어·제어를 하나로 묶는 로드맵

LED를 깜빡이는 예제는 어디에나 있지만, 정작 현업 임베디드 엔지니어가 무엇을 하는지는 잘 보이지 않는다. 이 글은 전공 이론에서 실무 기술, 그리고 취업으로 이어지는 분야까지를 하나의 지도로 정리한다. 핵심은 단순하다. 회로와 펌웨어와 제어가 한 덩어리로 굴러갈 때 비로소 시스템이 동작한다.

목차
  1. 먼저 마인드셋: 큰 그림, 디버깅, 데이터시트
  2. 전공 이론의 지도
  3. 학교가 가르치지 않는 실무 여섯 가지
  4. 도구와 장비
  5. 어디에서 일하는가: 네 개의 산업
  6. 심화 트랙: 전력전자·모터제어, 그리고 엣지 AI
  7. 결국 통합 프로젝트가 결정한다

임베디드를 처음 시작하는 사람은 대부분 비슷한 길을 밟는다. 입문용 보드로 LED를 켜고 끄는 예제를 따라 하고, 학교 수업을 듣고, 무료 강의를 본다. 그런데 막상 무언가를 직접 만들려고 하면 손이 멈춘다. 포트폴리오로 묶을 주제가 잡히지 않고, 졸업과 취업 시즌이 다가오면 “그동안 무엇을 했는가”라는 질문 앞에서 막막해진다. 이 막막함의 원인은 노력이 부족해서가 아니라, 이론과 단순 기능 구현, 그리고 하나의 제품을 끝까지 만들어내는 일이 서로 완전히 다른 작업이기 때문이다. 이 글은 그 간극을 메우기 위한 지도다.

01먼저 마인드셋: 큰 그림, 디버깅, 데이터시트

기술 목록으로 들어가기 전에, 가장 자주 건너뛰지만 가장 중요한 세 가지 태도를 먼저 짚는다.

(1) 큰 그림을 보는 능력

복잡한 전자 시스템은 보통 탑다운(top-down) 방식으로 설계한다. 예를 들어 고성능 전기차를 만든다면, 먼저 목표 무게·전장 길이·주행거리 같은 상위 요구사항을 큰 틀로 정한 뒤, 거기서부터 아래로 내려오며 세부 사양을 구체화한다. 그 안에는 수많은 부품과 센서, 액추에이터(actuator, 구동 장치)가 들어가는데, 결국 이것들이 회로 설계, 펌웨어(firmware) 코드, 제어 알고리즘이라는 세 축으로 한 덩어리가 되어 맞물려 돌아가야 비로소 동작한다. 이 문장 하나는 이 글 전체를 관통하는 뼈대이므로 기억해 두는 편이 좋다.

탑다운 설계: 큰 그림에서 세부로 상위 요구사항 (성능·무게·주행거리) 서브시스템·센서·액추에이터 분해 제어 회로 펌웨어 한 덩어리로맞물려 동작

상위 목표에서 세부 사양으로 내려오는 설계의 끝에는 언제나 회로·펌웨어·제어의 결합이 놓인다.

(2) 끝까지 파고드는 디버깅 능력

임베디드는 시뮬레이션을 충분히 돌리고 검증해도, 실제 보드에서는 어제 되던 것이 오늘 안 되는 일이 흔하다. 따라서 내 코드가 실제로 어떻게 도는지, MCU(Microcontroller Unit, 마이크로컨트롤러)가 지금 어느 지점에서 무엇을 하고 있는지를 끝까지 추적할 수 있어야 한다. 디버깅 능력은 타고나는 재능이 아니라 장비와 이론을 반복해 쓰며 쌓이는 근육에 가깝다.

(3) 데이터시트와 함께 사는 습관

임베디드 개발자에게 부품 설명서, 즉 데이터시트(datasheet)는 늘 곁에 두는 사전이다. 데이터시트를 보지 않고 코드를 짜는 것은 설명서 없이 낯선 기계를 분해하는 것과 같다. 최근에는 인공지능 번역과 요약이 이 과정을 한결 수월하게 만들었지만, 인공지능도 실수를 하므로 핵심 수치와 레지스터 정의만큼은 본인이 직접 원문과 대조하는 검토가 필수다.

비유

큰 그림·디버깅·데이터시트는 요리에 비유하면 각각 레시피 전체 구성, 맛을 보며 간을 잡는 감각, 식재료 라벨을 읽는 습관이다. 재료(부품)의 특성을 모른 채, 중간에 맛을 보지 않고, 전체 코스를 머릿속에 그리지 않으면 — 개별 조리법을 다 외워도 한 상을 제대로 차려내기 어렵다.

02전공 이론의 지도

학교에서 배우는 핵심 과목은 열 개 안팎이지만, 그냥 나열하면 길을 잃기 쉽다. 서로 어떻게 연결되는지를 네 덩어리로 묶어 보면 전체 구조가 한눈에 들어온다.

덩어리 ① 회로의 세 기둥

첫째는 회로이론이다. 전압·전류·저항과 함께 커패시터, 인덕터 같은 수동 소자를 다룬다. 흔히 머리글자를 따 RLC(저항 R·인덕터 L·커패시터 C)라 부른다. 처음에는 “전류가 흐르고 저항에 전압이 걸린다”는 사실이 무엇을 위한 것인지 와닿지 않아 흥미를 잃기 쉽지만, 이 기초가 단단한지 아닌지에 따라 이후 실력 차이가 크게 벌어진다. 무료 시뮬레이터로 파형을 직접 찍어 보며 공부하는 방법을 권한다.

둘째는 전자회로다. 다이오드, 트랜지스터, 그중에서도 MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor, 금속산화물 반도체 전계효과 트랜지스터) 같은 능동 소자를 다룬다. 입문 난이도가 높기로 악명이 높지만, 여기서 잡은 기초가 뒤에 나올 전력전자와 모터제어로 그대로 이어진다.

셋째는 디지털 논리회로다. AND·OR·NAND 같은 논리 게이트를 배우며, 실제 회로 설계에서 매우 자주 쓰인다. 1960년대에 등장한 74 시리즈 표준 로직 IC(Integrated Circuit, 집적회로) 계열은 지금도 현업에서 널리 사용된다.

덩어리 ② 이론을 손으로 검증하는 실험

이론만 알면 절반이다. 이를 손으로 검증하는 회로실험 과목이 따로 있는 이유가 여기 있다. 파워 서플라이(전원 공급기)와 오실로스코프 같은 장비로 앞서 배운 이론을 직접 측정해 보는 과정인데, 현업에서 끝없이 하게 될 디버깅의 예행연습이라고 보면 된다.

덩어리 ③ 신호처리와 제어공학

신호처리부터 보자. 현실 세계의 신호는 대부분 끊김 없이 이어지는 연속 신호인데, 디지털 세계의 신호는 점점이 끊긴 이산 신호다. 연속 신호를 일정 간격으로 표본화해 디지털로 바꾸는 장치가 ADC(Analog-to-Digital Converter, 아날로그-디지털 변환기)이고, 그 반대가 DAC(Digital-to-Analog Converter, 디지털-아날로그 변환기)다. 두 변환기는 MCU에서 사실상 필수 기능이므로 이론을 알아 두면 큰 도움이 된다. 또한 이 과목에서 배우는 디지털 필터는 센서에 잡음이 섞일 때 이를 효과적으로 걸러내는 도구가 된다.

연속 신호 ADC 이산(표본) 신호 DAC는 이 과정을 거꾸로 수행한다

표본화 간격이 신호의 변화 속도를 충분히 따라가야 원래 파형을 복원할 수 있다(표본화 정리).

다음은 제어공학이다. 전달함수, 시간 응답, 안정도, 주파수 응답, 상태방정식 같은 개념을 배운다. 처음 라플라스 변환과 s-영역이 등장하면 수학 시간처럼 느껴지지만, 이 과목은 임베디드의 심장에 해당한다. 임베디드 시스템의 목표는 결국 원하는 출력을 안정적으로 만들어내는 것이고, 그러려면 출력을 다시 입력으로 되먹이는 피드백 제어가 필수다. 널리 쓰이는 PID(Proportional-Integral-Derivative, 비례-적분-미분) 제어가 바로 여기서 출발한다. 제어공학을 모르면 시스템이 불안정해지거나 목표값에 도달하지 못하고, 심하면 발산해 망가진다. 그래서 ‘안정도’라는 개념이 결정적으로 중요하며, 특히 모터제어로 갈 사람에게는 직접적인 기초가 된다.

피드백 제어 루프 + 목표값 PID 제어기 대상 시스템(모터 등) 출력 센서·측정

출력을 측정해 목표값과의 오차를 줄이도록 되먹이는 구조가 제어의 핵심이다.

덩어리 ④ 소프트웨어와 시스템

임베디드는 여전히 C 언어를 많이 쓴다. 메모리 안전성을 컴파일 시점에 보장하는 Rust(러스트)를 도입하려는 흐름이 빠르게 커지고 있으나(아래 보강 참조), 기초는 변하지 않는다. 배열·스위치·반복문·구조체·포인터는 필수이며, 특히 비트 연산이 매우 자주 쓰인다. 레지스터를 비트 단위로 제어하는 일이 임베디드에서는 일상이기 때문이다.

자료구조에서는 스택, 힙, 큐, 그리고 링버퍼(ring buffer, 순환 버퍼)를 익혀 둔다. 링버퍼는 통신 데이터를 받을 때 특히 많이 쓰이므로 직접 한 번 구현해 보는 편이 좋다.

컴퓨터구조는 CPU·메모리·입출력이 어떻게 연결되어 동작하는지를 다룬다. 디버깅과 직결되는 과목이다. 스택이 어떻게 쌓이는지 모르면 스택 오버플로(stack overflow, 스택 넘침)를 잡기 어렵고, 인터럽트(interrupt, 끼어들기)의 동작 원리를 모르면 코드 흐름이 갑자기 튀는 이유를 이해하기 힘들다.

핵심 메시지

회로이론·전자회로·제어공학·신호처리에서 배운 모든 것은 전력전자와 모터제어에서 한 번에 합쳐진다. 개별 과목이 따로 노는 것처럼 보여도, 마지막에는 결국 하나의 시스템으로 수렴한다는 점이 이 지도의 결론이다.

점점 중요해지는 곁가지: 온디바이스 AI

딥러닝은 임베디드의 필수 코어 과목은 아니지만, 비중이 빠르게 커지는 차별화 스킬이다. MCU 같은 작은 장치 위에서 직접 추론을 돌리는 흐름을 흔히 TinyML(타이니 머신러닝) 또는 엣지 AI(edge AI, 가장자리 인공지능)라 부른다. 키워드 인식, 간단한 영상 처리, 센서 이상 탐지 등이 대표적이다. 2026년 기준으로는 외부 가속기 없이도 초저전력 MCU가 추론을 자체적으로 수행하는 사례가 일반화되어, 더 이상 놀라운 일이 아니게 되었다. 1순위 역량은 아니지만, 갖추면 확실한 차별화 포인트가 된다.

03학교가 가르치지 않는 실무 여섯 가지

무료 강의를 백 개 봐도, 학교에서 4년을 배워도, 막상 제품 하나를 만들려면 쉽지 않다. 이론과 단순 기능 구현은 ‘완성된 제품’과 다른 차원의 일이기 때문이다. 여기서부터가 실무의 영역이다.

① 실무의 C 언어

학교의 C와 현업의 C는 결이 다르다. 포인터와 구조체가 손에 붙을 때까지 써야 하고, 비트마스크로 레지스터를 직접 수정하는 일이 잦다. HAL(Hardware Abstraction Layer, 하드웨어 추상화 계층) 드라이버도 쓰지만, 결국 CPU를 직접 통제한다는 감각이 핵심이다.

② MCU 선정과 구조

입문용 보드와 진짜 임베디드가 갈리는 지점이다. 타이머 개수, ADC 채널 수, CAN(Controller Area Network, 차량용 통신망) 지원 여부 등을 데이터시트를 보며 직접 고를 수 있어야 한다. 개발 방식은 무한 루프 기반의 베어메탈(bare-metal)과, 작업을 나눠 스케줄러로 돌리는 RTOS(Real-Time Operating System, 실시간 운영체제)로 갈린다.

③ 주변장치(페리페럴)

GPIO(General-Purpose Input/Output, 범용 입출력), 타이머, 워치독, ADC·DAC, 인터럽트와 폴링(polling). 칩이 달라도 핵심 동작 원리는 거의 비슷하다. 한 가지 MCU를 잡고 메모리 맵과 데이터시트를 끝까지 파며 완벽히 이해하는 편이 효율적이다.

④ 전자공학 기초

옴의 법칙은 시작일 뿐이다. 저항 분배로 ADC 입력 전압 레벨을 맞추고, 풀업·풀다운 저항과 보호 회로를 설계하는 일이 실무의 기본이다. 회로도를 읽고 데이터시트와 함께 볼 수 있어야 한다.

⑤ 메모리와 성능

오래 켜 두는 시스템에서 동적 할당(힙)은 단편화를 일으키기 쉬워 가능하면 피하고, 정적 할당과 스택 위주로 설계한다. DMA(Direct Memory Access, 직접 메모리 접근)는 필수 개념이며, SRAM·플래시·EEPROM의 특성 차이도 익혀 둔다.

⑥ 통신 프로토콜

보드 내부는 I2C·SPI·UART, 무선은 블루투스·와이파이, 차량은 CAN을 많이 쓴다. 무엇보다 차동 신호(differential signaling)와 잡음 개념을 잡아야 한다. CAN이나 RS-485가 왜 두 가닥으로 신호를 보내고 왜 잡음에 강한지를 이해하면 통신 디버깅의 차원이 달라진다.

비유

이 여섯 가지는 운전을 배우는 것과 비슷하다. 교통 법규(이론)를 외우는 것과, 실제 도로에서 차선 변경·주차·야간 운전을 해내는 것은 별개다. 면허 시험을 통과해도 도로 주행이 따로 필요하듯, 이론을 다 알아도 실무 기술은 손에 익혀야 비로소 ‘운전할 줄 안다’고 말할 수 있다.

여섯 가지가 모두 머리에 들어왔다고 해서 곧바로 제품을 만들 수 있는 것은 아니다. 마인드셋에서 말한 “회로·펌웨어·제어가 한 덩어리로 굴러가야 한다”는 원칙이 여기서 다시 돌아온다. 이 모두를 하나의 제품으로 끝까지 묶어 본 사람과 단순히 이론만 아는 사람의 차이는 매우 크다.

04도구와 장비

익혀 두면 좋은 소프트웨어 도구와 실습 장비를 간단히 정리한다.

05어디에서 일하는가: 네 개의 산업

임베디드의 범위는 매우 넓다. 사물인터넷 센서, 스마트 기기, 계측 장비, 공장 자동화, 의료기기까지 거의 모든 전자 제품의 안쪽에 임베디드가 들어간다. 그중 전력전자·모터제어를 축으로 진로를 잡는다면, 다음 네 산업이 대표적이다.

자동차

전기차 시장의 부침과 무관하게 전기차·하이브리드의 모터제어는 필수 기술이라 전력전자 인력 수요가 꾸준하다. 최근 신입 공고에서도 전력전자 채용이 활발하다.

방산

신뢰성이 극도로 중요한 영역이라 임베디드를 깊이 아는 인력과 위치 정밀제어 인력을 많이 채용한다.

로봇

관절마다 PMSM(Permanent Magnet Synchronous Motor, 영구자석 동기전동기)이 들어간다. 여러 축을 동시에 제어하는 기술과, 뒤에서 다룰 벡터 제어·센서리스 기술이 핵심이다.

가전

인버터 에어컨, 세탁기, 청소기, 컴프레서 제어에 모터제어가 필수적으로 들어간다. 전력전자 역량의 적용 폭이 가장 넓은 분야 중 하나다.

다만 솔직히 말하면, 이런 회사들은 LED 점멸이나 타이머 카운터 정도의 단순 예제 경험만으로는 들어가기 어렵다. 면접관 입장에서는 비슷비슷한 이력서가 줄을 잇기 때문이다. 회로를 설계하고, 펌웨어를 짜고, 디버깅을 거쳐 실제로 동작하는 제품을 하나 만들어 본 통합 프로젝트 경험이 결정적인 차별점이 된다.

06심화 트랙: 전력전자·모터제어, 그리고 엣지 AI

앞서 본 네 산업을 관통하는 키워드가 바로 전력전자와 모터제어다. 전력전자(power electronics)를 한 문장으로 정의하면 “전력을 내가 원하는 형태로 바꾸는 기술”이다. AC를 DC로 바꾸는 컨버터, DC 전압의 크기를 바꾸는 DC-DC 컨버터, DC를 다시 AC로 바꿔 모터를 돌리는 인버터(inverter)가 모두 전력전자에 속한다. 그리고 이렇게 만든 전력으로 DC 모터나 동기 전동기를 얼마나 정밀하게 돌리느냐가 모터제어다.

심화 트랙에서는 다음과 같은 주제를 다룬다. BLDC(Brushless DC, 브러시리스 직류) 모터를 구동하기 위한 인버터와 전류 센싱 기법, 스위칭 소자를 켜고 끄는 게이트 드라이버(gate driver), 고정밀 제어에 널리 쓰이는 PMSM과 이를 제어하는 FOC(Field-Oriented Control, 자속 기준 제어, 흔히 벡터 제어), 센서 없이도 회전자 위치를 추정해 모터를 돌리는 센서리스(sensorless) 알고리즘, 그리고 하드웨어 설계에서 마주치는 EMI(Electromagnetic Interference, 전자파 간섭)·발열·안전 문제다.

FOC(벡터 제어) 개념도 + 목표 속도 전류 제어 역 Park 변환 공간벡터 변조 + 인버터 PMSM 3상 모터 Clarke / Park 정변환 (전류 측정) 센서리스 위치 추정 위치·속도되먹임

3상 전류를 회전 좌표계로 변환해 자속·토크 성분을 분리 제어하는 것이 FOC의 핵심이다. 회로이론·전자회로·제어공학·신호처리가 이 한 장에 모두 모인다.

비유

FOC는 자전거를 손이 아니라 ‘무게중심’으로 모는 것에 가깝다. 핸들을 직접 꺾는 대신(3상 전류를 그대로 다루는 대신), 좌표를 바꿔 ‘앞으로 가는 힘(토크)’과 ‘옆으로 기우는 힘(자속)’을 따로 떼어 다룬다. 두 힘을 분리해 다루기 때문에 훨씬 부드럽고 정밀한 제어가 가능해진다.

2026년 현재의 두 가지 흐름

이 로드맵의 골격은 수십 년째 유효하지만, 최근 몇 년 사이 현장 풍경을 바꾼 변화가 두 가지 있다.

흐름 ① 임베디드에서 자리잡는 Rust

“MCU 제조사가 Rust를 제대로 지원하지 않는다”는 말은 더 이상 맞지 않는다. 대표적 무선 칩 제조사(Espressif)는 Rust를 공식 최상위 SDK 수준으로 끌어올렸고, 주요 MCU 계열(STM32·Nordic)에도 탄탄한 커뮤니티가 형성됐다. 비동기 실행을 다루는 Embassy(엠바시) 프레임워크가 사실상의 표준 런타임으로 자리잡았고, 디버깅 도구 probe-rs가 기존 방식을 빠르게 대체하고 있다. 안전 인증 측면에서도 Rust 컴파일러를 자동차 기능안전 표준(ISO 26262)·산업 기능안전 표준(IEC 61508)에 맞춰 인증한 사례가 나왔고, 일부 양산 차량의 ECU(Electronic Control Unit, 전자 제어 장치) 소프트웨어에 Rust가 실제로 탑재됐다. 다만 C는 여전히 압도적 기반 언어이므로, 입문자는 C로 기초를 다지되 Rust의 부상을 시야에 두는 편이 현실적이다.

흐름 ② 제어 루프 안으로 들어온 AI

딥러닝은 더 이상 임베디드의 바깥에 있지 않다. 한 예로, 전류 제어에 쓰이던 전통적 PID의 편차와 오버슈트를 줄이기 위해 아주 작은 신경망(tiny neural network)을 FOC 루프 안에 끼워 넣어 기준 전류를 보정하는 시도가 상용 MCU에서 검증됐다. 모델을 가지치기(pruning)와 양자화(quantization)로 압축해 실시간으로 추론을 돌리는 방식이다. 모터제어와 온디바이스 AI가 별개 분야가 아니라 한 루프 안에서 만나기 시작했다는 신호다. 두 영역을 함께 이해하는 사람의 가치가 그만큼 커진다.

07결국 통합 프로젝트가 결정한다

이 글의 마지막 결론은 처음의 마인드셋으로 되돌아온다. 무료 강의와 단편적 기능 구현이 아무리 쌓여도, 회로·펌웨어·제어를 하나의 제품으로 끝까지 묶어 본 경험을 대체하지 못한다. 면접관이 보고 싶은 것은 이론 지식의 양이 아니라, 개발 프로세스 전체를 한 사이클 굴려 본 흔적이다.

그렇다면 통합 프로젝트는 어떻게 잡는가. 심화 트랙에서 다룬 요소들이 자연스러운 후보가 된다. 예컨대 BLDC 또는 PMSM 모터 하나를 정해, 인버터 회로를 설계하고, 게이트 드라이버로 스위칭하며, 전류를 센싱하고, FOC 또는 센서리스 알고리즘으로 제어해 실제로 돌아가게 만드는 일이다. 여기에 EMI·발열·보호 회로 같은 하드웨어 현실 문제까지 다루면, 그것 자체가 강력한 포트폴리오가 된다. 시뮬레이션만 돌리거나 기능 한두 개를 보여주고 끝나는 예제와는 무게가 다르다.

정리하면 길은 이렇게 이어진다. 큰 그림을 보는 마인드셋에서 출발해, 전공 이론의 네 덩어리로 기초를 세우고, 실무 여섯 가지로 손을 익힌 뒤, 전력전자·모터제어 심화로 깊이를 더하고, 마지막으로 통합 프로젝트로 이 모두를 하나로 묶는다. 회로와 펌웨어와 제어가 한 덩어리로 굴러갈 때, 비로소 ‘임베디드를 할 줄 안다’고 말할 수 있다.