Chapter 1. 하드웨어 및 환경 구축

1.1 라즈베리파이 Pico 생김새

라즈베리파이 Pico는 영국의 라즈베리파이 재단에서 만든 소형 마이크로컨트롤러 보드입니다. 손바닥보다 작은 크기이지만, 각종 센서·LED·모터 등 전자부품을 직접 연결하여 제어할 수 있는 강력한 성능을 갖추고 있습니다.

Pico 2 WH 보드 전체 설명

Pico 2 WH 보드 구성 (Raspberry Pi 공식 제공)

💡 라즈베리파이 Pico 구성

  • 라즈베리파이 Pico는 초록색 보드와 보드와 PC를 연결하기 위한 마이크로 5핀 케이블로 구성되어 있습니다.
  • 보드 양쪽에는 40개의 핀(다리)이 있어 센서·LED 등 다양한 전자부품을 연결할 수 있습니다.
  • 보드 위의 작은 흰색 버튼은 BOOTSEL(부트셀) 버튼으로, 최초 펌웨어 설치 시 사용합니다.
  • 보드 뒤에 붙은 'H'는 Header(헤더 핀)의 약자로, 공장에서 미리 핀이 납땜된 제품입니다. 별도 납땜 없이 바로 사용 가능합니다.

1.2 차세대 마이크로컨트롤러 RP2350 칩셋 스펙

Pico 2 WH의 심장은 라즈베리파이 재단이 직접 설계한 차세대 고성능 마이크로컨트롤러 RP2350 칩셋입니다. 이전 세대인 RP2040에 비해 프로세서 아키텍처가 대폭 업그레이드되었으며, 연산 속도와 메모리 효율, 그리고 IoT 보안 기술인 Arm TrustZone-M이 탑재되어 더욱 강력하고 안전한 프로젝트 환경을 제공합니다.

항목 (Specification) 이전 세대 (RP2040) 차세대 프로세서 (RP2350)
코어 아키텍처 (CPU) Dual Arm Cortex-M0+ Dual Arm Cortex-M33
(또는 Dual Hazard3 RISC-V 코어 선택 가능)
기본 클럭 속도 (Clock) 133 MHz 150 MHz (약 1.5배 연산 성능 향상)
부동소수점 연산 (FPU) 하드웨어 FPU 미탑재 (소프트웨어 처리) 하드웨어 부동소수점 연산 장치(FPU) 탑재
내부 RAM (SRAM) 264 KB 520 KB (데이터 적재 공간 약 2배 확장)
하드웨어 보안 (Security) 기본적인 보안 기능 없음 Arm TrustZone-M 하드웨어 보안 기술 안전 부팅(Secure Boot) 지원
저전력 모드 효율 일반 저전력 상태 지원 초저전력 상태에서의 전류 소모 대폭 감소 (배터리 효율 상승)
PIO (Programmable I/O) 2개 블록 (총 8개 상태 머신) 3개 블록 (총 12개 상태 머신)으로 커스텀 인터페이스 확장성 강화

1.3 하드웨어 제어의 핵심: 핀 배열(Pinout)

센서와 모터 등 외부 부품을 연결하려면 보드 양쪽에 일렬로 늘어선 40개의 금속 핀(다리)들의 역할을 정확히 알아야 합니다. 아래의 핀맵(Pinout) 다이어그램은 앞으로 하드웨어 조립 시 가장 많이 참고하게 될 핵심 지도입니다.

Pico W 공식 핀맵 다이어그램

Pico 시리즈 공식 핀 배열도 (Raspberry Pi 공식 제공)

📌 초보자가 반드시 알아야 할 4가지 핵심 핀

40개의 핀을 당장 모두 외울 필요는 없습니다. 색상별로 구분된 아래의 4가지 역할만 이해하면 대부분의 부품을 연결할 수 있습니다.

핀 이름 (색상) 역할 및 설명
GPIO (연두색)
GP0 ~ GP28
General Purpose Input/Output (범용 입출력)
우리가 직접 코딩으로 제어하는 다리입니다. LED에 전기를 보내 켜게 하거나(출력), 버튼이 눌렸는지 신호를 읽어오는(입력) 역할을 합니다.
GND (검은색)
Ground
접지 (전기의 마이너스 극)
전기는 반드시 나간 곳으로 돌아와야 흐릅니다. 보드에서 출발한 전기가 센서를 거쳐 다시 보드로 돌아오는 '도착점' 역할을 합니다. 8개의 다리가 배치되어 있습니다.
3V3(OUT) (빨간색)
3.3V 전원 출력
부품에 전원 공급 (전기의 플러스 극)
보드가 USB로부터 전기를 받아서, 외부 센서나 디스플레이가 작동할 수 있도록 3.3V의 일정한 전기를 내어주는 다리입니다. 36번 핀 하나뿐입니다.
ADC (진한 초록색)
아날로그 입력
연속적인 값 읽기
버튼처럼 켜짐/꺼짐(1/0)만 있는 것이 아니라, 온도의 미세한 변화나 빛의 밝기처럼 '연속적인 아날로그 신호'를 숫자로 변환해서 읽어들이는 다리입니다.

1.4 개발 환경 Thonny IDE 설치

하드웨어 준비가 완료되었다면, 이제 Pico에 명령(코드)을 전달할 번역기 프로그램이 필요합니다. 처음 입문할 때는 초보자 친화적인 Thonny(토니) 에디터 사용을 적극 권장합니다.

💻 Thonny 다운로드 및 설치 방법

  1. 공식 웹사이트 thonny.org에 접속합니다.
  2. 화면 우측 상단의 Windows 글자를 클릭하여 설치 파일(.exe)을 다운로드합니다.
  3. 다운로드된 파일을 실행하고, 특별한 설정 변경 없이 [Next]를 눌러 설치를 완료합니다.
  4. 설치 완료 후 바탕화면에 Thonny 아이콘이 생성됩니다.
Thonny IDE에서 Pico 연결

Thonny IDE에서 Pico 연결 화면

1.5 Thonny 시작 및 Pico 연결하기

Thonny 설치가 끝났다면, Pico 보드와 연결하는 과정이 필요합니다. 아래 순서대로 따라하면 코드 작성을 바로 시작할 수 있습니다.

💡 Thonny와 Pico 연결 순서

  1. 바탕화면의 Thonny 아이콘을 더블클릭하여 프로그램을 실행합니다.
  2. 처음 실행 시 언어 선택 화면이 나타나면 한국어로 설정한 후 [Let's go!]를 클릭합니다.
  3. Thonny 화면 우측 하단의 인터프리터 버튼(예: "Local Python 3")을 클릭합니다.
  4. 목록에서 MicroPython (Raspberry Pi Pico)를 선택합니다.
  5. 하단 [쉘(Shell)] 창에 >>> 프롬프트가 표시되면 연결 완료 — 코드 작성 준비 끝!

연결 확인 방법

Thonny 하단 [쉘] 창에 MicroPython vX.X.X; Raspberry Pi Pico 문구가 표시되면 Pico와 정상적으로 연결된 것입니다. 만약 연결이 되지 않는다면 Pico를 다시 꽂은 후 인터프리터를 재선택해 보세요.

1.6 브레드보드 및 점퍼선 이해하기

센서나 LED 등 전자부품을 Pico와 연결할 때는 브레드보드(빵판)점퍼선을 활용합니다. 납땜 없이 부품을 끼웠다 뺄 수 있어 초보자도 쉽게 회로를 구성하고 수정할 수 있습니다.

🔌 브레드보드(빵판) 구조와 원리

브레드보드는 내부에 금속 클립이 가로 방향으로 연결되어 있어, 같은 행(가로줄)에 꽂힌 핀들이 서로 전기적으로 연결됩니다.

구성 영역 위치 역할 및 설명
전원 레일
(Power Rail)
양쪽 끝 세로 줄 (+) 빨간 줄, (-) 파란 줄로 표시됩니다. 보드 전체에 전원(3.3V/5V)과 GND를 공급하는 통로입니다. 같은 줄은 세로 방향으로 모두 연결되어 있습니다.
부품 영역
(Component Area)
가운데 구멍들 센서·LED·저항 등 부품을 꽂는 공간입니다. 같은 행(가로줄, a~e / f~j)의 구멍끼리 내부에서 연결되어 있습니다. 가운데 홈을 기준으로 위아래 구역은 분리됩니다.

🔗 점퍼선 종류와 용도

점퍼선은 전류가 지나갈 수 있도록 전자부품들을 이어주는 연결선입니다. 연결하려는 부품의 단자 형태에 따라 알맞은 종류를 선택해야 합니다.

종류 양쪽 단자 주요 사용처
수수(Male-Male) 핀 ↔ 핀 브레드보드와 브레드보드, 또는 브레드보드와 Pico 핀 헤더 사이를 연결할 때 가장 많이 사용합니다.
암수(Female-Male) 소켓 ↔ 핀 한쪽이 소켓, 반대쪽이 핀입니다. 초음파 센서·DHT22 등 핀이 튀어나온 센서 모듈을 브레드보드와 연결할 때 주로 사용합니다.
암암(Female-Female) 소켓 ↔ 소켓 양쪽 모두 소켓입니다. 핀 헤더가 있는 두 모듈 사이를 직접 연결하거나 GPIO 확장 모듈 연결 시 사용합니다.

💡 브레드보드 + 점퍼선 사용 팁

  • Pico의 3V3(OUT) 핀 → 브레드보드 (+) 레일, GND 핀 → 브레드보드 (-) 레일에 연결하면 모든 부품에 전원을 쉽게 분배할 수 있습니다.
  • 점퍼선 색상은 관례적으로 빨간색 = 전원(+), 검은색 = GND(-)를 사용하면 회로를 한눈에 파악하기 쉽습니다.
  • 브레드보드에 부품을 꽂을 때 가운데 홈(골짜기)을 기준으로 위아래 구역은 분리되어 있음을 항상 기억하세요.

1.7 고급 개발 환경: VS Code 구축 (선택 사항)

Thonny에 익숙해졌거나 더 강력한 코드 자동 완성 및 프로젝트 관리가 필요하다면, 실무 IoT 개발자들이 주로 사용하는 Visual Studio Code (VS Code)로 환경을 구성할 수 있습니다.

[1단계] 필수 소프트웨어 설치

  • VS Code: 공식 홈페이지에서 다운로드 후 설치합니다.
  • Python: PC에 파이썬이 설치되어 있어야 합니다. (설치 시 반드시 Add Python to PATH 옵션을 체크하세요!)

[2단계] 핵심 확장 프로그램(Extension) 설치

VS Code 좌측 메뉴의 Extensions(확장, Ctrl+Shift+X) 아이콘을 클릭하고 검색창에 아래 두 가지를 검색하여 설치합니다.

  • Python: Microsoft에서 제공하는 공식 파이썬 확장 프로그램
  • MicroPico: (구 Pico-W-Go) Pico 보드와 VS Code를 완벽하게 연결해 주는 필수 확장 프로그램

[3단계] 프로젝트 초기화 및 통신 포트 연결

  1. 마이크로 5핀 케이블로 Pico 2 보드를 PC에 연결합니다.
  2. VS Code에서 코드를 저장할 새로운 빈 폴더(예: Pico_Project)를 생성하고 엽니다 (File > Open Folder).
  3. 단축키 F1 또는 Ctrl + Shift + P를 눌러 Command Palette(명령 팔레트)를 띄웁니다.
  4. 검색창에 MicroPico: Configure project를 입력하고 엔터를 누릅니다. (자동으로 .vscode 폴더가 생성되며 마이크로파이썬 전용 공간으로 세팅됩니다.)
  5. VS Code 하단 파란색 상태 표시줄의 Pico Disconnected를 클릭하고, Pico의 포트(예: COM3)를 선택하여 Pico Connected 상태로 만듭니다.

VS Code와 Thonny의 결정적 차이점 (주의!)

Thonny는 저장 버튼을 누르면 보드 내부에 코드가 바로 저장되지만, VS Code는 기본적으로 PC 하드디스크에 파일을 저장합니다. 따라서 하단 상태 표시줄의 MicroPico 전용 버튼을 용도에 맞게 반드시 활용해야 합니다.

  • ▶️ Run: 현재 파일을 보드 메모리에 올려 일회성으로 실행해 보는 테스트 버튼
  • ⬆️ Upload project to Pico: PC의 파일들을 보드 내부로 영구 복사(업로드)하는 버튼 (전원을 껐다 켜도 실행되게 하려면 필수!)
  • ⬇️ Download project from Pico: 보드 내부에 있는 파일을 PC로 백업해 오는 버튼

1.8 실물 없이도 실습! Wokwi 온라인 시뮬레이터

아직 Pico 2 보드나 센서 부품이 도착하지 않았거나, 배선을 틀릴까 걱정된다면 Wokwi를 활용해 보세요. Wokwi는 브라우저에서 바로 회로를 구성하고 MicroPython 코드를 실행하여 LED, 센서, 모터 등의 동작을 실시간으로 시뮬레이션할 수 있는 무료 온라인 서비스입니다. 이 교재의 모든 실습 챕터 끝부분에는 "Wokwi 시뮬레이션으로 실습하기" 코너가 마련되어 있어, 실제 하드웨어 없이도 코드와 회로 동작을 먼저 검증해 볼 수 있습니다.

💻 Wokwi로 첫 Pico 프로젝트 만들기

  1. wokwi.com에 접속하고 무료 회원가입(GitHub 계정 로그인 가능)을 합니다.
  2. 상단 [New Project] 버튼을 클릭하고, 보드 목록에서 "Raspberry Pi Pico" (MicroPython 템플릿)를 선택합니다.
  3. 왼쪽 diagram.json 탭에서 부품을 추가하고 배선을 그립니다. 이 교재에서 제공하는 diagram.json 코드를 그대로 붙여넣으면 회로가 자동으로 구성됩니다.
  4. 오른쪽 main.py 탭에 이 교재의 파이썬 코드를 붙여넣습니다.
  5. 화면 상단 ▶️ (녹색 재생 버튼)을 누르면 시뮬레이션이 시작되고, LED 점멸이나 센서 값 변화를 실시간으로 확인할 수 있습니다.

💡 Tip: 실제 보드와 100% 동일하게 동작하지는 않지만(타이밍 오차, 일부 센서 미지원 등), 문법 오류를 잡거나 회로 아이디어를 빠르게 검증하기에 매우 유용합니다. 실물 보드가 준비되면 반드시 실제 하드웨어로도 다시 실습해 보세요.