
arduino-pico v6.0.0
라즈베리 파이 피코 아두이노 코어, 모든 RP2040 및 RP2350 보드용
Arduino-Pico
라즈베리파이 피코 아두이노 코어, 모든 RP2040 및 RP2350 보드용
이는 아두이노를 RP2040(라즈베리파이 피코 프로세서) 및 RP2350(라즈베리파이 피코 2 프로세서)으로 포팅한 것입니다. 순수 라즈베리파이 피코 SDK와 커스텀 GCC 14.3/Newlib 4.5 툴체인을 사용하며 ARM 및 RISC-V 코어를 지원합니다.
문서
자세한 사용 정보는 https://arduino-pico.readthedocs.io/en/latest/ 및 예제를 참조하세요.
기여하기
풀 리퀘스트 제출 및 라이브러리나 스케치를 이 코어로 포팅하는 방법에 대한 자세한 내용은 기여 가이드를 읽어보세요.
지원되는 보드
- Raspberry Pi Pico
- Raspberry Pi Pico W
- Raspberry Pi Pico 2
- Raspberry Pi Pico 2W
- 0xCB Helios
- Adafruit Feather RP2040
- Adafruit Feather RP2040 SCORPIO
- Adafruit Floppsy RP2040
- Adafruit ItsyBitsy RP2040
- Adafruit KB2040
- Adafruit Macropad RP2040
- Adafruit Metro RP2040
- Adafruit Metro RP2350
- Adafruit QTPy RP2040
- Adafruit STEMMA Friend RP2040
- Adafruit Trinkey RP2040 QT
- Amken Bunny
- Amken Revelop
- Amken Revelop Plus
- Amken Revelop eS
- Architeuthis Flux Jumperless
- Architeuthis Flux Jumperless V5
- Arduino Nano RP2040 Connect
- ArtronShop RP2 Nano
- BIGTREETECH SKR-Pico
- Breadstick Raspberry
- BridgeTek IDM2040-7A
- BridgeTek IDM2040-43A
- Cytron IRIV IO Controller
- Cytron Maker Pi RP2040
- Cytron Maker Nano RP2040
- Cytron Maker Uno RP2040
- Cytron Motion 2350 Pro
- Datanoise PicoADK v1
- Datanoise PicoADK v2 (RP2350)
- Degz Suibo RP2040
- DeRuiLab FlyBoard2040 Core
- DFRobot Beetle RP2040
- ElectronicCats Hunter Cat NFC
- EVN Alpha
- ExtremeElectronics RC2040
- GeeekPi RP2040 Plus
- GroundStudio Marble Pico
- Invector Labs Challenger RP2040 WiFi
- Invector Labs Challenger RP2040 WiFi/BLE
- Invector Labs Challenger RP2040 WiFi6/BLE
- Invector Labs Challenger NB RP2040 WiFi
- Invector Labs Challenger RP2040 LTE
- Invector Labs Challenger RP2040 LoRa
- Invector Labs Challenger RP2040 SubGHz
- Invector Labs Challenger RP2040 SD/RTC
- Invector Labs Challenger RP2040 UWB
- Invector Labs Challenger+ RP2350 BConnect
- Invector Labs Challenger+ RP2350 WiFi/BLE
- Invector Labs Challenger+ RP2350 NB-IoT
- Invector Labs RPICO32
- Melopero Cookie RP2040
- Melopero Shake RP2040
- METE HOCA Akana R1
- Makerbase MKSTHR36
- Makerbase MKSTHR42
- MyMakers RP2040
- Neko Systems BL2040 Mini
- Newsan Archi
- nullbits Bit-C PRO
- Olimex Pico2XL
- Olimex Pico2XXL
- Olimex RP2040-Pico30
- PicoLume Transceiver
- Pimoroni PGA2040
- Pimoroni Pico Plus 2
- Pimoroni Pico Plus 2W
- Pimoroni Plasma2040
- Pimoroni Plasma2350
- Pimoroni Plasma2350W
- Pimoroni Servo2040
- Pimoroni Tiny2040
- Pimoroni Tiny2350
- Pintronix PinMax
- PCBCupid Glyph 2040
- PCBCupid Glyph Mini 2040
- RAKwireless RAK11300
- Redscorp RP2040-Eins
- Redscorp RP2040-ProMini
- Sea-Picro
- Seeed Indicator RP2040
- Seeed XIAO RP2040
- Seeed XIAO RP2040 Plus
- Seeed XIAO RP2350
- Silicognition RP2040-Shim
- Solder Party RP2040 Stamp
- Solder Party RP2350 Stamp
- Solder Party RP2350 Stamp XL
- Soldered Electronics NULA Ethernet W55RP20
- Soldered Electronics NULA RP2350
- SparkFun IoT RedBoard RP2350
- SparkFun MicroMod RP2040
- SparkFun ProMicro RP2040
- SparkFun ProMicro RP2350
- SparkFun Thing Plus RP2040
- SparkFun Thing Plus RP2350
- SparkFun XRP Controller
- uPesy RP2040 DevKit
- VCC-GND YD-RP2040
- Viyalab Mizu RP2040
- Waveshare RP2040 Zero
- Waveshare RP2040 One
- Waveshare RP2040 Plus
- Waveshare RP2040 LCD 0.96
- Waveshare RP2040 LCD 1.28
- Waveshare RP2040 LoRa
- Waveshare RP2040 Matrix
- Waveshare RP2040 PiZero
- Waveshare RP2350 Zero
- Waveshare RP2350 PiZero
- Waveshare RP2350 Plus
- Waveshare RP2350 Plus W
- Waveshare RP2350 LCD 0.96
- WIZnet W5100S-EVB-Pico
- WIZnet W5100S-EVB-Pico2
- WIZnet W5500-EVB-Pico
- WIZnet W5500-EVB-Pico2
- WIZnet W55RP20-EVB-Pico
- WIZnet W6300-EVB-Pico
- WIZnet W6300-EVB-Pico2
- WIZnet WizFi360-EVB-Pico
- Generic RP2040 (configurable flash, I/O pins)
- Generic RP2350 (configurable flash, I/O pins)
기능
- Adafruit TinyUSB Arduino (USB 마우스, 키보드, 플래시 드라이브, 일반 HID, CDC 시리얼, MIDI, WebUSB, 기타)
- PicoW의 블루투스 (클래식 및 BLE) 키보드, 마우스, 조이스틱, 가상 시리얼 지원
- 블루투스 클래식 및 BLE HID 마스터 모드 (BT 키보드, 마우스, 조이스틱 연결)
- 일반 아두이노 USB 시리얼, 키보드, 조이스틱, 마우스 에뮬레이션
- WiFi (Pico W, ESP32 기반 ESPHost, Atmel WINC1500)
- 이더넷 (유선 WizNet W6300, WizNet W6100, WizNet W5500, WizNet W5100, ENC28J60)
- HTTP 클라이언트 및 서버 (WebServer)
- SSL/TLS/HTTPS
- OTA 업그레이드
- 파일 시스템 (LittleFS 및 SD/SDFS)
- 멀티코어 지원 (setup1() 및 loop1())
- FreeRTOS SMP 지원
- 메뉴에서 오버클러킹 및 언더클러킹
- digitalWrite/Read, shiftIn/Out, tone, analogWrite(PWM)/Read, 온도
- DMA 및 내장 ADC를 사용한 아날로그 스테레오 오디오 입력
- PWM 하드웨어를 사용한 아날로그 스테레오 오디오 출력
- PicoW의 블루투스 A2DP 오디오 소스(출력) 및 싱크(입력)
- 데이터 로거용 USB 드라이브 모드 (SingleFileDrive, FatFSUSB)
- 주변 장치: SPI 마스터/슬레이브, Wire(I2C) 마스터/슬레이브, 듀얼 UART, 에뮬레이션된 EEPROM, I2S 오디오 입력/출력, 서보
- USB 시리얼을 통한 printf(디버그) 출력
- PSRAM 전역 변수 및 힙의 투명한 사용 (RP2350 전용)
- RP2350의 ARM 또는 RISC-V (Hazard3) 지원
- 세미호스팅 시리얼 및 파일 시스템 접근
- GPROF 프로파일링 지원
RP2040 PIO 상태 머신(SM)은 지터 없는 생성을 위해 사용됩니다:
- 서보
- 톤
- I2S 입력
- I2S 출력
- 소프트웨어 UART (시리얼 포트)
- 소프트웨어 SPI
Arduino 보드 매니저를 통한 설치
Windows 관련 참고 사항
실제 아두이노 애플리케이션의 Windows Store 버전은 연결된 피코 보드를 감지하는 데 문제가 있으므로 사용하지 마세요. Windows ZIP 또는 일반 Windows 실행 파일(EXE)을 https://arduino.cc에서 직접 다운로드하고 제안하는 모든 장치 드라이버를 설치하도록 허용하세요. 그렇지 않으면 피코 보드가 감지되지 않을 수 있습니다. 또한 아두이노 2.0 베타를 시도하는 경우 필요한 장치 드라이버가 있는지 확인하기 위해 미리 릴리스 1.8 버전을 설치하세요. (자세한 내용은 #20 참조)
Linux 관련 참고 사항
flatpak(여러 Linux 배포판에서 '앱 스토어'로 자주 사용됨)을 사용하여 아두이노를 설치하면 호스트에 대한 접근이 제한됩니다. 이로 인해 다음과 같은 오류 메시지와 함께 업로드가 실패할 수 있습니다:
Scanning for RP2040 devices
...
No drive to deploy.
이 문제가 발생하면 다른 방식으로 아두이노를 설치하거나 다음 명령을 사용하여 flatpak 샌드박싱 기능을 재정의한 후 아두이노를 다시 시작해야 합니다.
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
설치
Arduino IDE를 열고 File->Preferences로 이동합니다.
팝업 대화상자에서 'Additional Boards Manager URLs' 필드에 다음 URL을 입력하세요:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

확인을 눌러 대화상자를 닫습니다.
IDE에서 Tools->Boards->Board Manager로 이동합니다.
검색 상자에 'pico'를 입력하고 'Add'를 선택하세요:

GIT을 통한 설치
Windows 사용자: Windows에서 git을 통해 설치하기 전에 이 링크의 지침을 읽고 따르세요. Win32 긴 경로가 활성화되지 않았고 git이 이를 사용하도록 구성되지 않은 경우 서브모듈을 클론하려고 할 때 오류가 발생할 수 있습니다.
Linux 또는 Mac에서 GIT을 통해 설치하려면 (최신 버전):
mkdir -p ~/Arduino/hardware/pico
git clone https://github.com/earlephilhower/arduino-pico.git ~/Arduino/hardware/pico/rp2040
cd ~/Arduino/hardware/pico/rp2040
git submodule update --init --recursive
cd tools
python3 ./get.py
Windows의 경우 Python이 이미 설치되어 있고 git clone은 다른 경로에서 수행해야 합니다:
mkdir %USERPROFILE%\Documents\Arduino\hardware\pico
git clone https://github.com/earlephilhower/arduino-pico.git %USERPROFILE%\Documents\Arduino\hardware\pico\rp2040
cd %USERPROFILE%\Documents\Arduino\hardware\pico\rp2040
git submodule update --init --recursive
cd tools
python .\get.py
스케치 업로드하기
첫 번째 스케치를 업로드하려면 피코를 컴퓨터에 연결하는 동안 BOOTSEL 버튼을 누르고 있어야 합니다. 그런 다음 업로드 버튼을 누르면 스케치가 전송되어 실행되기 시작합니다.
첫 번째 업로드 후에는 arduino-pico 코어에 자동 리셋 지원이 있으므로 이 작업이 필요하지 않습니다.
Arduino Tools->Port->Serial Port 메뉴에 표시된 적절한 시리얼 포트를 한 번 선택하세요 (이 설정은 유지되며 여러 업로드 시 다시 건드릴 필요가 없습니다). 이 선택을 통해 자동 리셋 도구가 리셋할 적절한 장치를 식별할 수 있습니다. 그런 다음 업로드 버튼을 누르면 스케치가 업로드되어 실행됩니다.
경우에 따라 피코가 하드 행에 걸려 USB 포트가 자동 리셋 요청에 응답하지 않을 수 있습니다. 이런 경우 피코를 연결하는 동안 BOOTSEL 버튼을 눌러 ROM 부트로더로 진입하는 초기 절차를 따르세요.