Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
arduino-pico — Raspberry Pi Pico Arduino core, для всех плат RP2040 и RP2350 | Kitploit
Инструменты/GitHubGitHub/earlephilhower/arduino-pico
Безопасность встроенных системБезопасность BluetoothБезопасность IoTБезопасность беспроводных сетейАппаратный ХакингАппаратная БезопасностьОбучение и ОбразованиеАнализ Прошивок
GitHubearlephilhower/arduino-pico

arduino-pico

Raspberry Pi Pico Arduino core, для всех плат RP2040 и RP2350

Репозиторий
2.8k5601 день назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Arduino-Pico

Release Gitter

Ядро Arduino для Raspberry Pi Pico, для всех плат на RP2040 и RP2350

Это порт Arduino на RP2040 (процессор Raspberry Pi Pico) и RP2350 (процессор Raspberry Pi Pico 2). Он использует голый Raspberry Pi Pico SDK и пользовательский набор инструментов GCC 14.3/Newlib 4.5 и поддерживает ядра ARM и RISC-V.

Документация

См. https://arduino-pico.readthedocs.io/en/latest/ вместе с примерами для получения более подробной информации об использовании.

Внесение вклада

Прочитайте Руководство по внесению вклада для получения дополнительной информации об отправке pull request'ов и портировании библиотек или скетчей в это ядро.

Поддерживаемые платы

  • 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 Serial, MIDI, WebUSB и другие)
  • Bluetooth на PicoW (Classic и BLE) с клавиатурой, мышью, джойстиком и виртуальным последовательным портом
  • Режим ведущего HID для Bluetooth Classic и BLE (подключение BT-клавиатуры, мыши или джойстика)
  • Эмуляция универсального Arduino USB Serial, Keyboard, Joystick и Mouse
  • Wi-Fi (Pico W, ESPHost на базе ESP32, Atmel WINC1500)
  • Ethernet (проводной 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, temperature
  • Аналоговый стереовход с использованием DMA и встроенного АЦП
  • Аналоговый стереовыход с использованием аппаратного ШИМ
  • Источник (выход) и приёмник (вход) Bluetooth A2DP на PicoW
  • Режим USB-накопителя для регистраторов данных (SingleFileDrive, FatFSUSB)
  • Периферия: SPI ведущий/ведомый, Wire(I2C) ведущий/ведомый, два UART, эмулируемая EEPROM, аудиовход/выход I2S, Servo
  • Вывод printf (т.е. отладочной информации) через USB-последовательный порт
  • Прозрачное использование глобальных переменных и кучи в PSRAM (только RP2350)
  • Поддержка ARM или RISC-V (Hazard3) для RP2350
  • Полухостовый (semihosted) доступ к последовательному порту и файловой системе
  • Поддержка профилирования GPROF

Государственные машины PIO (SMs) RP2040 используются для генерации без джиттера:

  • Сервоприводов
  • Тонов
  • Входа I2S
  • Выхода I2S
  • Программных UART (последовательных портов)
  • Программных SPI

Установка через менеджер плат Arduino

Примечания для Windows

Пожалуйста, не используйте версию приложения Arduino из Windows Store, поскольку у неё возникают проблемы с обнаружением подключённых плат Pico. Используйте загрузку "Windows ZIP" или обычного исполняемого файла (EXE) "Windows" напрямую с https://arduino.cc и разрешите установку всех предлагаемых драйверов устройств. В противном случае плата Pico может не обнаруживаться. Кроме того, если вы пробуете бета-версию Arduino 2.0, пожалуйста, предварительно установите версию 1.8, чтобы убедиться, что необходимые драйверы устройств присутствуют. (См. #20 для подробностей.)

Примечания для Linux

Установка Arduino с помощью flatpak (часто используемого "Магазинами приложений" в различных дистрибутивах Linux) означает ограниченный доступ к хосту. Это может привести к сбоям загрузки с сообщениями об ошибках, подобными следующим:

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

Если вы столкнулись с этим, вам нужно либо установить Arduino другим способом, либо отключить функцию песочницы flatpak с помощью следующей команды, а затем перезапустить Arduino.

root@kitploit:~
flatpak override --user --filesystem=host:ro cc.arduino.IDE2

Установка

Откройте IDE Arduino и перейдите в Файл->Настройки.

В появившемся диалоговом окне введите следующий URL в поле "Дополнительные ссылки для менеджера плат":

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

image

Нажмите OK, чтобы закрыть диалоговое окно.

Перейдите в Инструменты->Платы->Менеджер плат в IDE.

Введите "pico" в поле поиска и выберите "Добавить":

image

Установка через GIT

Пользователи Windows: Перед установкой через git в Windows, пожалуйста, прочитайте и следуйте указаниям по этой ссылке. Если длинные пути Win32 не включены, а git не настроен на их использование, то при попытке клонировать подмодули могут возникнуть ошибки.

Для установки через GIT (для последних и самых новых версий) в Linux или Mac:

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 выполняется по другому пути:

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 при подключении Pico к компьютеру. Затем нажмите кнопку загрузки, и скетч будет передан и начнёт выполняться.

После первой загрузки это не потребуется, так как ядро arduino-pico поддерживает автосброс. Выберите соответствующий последовательный порт в меню Arduino Инструменты->Порт->Последовательный порт один раз (эта настройка сохранится, и её не нужно менять для последующих загрузок). Этот выбор позволяет инструменту автосброса определить правильное устройство для сброса. Затем нажмите кнопку загрузки, и ваш скетч загрузится и запустится.

В некоторых случаях Pico может полностью зависнуть, и его USB-порт не будет отвечать на запрос автосброса. Если это произойдёт, просто повторите начальную процедуру: удерживайте кнопку BOOTSEL при подключении Pico, чтобы войти в загрузчик ROM.

Загрузка образов файловых систем

Встроенная файловая система флеш-памяти Pico, 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

Если вы собрали Raspberry Pi Picoprobe, вы можете использовать OpenOCD для загрузки скетчей и отладки с помощью GDB.

В Windows локальный администратор должен иметь доступ к порту Picoprobe автоматически, но в Linux необходимо сообщить udev об устройстве и разрешить доступ обычным пользователям.

Для настройки доступа на уровне пользователя к Picoprobe в Ubuntu (и других ОС, использующих udev):

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

Первая строка создаёт файл устройства в /dev, соответствующий USB-идентификаторам вендора и продукта Picoprobe, и включает глобальные права на чтение+запись. Вторая строка заставляет udev загрузить это новое правило. Третья строка запрашивает у ядра генерацию событий "device change", которые приведут к выполнению нашего нового правила udev.

Если по какой-то причине файл устройства не появляется, вручную отключите и снова подключите USB-соединение и проверьте ещё раз. Вывод dmesg может содержать полезную диагностику, если файл устройства так и не появился.

После правильной настройки прав Picoprobe выберите плату "Raspberry Pi Pico (Picoprobe)" в меню Инструменты и загружайте скетчи как обычно.

Отладка с помощью Picoprobe, OpenOCD и GDB

Установленные инструменты включают версию OpenOCD (в каталоге pqt-openocd) и GDB (в каталоге pqt-gcc). Их можно использовать для запуска GDB в интерактивном окне, как описано в руководствах Pico Getting Started от Raspberry Pi Foundation. Используйте командную строку ./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl или ./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl из каталога установки git.

Лицензирование и авторство

  • Arduino IDE и ArduinoCore-API разработаны и поддерживаются командой Arduino. IDE лицензирована под GPL.
  • Набор инструментов на базе GCC для RP2040 лицензирован под 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.
  • DHCP-сервер для режима точки доступа из проекта Micropython, распространяется под лицензией MIT.
  • FreeRTOS является авторским правом Amazon.com, Inc. или её аффилированных лиц и распространяется под лицензией MIT.
  • lwIP (c) Шведский институт компьютерных наук и лицензирован под лицензией BSD.
  • Библиотека BearSSL, написанная Томасом Порнином, распространяется под лицензией MIT.
  • UZLib является авторским правом (c) 2003 Joergen Ibsen и распространяется под лицензией zlib.
  • LEAmDNS является авторским правом нескольких авторов и распространяется под лицензией MIT.
  • http-parser является авторским правом Joyent, Inc. и других участников Node.
  • Код WebServer изменён из ESP32 WebServer и является авторским правом (c) 2015 Ивана Грохоткова и других.

-Earle F. Philhower, III
[email protected]

Скачать инструмент
  • Xoshiro-cpp является авторским правом (c) 2020 Ryo Suzuki и распространяется под лицензией MIT.
  • Код низкоуровневой файловой системы FatFS является авторским правом (C) 2024, ChaN, все права защищены.
  • Менеджер памяти TLSF для PSRAM из форка Espressif от оригинала Мэттью Конте является авторским правом Мэттью Конте и лицензирован под лицензией MIT.
  • Библиотека ESPHost лицензирована под LGPL её сопровождающими.