JK 김지훈

EMBEDDED SOFTWARE ENGINEER

MCU부터 임베디드 리눅스까지,
계층을 넘나드는
임베디드 개발자 김지훈입니다.

회로 설계와 STM32·AVR 레지스터 수준 펌웨어부터 FreeRTOS·Zephyr, U-Boot와 커널을 직접 빌드한 임베디드 리눅스까지 손으로 만들어 왔습니다. 회로를 직접 그려 본 만큼, 보드가 어떻게 동작하는지 이해한 상태에서 코드를 씁니다.

  • 대상26' 아두이노 메이커 공모전
    Raw2Insight-Q
  • 7건대외·교내 수상과 표창
    2019 ~ 2026
  • 26개2019년부터 직접 만든
    HW · FW · SW 프로젝트
  • 3.72전공 평점 / 4.5
    임베디드시스템S/W설계 A+

01 · TECH STACK

기술 스택

프로젝트와 교과에서 직접 써 본 것만 적었습니다. 아이콘에 마우스를 올리면 어디에 썼는지 볼 수 있습니다.

Languages

MCU · Boards

OS · RTOS

Interfaces

Tools · Programs

AI · Platforms

AI 도구를 쓰는 방식 로컬 파일, git 저장소, 실행 로그, 문서 검색을 MCP로 연결한 개발 에이전트(Claude Code)를 쓰고, API 게이트웨이로 여러 모델의 품질·속도·비용을 비교해 작업마다 골라 씁니다. 제안받은 코드와 분석은 소스를 읽고, 실행하고, 마지막엔 실물 하드웨어에서 확인한 뒤에만 받아들입니다.

계층별로 보면

하드웨어부터 상위 애플리케이션까지, 계층마다 그 기술을 실제로 쓴 프로젝트를 붙였습니다.

L5

Application · Edge AI

상위 통합과 장치 위 판단

  • ROS 2
  • Nav2
  • SLAM
  • rosbridge
  • PyTorch
  • scikit-learn
  • Isolation Forest
  • MNE-Python
L4

Embedded Linux

툴체인부터 부팅, 커널까지

  • crosstool-ng
  • TF-A
  • U-Boot
  • Linux Kernel
  • BusyBox
  • Yocto / bitbake
  • Kernel Module
  • System Call
L3

RTOS

태스크 설계와 커널 수정

  • FreeRTOS
  • Zephyr RTOS
  • Mutex · Semaphore
  • Message Queue
  • Priority Scheduling
L2

Bare-metal Firmware

HAL 없이 레지스터로

  • STM32 · CMSIS
  • AVR
  • RP2350
  • ESP32
  • Timer / ISR
  • ADC · PWM
  • UART · I2C · SPI
  • Encoder PID
L1

Hardware

회로와 기구를 직접

  • OrCAD
  • KiCAD
  • 시험 PCB
  • Fusion 360
  • 3D 프린팅

03 · DEBUG LOG

문제 해결 기록

짐작보다 확인할 수단을 먼저 만듭니다. 증상에서 원인까지 어떻게 좁혔는지 짧게 모았습니다.

#01Scout2Map

로봇이 지도와 어긋나게 주행

추적
제어 게인보다 피드백 값을 먼저 의심해 모터 감속비를 직접 쟀습니다. 알던 값은 150:1, 실제는 131:1이었습니다.
조치
휠 1회전당 엔코더 카운트를 바로잡아 오도메트리 오차 해소
#02Scout2Map

회전 각속도가 41% 낮게 나옴

추적
주행 로그를 비교해 스키드 조향 로봇의 회전 보정 계수가 기구학에 빠져 있음을 찾았습니다.
조치
보정 계수를 반영해 회전 명령과 실제 각속도 일치
#03Scout2Map

헤딩이 180° 뒤집혀 계산됨

추적
좌표 변환 코드만 보지 않고 IMU만 따로 보는 시험 모드를 펌웨어에 추가했습니다.
조치
센서 퓨전 칩의 한계와, 핀 헤더가 뒤로 향해 축 재배치가 필요했던 점을 각각 확인
#04Scout2Map

엔코더 신호가 끊기면 로봇이 멈춤

추적
피드백이 사라지는 상황을 고장이 아닌 운용 모드로 정의했습니다.
조치
런타임에 개루프로 전환해, 정지 대신 성능이 떨어진 상태로 임무 지속
#05배터리 보호기

정상 배터리가 순간 강하에 차단됨

추적
임계값을 낮추는 대신 '지금 낮은가'를 '낮은 상태가 유지되는가'로 판정 기준을 바꿨습니다.
조치
타이머 인터럽트 주기 샘플의 누적 평균으로 판단해, 보호 기능은 두고 오차단만 제거
#06배터리 절체기

ADC 채널 전환 직후 값이 흔들림

추적
두 계통을 번갈아 읽는 구조에서 채널 전환 직후 변환이 안정되지 않는 것을 확인했습니다.
조치
채널 전환 뒤 첫 변환을 버리는 더미 변환을 넣어 채널 간 간섭 감소
#07Raw2Insight-Q

설치 장소마다 계속 이상 판정

추적
센서 절대값을 입력으로 쓰니 환경마다 정상 범위가 달랐습니다. 임계값 대신 입력 자체를 다시 봤습니다.
조치
'직전 구간보다 얼마나 변했는가'로 모델 입력을 바꿔 환경 의존 오탐 해소
#08센서 통합

공기질 센서가 켠 직후 값이 튐

추적
켠 직후 값이 튀는 원인이 소자의 예열 특성임을 확인했습니다. 값을 보정해 쓰는 대신 상태를 나눴습니다.
조치
'예열 중' 상태를 정의해 해당 구간을 판단에서 제외

04 · ARCHIVE

그 밖의 프로젝트

고등학생 때부터 만들어 온 펌웨어·하드웨어·시스템·웹 작업입니다. 분류를 눌러 골라 볼 수 있습니다.

EEG 기반 숏폼 콘텐츠 영향 분석
2025.09 ~ 2025.11리눅스·시스템

EEG 기반 숏폼 콘텐츠 영향 분석

매치업 경진대회 최우수상

팀장 · 전처리·지표 산출·보고서

숏폼 시청 중 EEG를 측정하고, 자체 데이터만으로는 지표의 타당성을 담보할 수 없다고 보고 공개 데이터셋 GAMEEMO·OpenMIIR을 같은 파이프라인에 넣어 교차 검증했습니다.

자세히

트리거 채널에서 자극 시점을 검출해 에폭을 나누고, 스파이크성 노이즈와 중복 이벤트를 걸러낸 뒤 Welch 방법으로 PSD를 구했습니다. Theta·Alpha·Beta 대역 파워에서 FAA, FAP, OASI, TBR 네 지표를 계산해 영상 유형 다섯 조건을 비교했고, 대역별 두피 분포도와 PSD 곡선으로 정리했습니다.

  • Python
  • MNE-Python
  • MATLAB
DG-Protector (착용형 자세 교정기)
2025.01 ~ 2025.03펌웨어·HW

DG-Protector (착용형 자세 교정기)

ICT 융합 프로젝트 공모전 장려상

팀장 · HW·FW·케이스·앱 총괄

자이로 센서로 상체 기울기를 감지하고, 좌·우 서보를 리미트 센서 피드백으로 독립 제어해 양쪽 어깨에 균등한 장력을 주는 웨어러블 기기입니다.

자세히

착용 직후 자세를 기준점으로 캘리브레이션한 뒤 편차를 감시합니다. 통신 파싱·자세 판정·권취 제어를 세 개의 자체 라이브러리로 분리했고, 경보음은 delay() 대신 millis() 기반 상태 머신으로 만들어 메인 루프가 멈추지 않게 했습니다. 모드는 EEPROM에 저장하고, Kotlin 안드로이드 앱에서 강도 제어와 착용 통계를 제공합니다.

  • Arduino
  • C
  • I2C
  • Kotlin
  • Fusion 360
음성 인식 워드클라우드 장치 (외주)
2022.08 ~ 2022.11리눅스·시스템

음성 인식 워드클라우드 장치 (외주)

개인 · 외주

지역 행사를 운영하는 청년 단체의 의뢰로, 현장 발언을 음성 인식해 단어 단위로 파싱하고 워드클라우드로 띄우는 장치를 만들었습니다.

자세히

예산 때문에 Raspberry Pi 3B를 써야 했는데 범용 배포 이미지로는 현장에서 필요한 반응성이 나오지 않았습니다. Yocto로 필요한 구성만 담은 이미지를 bitbake로 빌드하고 부트 인자와 환경변수를 조정해 부팅과 응답을 줄였습니다. 보드가 부족할 때 응용보다 먼저 OS를 줄일 수 있다는 것을 배운 작업입니다.

  • Raspberry Pi 3B
  • Yocto
  • U-Boot
  • Python
RFID 횡단보도 음향 신호기
2021.03 ~ 2021.06펌웨어·HW

RFID 횡단보도 음향 신호기

공학설계입문 작품전시회 우수상

팀장 · HW·FW·케이스

'버튼을 어떻게 개선할까'를 '왜 버튼을 눌러야 할까'로 바꿔, 점자블록에 RFID 리더를, 지팡이 끝에 태그를 넣어 서기만 하면 음향 신호가 켜지게 했습니다.

자세히

기존 버튼식 신호기는 위치를 찾기 어렵고 누르는 동작 자체가 부담이었습니다. 사용자가 점자블록 위에 서면 태그가 인식되어 음향 신호가 자동으로 토글되므로 기존 보행 동선만으로 동작합니다. 지팡이 단말 하우징은 3D 모델링과 프린팅으로 만들었습니다.

  • Arduino
  • C
  • RFID
  • Fusion 360
배터리 종지전압 보호기
2021.03 ~ 2021.12펌웨어·HW

배터리 종지전압 보호기

KITEL · 회로·펌웨어

배터리가 종지 전압에 닿기 전에 릴레이로 부하를 분리합니다. 순간 전압 강하로 인한 오차단을 타이머 인터럽트 기반 누적 평균 판정으로 없앴습니다.

자세히

분압 저항(30kΩ/7.5kΩ)으로 측정 범위를 넓혔습니다. 보급형은 점퍼 4개 조합으로 11.4V·12.0V·12.6V·13.2V 중 하나를 골라 펌웨어 수정 없이 배터리 종류에 대응하고, 상위형은 버튼으로 차단 전압을 지정해 EEPROM에 저장하며 OLED 표시와 DS1302 RTC 차단 시각 기록, 자동·수동 모드를 지원합니다.

  • AVR
  • C
  • ADC
  • Timer/ISR
  • EEPROM
  • OrCAD
자동 배터리 절체기
2021.03 ~ 2021.12펌웨어·HW

자동 배터리 절체기

KITEL · 회로·펌웨어

주 배터리가 종지 전압 아래로 내려가면 SSR로 보조 전원에 절체합니다. ADC 채널 전환 직후의 불안정한 값은 첫 변환을 버리는 방식으로 잡았습니다.

자세히

Timer0 CTC 모드로 100Hz 인터럽트를 만들고 ISR에서 두 계통 전압을 번갈아 샘플링합니다. 주 정상 / 주 방전·보조 정상 / 모두 방전의 세 상태로 절체를 판단하고, 부팅 시 두 계통이 정상 범위에 들 때까지 대기해 비정상 상태에서의 절체를 막았습니다.

  • AVR
  • C
  • ADC
  • Timer/ISR
  • I2C
  • OrCAD
원격 제어 한글 전광판
2021.08 ~ 2021.11펌웨어·HW

원격 제어 한글 전광판

개인

유니코드에서 초·중·종성을 역산해 조합형으로 렌더링하는 블루투스 한글 전광판입니다. 단색 패널은 라이브러리 없이 디코더와 시프트 레지스터를 직접 구동했습니다.

자세히

받침 유무와 모음 형태에 따라 폭이 달라지는 문제는 초성 8벌·중성 4벌·종성 4벌 폰트 세트를 조합 규칙으로 고르게 해 풀었고, 폰트는 PROGMEM에 두어 SRAM을 아꼈습니다. 64x16 단색 패널은 Timer2 인터럽트에서 16행을 순차 스캔하며 포트 레지스터로 열 데이터를 밀어 넣습니다. 문구와 스크롤 설정은 EEPROM에 저장합니다.

  • AVR
  • C
  • SPI
  • Timer/ISR
  • EEPROM
  • Android
음성 안내 일산화탄소 경보기
2021.06 ~ 2021.11펌웨어·HW

음성 안내 일산화탄소 경보기

개인

Arduino 프레임워크 없이 ATmega128 레지스터로 UART·ADC를 구성하고, 농도 단계별로 음성 경보를 냅니다.

자세히

MQ 계열 센서의 저항비를 로그 관계식으로 환산해 ppm을 계산합니다. DFPlayer가 요구하는 10바이트 고정 프레임은 명령부만 채우고 체크섬을 계산해 보내는 함수로 따로 만들었고, 안전·주의·위험 세 단계에 맞는 트랙을 재생합니다.

  • ATmega128
  • C
  • UART
  • ADC
  • OrCAD
원격 전압계
2021.06 ~ 2021.10펌웨어·HW

원격 전압계

개인

Timer0를 CTC 모드로 직접 설정한 100Hz 인터럽트에서 500회 누적 평균을 내, 안정된 전압값을 블루투스로 스마트폰에 보냅니다.

자세히

분압 저항으로 측정 범위를 넓혔고, 폴링 대신 타이머 인터럽트를 써서 메인 루프를 비워 두었습니다.

  • ATmega328P
  • C
  • ADC
  • Timer/ISR
원격 조명 제어 단말 · 다중 단말 앱
2021.08 ~ 2022.04펌웨어·HW

원격 조명 제어 단말 · 다중 단말 앱

개인

6채널 조명을 MOSFET·PWM으로 제어하는 블루투스 단말과, 여러 단말을 등록해 관리하는 안드로이드 앱입니다.

자세히

채널마다 지시자 문자 하나에 0~255 값을 붙이는 단문 프로토콜로 파싱 부담을 줄였고, 명령 처리 후 수신 버퍼를 비워 잔여 바이트 오염을 막았습니다. 설정은 채널별로 EEPROM에 저장하고, 입력 전압 감시 채널로 공급 전압을 조회할 수 있습니다.

  • AVR
  • C
  • PWM
  • EEPROM
  • Android
교육용 아두이노 보드
2021.08 ~ 2022.04펌웨어·HW

교육용 아두이노 보드

개인

학생들이 한 장의 보드로 전자회로와 피지컬 컴퓨팅을 실습할 수 있도록 교육용 아두이노 보드를 설계했습니다.

  • Arduino
  • C
  • OrCAD
  • PCB
원격 제어 영어 전광판 · 제어 앱
2021.05 ~ 2021.06펌웨어·HW

원격 제어 영어 전광판 · 제어 앱

개인

8x8 도트 매트릭스를 연쇄한 전광판과 HC-06 기반 제어 앱입니다. ASCII 폰트를 PROGMEM에 두고 문구를 EEPROM에 저장합니다.

자세히

좌측 스크롤, 밝기, 스크롤 속도 조절을 지원하며 전원을 껐다 켜도 마지막 문구가 유지됩니다.

  • Arduino
  • C
  • UART
  • EEPROM
마술 도구 개발
2022.04 ~ 2022.12펌웨어·HW

마술 도구 개발

개인 · 의뢰

특정 마술 연출용 도구를 의뢰받아 하드웨어와 펌웨어를 설계하고, 원격 제어용 블루투스 중앙 제어기까지 만들었습니다.

  • AVR
  • C
  • Bluetooth
  • Fusion 360
Stick Drop! (순발력 게임 장치)
2024.07 ~ 2024.08펌웨어·HW

Stick Drop! (순발력 게임 장치)

개인

무작위로 떨어지는 막대를 잡는 순발력 게임기를 회로·펌웨어·구조물까지 만들었습니다.

  • AVR
  • C
  • Fusion 360
  • 목공
4-Digit 전자시계 라이브러리
2021.05 ~ 2021.06라이브러리

4-Digit 전자시계 라이브러리

Arduino Library Manager 등록

개인 · 오픈소스

TM1637 7-세그먼트와 DS1302 RTC를 묶은 라이브러리로, 핀만 생성자에 넘기면 displayTime·setBright·setNow로 동작합니다.

자세히

영문·한글 README, 예제 스케치, 데이터시트를 함께 배포했습니다.

  • Arduino
  • C++
  • GPIO
  • RTC
초음파 센서 라이브러리
2020.03 ~ 2020.04라이브러리

초음파 센서 라이브러리

Arduino Library Manager 등록

개인 · 오픈소스

4핀(TRIG/ECHO)과 3핀(SIG) 초음파 센서를 같은 인터페이스로 다룹니다. 배선 방식은 생성자 인자로 흡수해 센서를 바꿔도 사용 코드는 그대로입니다.

자세히

측정 주기와 단위(cm/inch)는 기본 인자로 처리해 호출부를 간결하게 유지했습니다.

  • Arduino
  • C++
  • GPIO
  • Timer/ISR
전압/전류 센서 라이브러리
2020.03 ~ 2020.04라이브러리

전압/전류 센서 라이브러리

개인 · 오픈소스

ACS712 전류 센서와 전압 센서를 한 클래스로 묶은 학습용 라이브러리입니다. 앞선 라이브러리와 같은 배포 형식을 갖췄습니다.

자세히

library.properties, keywords.txt, 예제 스케치, MIT 라이선스와 데이터시트를 포함합니다.

  • Arduino
  • C++
  • ADC
광고 DID 결합형 자동 개폐 쓰레기통
2020.02 ~ 2021.04리눅스·시스템

광고 DID 결합형 자동 개폐 쓰레기통

삼점일사 협동조합

손을 감지하면 서보로 문을 여는 쓰레기통과, 결합된 DID에서 서버의 광고 자료를 슬라이드쇼로 송출하는 시스템을 만들었습니다.

  • Raspberry Pi
  • JavaScript
  • GPIO
DID형 자전거 산책로 표지판
2019.08 ~ 2019.11펌웨어·HW

DID형 자전거 산책로 표지판

경기도 청소년 꿈나무 메이커톤 우수상

팀장 · FW·HW·발표

위치 정보와 지도 API로 주변 상권·날씨·관광지 정보를 모아 GLCD에 띄우는 표지판입니다. WiFi로 외부 데이터를 주기적으로 받아옵니다.

  • ESP32
  • Arduino
  • JavaScript
기업 페이지 · 관리 시스템 (외주)
2026.01 ~ 2026.02웹 외주

기업 페이지 · 관리 시스템 (외주)

개인 · 외주

기업의 연혁·포트폴리오·일정을 소개하는 페이지와, 그 콘텐츠를 관리하는 시스템을 함께 제작했습니다.

  • Web
  • JavaScript
  • DB
관객 참여형 공유 지도 페이지 (외주)
2025.11 ~ 2025.12웹 외주

관객 참여형 공유 지도 페이지 (외주)

개인 · 외주

마을의 버려진 의자를 아카이빙해 지도에 표시하고, 참여자가 직접 찾은 의자를 추가할 수 있는 웹 페이지입니다.

  • Web
  • JavaScript
  • Firebase
관객 참여형 아카이빙 웹페이지 (외주)
2024.07 ~ 2024.12웹 외주

관객 참여형 아카이빙 웹페이지 (외주)

개인 · 외주

사용자가 올린 사진과 글을 DB에 저장하고 갤러리 형식으로 보여 주는 웹 페이지입니다.

  • Web
  • PHP
  • DB

05 · AWARDS

수상

썸네일을 누르면 상장 원본을 볼 수 있습니다.

06 · EDUCATION

학력과 관련 교과

2021.03 ~ 2027.02

광운대학교 졸업예정

컴퓨터정보공학부 컴퓨터공학전공

전공 평점
3.72 / 4.5
전체 평점
3.63 / 4.5
이수 학점
124

2018.03 ~ 2021.02

경민IT고등학교

디지털미디어과

중학교 동아리에서 MCU 보드로 임베디드를 처음 접하고 특성화고를 택했습니다. 리눅스마스터를 준비하며 Raspberry Pi로 OS와 커널, 드라이버에 관심이 생겨 컴퓨터공학으로 진학했습니다.

직무 관련 교과목
교과목학기성적다룬 내용
임베디드시스템S/W설계2026-1A+STM32MP157에 툴체인·TF-A·U-Boot·커널·rootfs를 쌓아 부팅, FreeRTOS 큐에 긴급 메시지 API 추가
산학협력캡스톤설계2026-1A+Scout2Map 주행 제어·센서 퓨전 펌웨어와 ROS 2 통합
시스템프로그래밍 / 실습2025-1A0 / A+HTTP 프록시 서버를 단계적으로 구현: SHA1 캐시, 연결당 자식 프로세스, 시그널 타임아웃, pthread 로깅과 세마포어
운영체제 / 실습2025-2B+ / A0시스템 콜 추가와 커널 재빌드, 시스템 콜 테이블 후킹 모듈, task_struct·fork 경로 추적, 스케줄러 구현 비교
GPU컴퓨팅2026-1B+OpenMP 스케줄링 비교, CUDA 행렬 곱 Global·Shared Memory 타일링과 CPU 결과 자동 교차 검증
마이크로프로세서2026-2수강 중Jetson Nano·Raspberry Pi·ZYNQ 실습: ARM 어셈블리·C 연동, 카메라 제어, TensorRT 추론, Zynq HW/SW 설계
디지털신호처리2025-2B+MATLAB 디지털 필터 설계

그 밖의 전공 기초 · 어셈블리프로그램설계및실습 A+, 데이터구조설계 A0 / 실습 A+, 전자회로 A0, 컴퓨터네트워크 B+, 컴퓨터구조 B0

07 · EXPERIENCE

활동과 경력

  1. 2026.06 ~ 현재

    서울시 앵커사업 과제 수행

    광운대학교

    Scout2Map을 과제로 수행하며 펌웨어와 상위 플랫폼 연동을 맡고, 기업 멘토링 과정의 문서 관리를 함께 담당합니다.

  2. 2026.03 ~ 현재

    행정조교

    광운대학교 교육혁신원 성과관리팀

    교육혁신원 성과관리 업무의 행정을 보조합니다.

  3. 2023.02 ~ 2024.08

    육군 병장 만기 전역

    통신 · 정보체계운용

  4. 2021.12 ~ 현재

    광운대 전자연구회 KITEL 45기

    중앙 학술동아리

    22년 기술부장. 전면 비대면이던 시기에 웹 회로 시뮬레이터와 IDE 시뮬레이션으로 보드 없이 실습하는 D/A·AVR·Arduino 세미나를 운영했습니다. 25년 AVR 세미나 강연.

  5. 2021.03 ~ 2022.12

    길잡이 교사

    의정부몽실학교

    청소년 주도 공학 HW/SW 프로젝트 2회와 모델링·SW 교육 방과후 프로그램 4회를 기획·운영했습니다.

  6. 2021.03 ~ 2022.08

    보조강사

    의정부드림메이커

    청소년 6개 팀의 HW/SW 개발 교육과 멘토링을 맡았습니다.

  7. 2020.11 ~ 2025.01

    업사이클 엔지니어

    도돌이표 플라스틱

    플라스틱 분쇄기·사출기를 제작하고 빗·블록·S고리·키링을 모델링했습니다.

  8. 2018.03 ~ 2020.03

    개발자

    삼점일사 협동조합

    쓰레기통 결합형 DID의 거점별 광고 플랫폼 SW와 웹, 하드웨어를 개발했습니다.

08 · CONTACT

읽어 주셔서 감사합니다.

채용이나 프로젝트 관련 문의는 이메일로 편하게 주세요.

상장 원본