Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
arduino-pico — 라즈베리 파이 피코 아두이노 코어, 모든 RP2040 및 RP2350 보드용 | Kitploit
도구/GitHubGitHub/earlephilhower/arduino-pico
Embedded Systems SecurityBluetooth SecurityIoT SecurityWireless SecurityHardware HackingHardware SecurityLearning & EducationFirmware Analysis
GitHubearlephilhower/arduino-pico

arduino-pico

라즈베리 파이 피코 아두이노 코어, 모든 RP2040 및 RP2350 보드용

저장소 보기
2.8k5603일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Arduino-Pico

Release Gitter

라즈베리파이 피코 아두이노 코어, 모든 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 배포판에서 '앱 스토어'로 자주 사용됨)을 사용하여 아두이노를 설치하면 호스트에 대한 접근이 제한됩니다. 이로 인해 다음과 같은 오류 메시지와 함께 업로드가 실패할 수 있습니다:

root@kitploit:~
Scanning for RP2040 devices
...
No drive to deploy.

이 문제가 발생하면 다른 방식으로 아두이노를 설치하거나 다음 명령을 사용하여 flatpak 샌드박싱 기능을 재정의한 후 아두이노를 다시 시작해야 합니다.

root@kitploit:~
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

image

확인을 눌러 대화상자를 닫습니다.

IDE에서 Tools->Boards->Board Manager로 이동합니다.

검색 상자에 'pico'를 입력하고 'Add'를 선택하세요:

image

GIT을 통한 설치

Windows 사용자: Windows에서 git을 통해 설치하기 전에 이 링크의 지침을 읽고 따르세요. Win32 긴 경로가 활성화되지 않았고 git이 이를 사용하도록 구성되지 않은 경우 서브모듈을 클론하려고 할 때 오류가 발생할 수 있습니다.

Linux 또는 Mac에서 GIT을 통해 설치하려면 (최신 버전):

root@kitploit:~
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은 다른 경로에서 수행해야 합니다:

root@kitploit:~
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 부트로더로 진입하는 초기 절차를 따르세요.

파일 시스템 이미지 업로드하기

피코의 온보드 플래시 파일 시스템인 LittleFS를 사용하면 스케치 디렉토리에서 파일 시스템 이미지를 업로드하여 스케치에서 사용할 수 있습니다. 필요한 플러그인을 다음에서 다운로드하세요:

  • https://github.com/earlephilhower/arduino-pico-littlefs-plugin/releases

설치하려면 다음의 지침을 따르세요:

  • https://github.com/earlephilhower/arduino-pico-littlefs-plugin/blob/master/README.md

자세한 사용 정보는 ESP8266 저장소 문서(SPIFFS 관련 참고 사항 무시)를 확인하세요. 다음에서 확인 가능:

  • https://arduino-pico.readthedocs.io/en/latest/fs.html

Picoprobe/Debugprobe를 사용한 스케치 업로드

라즈베리파이 Picoprobe를 구축한 경우 OpenOCD를 사용하여 스케치 업로드를 처리하고 GDB로 디버깅할 수 있습니다.

Windows에서는 로컬 관리자 사용자가 Picoprobe 포트에 자동으로 접근할 수 있어야 하지만, Linux에서는 udev에 장치를 알리고 일반 사용자 접근을 허용하도록 설정해야 합니다.

Ubuntu(및 udev를 사용하는 다른 OS)에서 Picoprobe에 대한 사용자 수준 접근을 설정하려면:

root@kitploit:~
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", MODE="660", GROUP-"plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000a", MODE="660", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000f", MODE="660", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
sudo udevadm control --reload
sudo udevadm trigger -w -s usb

첫 번째 줄은 Picoprobe의 USB 공급업체 및 제품 ID와 일치하는 장치 파일을 /dev에 생성하고 전역 읽기+쓰기 권한을 활성화합니다. 두 번째 줄은 udev가 이 새로운 규칙을 로드하도록 합니다. 세 번째 줄은 커널이 '장치 변경' 이벤트를 생성하여 새로운 udev 규칙이 실행되도록 요청합니다.

어떤 이유로 장치 파일이 나타나지 않으면 USB 연결을 수동으로 뽑았다가 다시 꽂고 다시 확인하세요. 장치 파일이 계속 없으면 dmesg 출력이 유용한 진단 정보를 제공할 수 있습니다.

Picoprobe 권한이 올바르게 설정되면 Tools 메뉴에서 'Raspberry Pi Pico (Picoprobe)' 보드를 선택하고 평소처럼 업로드하세요.

Picoprobe, OpenOCD, GDB를 사용한 디버깅

설치된 도구에는 OpenOCD(pqt-openocd 디렉토리) 및 GDB(pqt-gcc 디렉토리) 버전이 포함되어 있습니다. 이들은 라즈베리파이 재단의 Pico 시작하기 매뉴얼에 설명된 대로 대화형 창에서 GDB를 실행하는 데 사용할 수 있습니다. git 설치 디렉토리에서 명령줄 ./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl 또는 ./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl을 사용하세요.

라이선스 및 크레딧

  • Arduino IDE 및 ArduinoCore-API는 Arduino 팀이 개발 및 유지 관리합니다. IDE는 GPL에 따라 라이선스가 부여됩니다.
  • RP2040 GCC 기반 툴체인은 GPL에 따라 라이선스가 부여됩니다.
  • Pico-SDK는 Raspberry Pi (Trading) Ltd가 제공하며 BSD 3-Clause 라이선스에 따라 라이선스가 부여됩니다.
  • Arduino-Pico 코어 파일은 LGPL에 따라 라이선스가 부여됩니다.
  • LittleFS 라이브러리는 ARM Limited가 작성하고 BSD 3-clause 라이선스에 따라 공개되었습니다.
  • UF2CONV.PY는 Microsoft Corporation이 제공하며 MIT 라이선스에 따라 라이선스가 부여됩니다.
  • 네트워킹 및 파일 시스템 코드는 ESP8266 Arduino Core에서 가져왔으며 LGPL에 따라 라이선스가 부여됩니다.
  • AP 호스트 모드용 DHCP 서버는 Micropython Project에서 제공하며 MIT 라이선스로 배포됩니다.
  • FreeRTOS는 Amazon.com, Inc. 또는 그 자회사의 저작권이며 MIT 라이선스로 배포됩니다.
  • lwIP는 (c) Swedish Institute of Computer Science이며 BSD 라이선스에 따라 라이선스가 부여됩니다.
  • BearSSL 라이브러리는 Thomas Pornin이 작성했으며 MIT 라이선스로 배포됩니다.
  • UZLib는 (c) 2003 Joergen Ibsen의 저작권이며 zlib 라이선스로 배포됩니다.
  • LEAmDNS는 여러 저자의 저작권이며 MIT 라이선스로 배포됩니다.
  • http-parser는 Joyent, Inc. 및 기타 Node 기여자의 저작권입니다.
  • WebServer 코드는 ESP32 WebServer에서 수정되었으며 (c) 2015 Ivan Grokhotkov 및 기타의 저작권입니다.
  • Xoshiro-cpp는 (c) 2020 Ryo Suzuki의 저작권이며 MIT 라이선스로 배포됩니다.
  • FatFS 저수준 파일 시스템 코드는 Copyright (C) 2024, ChaN, 모든 권리 보유.
  • 는 (Matthew Conte)의 저작권이며 MIT 라이선스에 따라 라이선스가 부여됩니다.

-Earle F. Philhower, III
[email protected]

도구 다운로드
Espressif 포크의 PSRAM용 TLSF 메모리 관리자
원본
  • ESPHost 라이브러리는 유지 관리자에 의해 LGPL 라이선스가 부여됩니다.