본문 바로가기
NORDIC

[nRF52840] 1편: Bluetooth Mesh를 위한 개발 환경 구축 및 빌드 삽질기

by 소나무기운 2026. 4. 1.
반응형

[2026/03/31] First Start.

소나무 기운 ,  전자제품 개발/생산

[nRF52840] 1편: Bluetooth Mesh를 위한 개발 환경 구축 및 빌드 삽질기

 

👛구매링크

https://ko.aliexpress.com/item/1005009890279520.html?spm=a2g0o.order_list.order_list_main.11.26f7140fm0HGmO&gatewayAdapt=glo2kor

 

TENSTAR 2pcs NRF52840 개발 보드는 Nice!Nano V2.0 블루투스 분할 키보드 프로 마이크로 레드 보드와 호환

Smarter Shopping, Better Living! Aliexpress.com

ko.aliexpress.com

 

 

 

🫙소스코드

 

 

 

1. 시작하며: nRF52840 보드 4개를 지르다

최근 테크 프로젝트를 위해 nRF52840 보드 4개를 구매했다. 1:1 통신을 넘어 Bluetooth Mesh 네트워크를 구축해보기 위해서다. 필자가 구매한 보드는 Nice!Nano V2.0 호환(Pro Micro 타입) 제품으로, 작지만 강력한 성능을 자랑한다.

 

 

2. 개발 환경 세팅 (nRF Connect SDK)

Nordic 반도체의 표준 개발 환경인 nRF Connect SDK (NCS)를 기반으로 세팅을 진행했다.

 

- 준비물: nRF Connect Desktop, VS Code, nRF Connect for VS Code Extension Pack.

 

- 설치 팁: Toolchain Manager를 통해 SDK(v2.9.2 권장)를 설치하면 컴파일러와 툴체인을 한꺼번에 관리할 수 있어 편리하다.

 

https://www.nordicsemi.com/Products/Development-tools/nRF-Connect-for-Desktop

 

nRF Connect for Desktop

nRF Connect for Desktop is a cross-platform framework for development applications. It contains applications for testing Bluetooth Low Energy and LTE links, power optimization, programming and more.

www.nordicsemi.com

여기서 다운로드 받으면 된다.

nrfconnect-setup-5.2.1-x64.exe를 다운로드 받고 설치한다.

 

Bluetooth Low Energy는 프로그램완료 후 실험을 하기위해서 필요하다.

 

Toolchain Manager는  최신 버전보다는 안정화 버전을 선택했다.

2.9.2를 선택하였다. 

 

VSCode의 extension설치는 nRF Connect for  VS Code Extension Pack을 선택하면

꼭 필요한 6가지의 Extension을 모두 설치하게 된다.

 

 

 

 

Hello world 프로젝트 생성 & 컴파일

 

첫줄 Extension에서 nRF Connect를 선택한 후 Create a new application을 선택한다. 

이후 Copy a Sample을 선택하고 Hello로 검색하여 Hello world를 선택한다.

 

 

Add build configuration를 선택하고 

 

 

Board target을 선택하고 빌드를 진행한다.

 

빌드가 완료가 된다.

 

3. 주요 트러블슈팅 (핵심 포인트!)

이번 빌드 과정에서 겪은 세 가지 큰 고비와 해결책을 공유한다. 저와 같은 실수를 하는 분들이 없길 바란다.


① VS Code가 SDK를 못 찾을 때
익스텐션을 설치했는데 Install SDK만 보인다면? 당황하지 말고 Ctrl + Shift + P를 눌러 Manage SDKs와 Manage Toolchains 메뉴에서 이미 설치된 경로(예: C:\ncs\v2.9.2)를 수동으로 지정해 주면 됩니다.

그래도 안되면 c:\ncs\v2.9.2폴더를 VSCode에서 연다. 그럼 SDK라는 것을 인식하고 Extension이 활성화 된다.


② 보드 타겟 설정 (Pro Micro라고 다 같은 게 아니다)
가장 큰 삽질이었던 부분입니다. 보드가 Pro Micro 형태라고 해서 sparkfun_pro_micro_rp2040을 선택하면 안 된다!
원인: 보드 모양은 같아도 안에 들어간 칩(RP2040 vs nRF52840)이 다르면 빌드가 불가능하다.
해결: nrf52840dk/nrf52840 혹은 nice_nano/nrf52840을 선택해야 한다.

제품 구매링크에 관련 내용이 있으니 참고하자.


③ 윈도우 한글 환경의 저주 (UnicodeDecodeError: 'cp949')
가장 당황스러웠던 에러입니다. 빌드 중 cp949 관련 인코딩 에러가 발생한다면 윈도우 시스템 설정을 바꿔야 합니다.
해결: [제어판] - [국가 또는 지역] - [관리자 옵션] - [시스템 로캘 변경] - "Beta: 세계 언어 지원을 위해 Unicode UTF-8 사용" 체크 후 재부팅!

 

 

4. Hello World 빌드 성공!

우여곡절 끝에 hello_world 샘플 프로젝트를 빌드하는 데 성공했다.
Build Target: nrf52840dk/nrf52840
Sysbuild: 해제 (초기 단계에서는 꺼두는 것이 정신 건강에 좋습니다.)
결과: [100%] Built target zephyr_final 문구를 확인했을 때의 쾌감이란!

 

 

 

 

마무리

다음 단계는?

빌드는 성공했으니, 이제 실제 보드에 펌웨어를 굽는(Flashing) 과정을 진행해 보겠습니다. 이 보드는 J-Link 없이 USB 부트로더를 이용할 수 있는데, 다음 포스팅에서 상세히 다뤄보겠습니다.

 

 

 

참고문헌

마무리5

 

 

 
 

 

 

틀린 부분이나 질문은 댓글 달아주세요.

즐거운 하루 보내세요. 감사합니다.

 

 

반응형

댓글