라즈베리 파이 피코 2 W에서 러스트로 만든 Matter Wi‑Fi 전구

발행: (2026년 6월 8일 AM 09:17 GMT+9)
4 분 소요

출처: Hacker News

이 저장소에는 Rust와 Embassy 비동기 프레임워크를 사용해 작성한 Raspberry Pi Pico 2 (RP2350) 보드용 예제들이 포함되어 있습니다.

프로젝트 생성

cargo generate --git https://github.com/ImplFerris/pico2-template.git --name rust-rpico2-embassy-examples

하드웨어

보드: Raspberry Pi Pico 2

  • MCU: RP2350 (듀얼 코어 Arm Cortex‑M33 및 RISC‑V 코어)

내장 주변장치:

  • GPIO25에 연결된 LED

핀아웃

Raspberry Pi Pico 2 Pinout

공통 핀 할당

I2C 핀:

  • I2C0 SDA: GPIO4
  • I2C0 SCL: GPIO5
  • I2C1 SDA: GPIO2
  • I2C1 SCL: GPIO3

UART 핀:

  • UART0 TX: GPIO0, UART0 RX: GPIO1
  • UART1 TX: GPIO8, UART1 RX: GPIO9

예제

I2C 예제

hs3003_i2c

Embassy 비동기 프레임워크를 사용해 HS3003 센서에서 온도와 습도를 읽어옵니다.

cargo run --example hs3003_i2c

배선 (Arduino Modulino Thermo):

     Modulino -> RPi Pico 2
----------    --------------
GND (black) -> GND
VCC (red)   -> 3.3V
SCL (yellow)-> GPIO5 (Pin 7) (I2C0 SCL)
SDA (blue)  -> GPIO4 (Pin 6) (I2C0 SDA)

HS3003 소개:

Renesas HS3003은 고성능 온도·습도 센서입니다.

  • 온도 범위: -40 °C ~ +125 °C (±0.2 °C 정확도)
  • 습도 범위: 0 % ~ 100 % RH (±1.5 % 정확도)
  • 두 측정 모두 14‑bit 해상도
  • 초저전력 소모

adxl345_i2c

Embassy를 이용해 I2C0를 통해 ADXL345 가속도계 데이터를 읽어옵니다.

cargo run --example adxl345_i2c

배선:

     ADXL345 -> RPi Pico 2
----------    --------------
GND (black) -> GND
VCC (red)   -> 3.3V
SCL (yellow)-> GPIO5 (Pin 7) (I2C0 SCL)
SDA (blue)  -> GPIO4 (Pin 6) (I2C0 SDA)

ADXL345 소개:

ADXL345는 작고 얇으며 저전력인 3축 가속도계로, 13‑bit 해상도로 최대 ±16 g까지 측정합니다. 디지털 출력은 16‑bit 2의 보수 형태이며, SPI(3‑선 또는 4‑선) 혹은 I2C 디지털 인터페이스를 통해 접근할 수 있습니다.

SPI 디스플레이 예제

zermatt

Adafruit 2.2” TFT LCD 디스플레이에 Zermatt 풍경(320×240)을 가로 모드로 표시합니다.

cargo run --example zermatt

배선 (Eye‑SPI Breakout):

 VIN   (Red Wire)        |
   |  GND (Pin 38) --------+------+-> GND   (Black Wire)      |
   |  GPIO18 (Pin 24) -----+------+-> SCK   (Blue Wire)       |
   |  GPIO19 (Pin 25) -----+------+-> MOSI  (Green Wire)      |
   |  GPIO16 (Pin 21) -----+------+-> MISO  (Yellow Wire)     |
   |  GPIO20 (Pin 26) -----+------+-> DC    (White Wire)      |
   |  GPIO21 (Pin 27) -----+------+-> RST   (Orange Wire)     |
   |  GPIO17 (Pin 22) -----+------+-> TCS   (Blue Wire)       |
   |                       |      |                           |
   +-----------------------+      +---------------------------+
     Raspberry Pi Pico 2              Eye-SPI Breakout
   +-----------------------+      +---------------------------+
   |                       |      |                           |
   |  3V3 (Pin 36) --------+------+-> VIN   (Red Wire)        |
   |  GND (Pin 38) --------+------+-> GND   (Black Wire)      |
   |  GPIO18 (Pin 24) -----+------+-> SCK   (Blue Wire)       |
   |  GPIO19 (Pin 25) -----+------+-> MOSI  (Green Wire
0 조회
Back to Blog

관련 글

더 보기 »