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

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

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.8k560591 день назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
# Arduino-Pico
[![Release](https://img.shields.io/github/v/release/earlephilhower/arduino-pico?style=plastic)](https://github.com/earlephilhower/arduino-pico/releases)
[![Gitter](https://img.shields.io/gitter/room/earlephilhower/arduino-pico?style=plastic)](https://gitter.im/arduino-pico/community)

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

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

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

# Участие в разработке
Прочитайте [Руководство по участию](https://github.com/earlephilhower/arduino-pico/blob/master/docs/contrib.rst) для получения дополнительной информации о подаче pull-запросов и портировании библиотек или скетчей на это ядро.

# Поддерживаемые платы
* 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 Feather RP2040 DVI
* Adafruit Feather RP2040 Adalogger
* Adafruit Feather RP2040 RFM
* Adafruit Feather RP2040 ThinkINK
* Adafruit Feather RP2040 USB Host
* Adafruit Feather RP2040 CAN
* Adafruit Feather RP2040 Prop-Maker
* Adafruit ItsyBitsy RP2040
* Adafruit Metro RP2040
* Adafruit QT Py RP2040
* Adafruit STEMMA Friend RP2040
* Adafruit Trinkey RP2040 QT
* Adafruit MacroPad RP2040
* Adafruit KB2040
* Adafruit Feather RP2350 Adalogger
* Adafruit Feather RP2350 HSTX
* Adafruit Floppsy
* Adafruit Metro RP2350
* Adafruit Fruit Jam RP2350
* Amken BunnyBoard
* 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 Nano RP2040
* Cytron Maker Pi RP2040
* Cytron Maker Uno RP2040
* Cytron Motion 2350 Pro
* Cytron Maker Sumo RP2350
* DatanoiseTV PicoADK
* DatanoiseTV PicoADK v2
* Degz Robotics Suibo RP2040
* DeRuiLab FlyBoard2040Core
* DFRobot Beetle RP2040
* L'atelier d'Arnoz DudesCab
* ElectronicCats HunterCat NFC RP2040
* EVN Alpha
* ExtremeElectronics RC2040
* GeeekPi RP2040 Plus
* GroundStudio Marble Pico
* iLabs Challenger 2040 LTE
* iLabs Challenger 2040 LoRa
* iLabs Challenger 2040 SubGHz
* iLabs Challenger 2040 WiFi
* iLabs Challenger 2040 WiFi/BLE
* iLabs Challenger 2040 WiFi6/BLE
* iLabs Challenger NB 2040 WiFi
* iLabs Challenger 2040 SD/RTC
* iLabs Challenger 2040 NFC
* iLabs Challenger 2040 UWB
* iLabs Connectivity 2040 LTE/WiFi/BLE
* iLabs RPICO32
* iLabs Challenger 2350 WiFi/BLE
* iLabs Challenger 2350 BConnect
* iLabs Challenger 2350 NB-IoT
* iLabs Challenger ZP 2350 LoRa
* iLabs CPico 2350
* Makerbase MKS THR36
* Makerbase MKS THR42
* Melopero Cookie RP2040
* Melopero Shake RP2040
* METE HOCA Akana R1
* MyMakers RP2040
* MyMakers RP2350B
* Neko Systems BL2040 Mini
* Newsan Archi
* nullbits Bit-C PRO
* Olimex Pico2BB48
* Olimex Pico2XL
* Olimex Pico2XXL
* Olimex RP2040-Pico30
* Pcbcupid GLYPH 2040
* Pcbcupid GLYPH MINI 2040
* PicoLume Transceiver
* Pimoroni PGA2040
* Pimoroni PGA2350
* Pimoroni PicoPlus2
* Pimoroni PicoPlus2W
* Pimoroni Plasma2040
* Pimoroni Plasma2350
* Pimoroni Plasma2350W
* Pimoroni Servo2040
* Pimoroni Tiny2040
* Pimoroni Tiny2350
* Pimoroni Explorer
* Pintronix PinMax
* RAKwireless RAK11300
* redscorp RP2040-Eins
* redscorp RP2040-ProMini
* Generic Sea-Picro
* Silicognition RP2040-Shim
* Solder Party RP2040 Stamp
* Solder Party RP2350 Stamp
* Solder Party RP2350 Stamp XL
* Soldered Electronics NULA RP2350
* Soldered Electronics NULA Ethernet W55RP20
* Soldered Electronics NULA Node
* SparkFun IoT RedBoard RP2350
* SparkFun MicroMod RP2040
* SparkFun ProMicro RP2040
* SparkFun ProMicro RP2350
* SparkFun Thing Plus RP2040
* SparkFun Thing Plus RP2350
* SparkFun IoT Node LoRaWAN
* SparkFun XRP Controller (Beta)
* SparkFun XRP Controller
* Seeed INDICATOR RP2040
* Seeed XIAO RP2040
* Seeed XIAO RP2040 Plus
* Seeed XIAO RP2350
* uPesy RP2040 DevKit
* VCC-GND YD RP2040
* Vicharak Shrike-Lite
* Viyalab Mizu RP2040
* Waveshare RP2040 Zero
* Waveshare RP2040 One
* Waveshare RP2040 LoRa
* Waveshare RP2040 Matrix
* Waveshare RP2040 PiZero
* Waveshare RP2040 Plus
* Waveshare RP2040 LCD 0.96
* Waveshare RP2040 LCD 1.28
* Waveshare RP2350 Core
* Waveshare RP2350 Zero
* Waveshare RP2350 PiZero
* Waveshare RP2350 Plus
* Waveshare RP2350B Plus W
* Waveshare RP2350 LCD 0.96
* Waveshare RP2350-POE-ETH
* WeAct Studio RP2350B Core Board
* 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
* Generic RP2350

# Возможности
* Adafruit TinyUSB Arduino (USB-мышь, клавиатура, флеш-накопитель, универсальный HID, CDC Serial, MIDI, WebUSB и другие)
* Bluetooth на PicoW (Classic и BLE) с клавиатурой, мышью, джойстиком и виртуальным последовательным портом
* Режим Bluetooth Classic и BLE HID master (подключение к BT-клавиатуре, мыши или джойстику)
* Универсальная эмуляция Arduino USB Serial, клавиатуры, джойстика и мыши
* WiFi (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, температура
* Аналоговый стереофонический аудиовход с использованием DMA и встроенного АЦП
* Аналоговый стереофонический аудиовыход с использованием аппаратного обеспечения PWM
* Источник (выход) и приёмник (вход) аудио Bluetooth A2DP на PicoW
* Режим USB-накопителя для регистраторов данных (SingleFileDrive, FatFSUSB)
* Периферийные устройства:  SPI master/slave, Wire(I2C) master/slave, двойной UART, эмулируемая EEPROM, аудиовход/выход I2S, Servo
* Вывод printf (т.е. отладочный) через USB-последовательный порт
* Прозрачное использование глобальных переменных и кучи PSRAM (только RP2350)
* Поддержка ARM или RISC-V (Hazard3) для RP2350
* Полухостинговый последовательный порт и доступ к файловой системе
* Поддержка профилирования GPROF

Конечные автоматы (SM) PIO RP2040 используются для генерации без джиттера:
* Servo
* Тонов
* Входа I2S
* Выхода I2S
* Программных UART (последовательных портов)
* Программных SPI

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

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

```
Scanning for RP2040 devices
...
No drive to deploy.
```

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

```
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
```

## Установка
Откройте Arduino IDE и перейдите в File->Preferences.

В появившемся диалоговом окне введите следующий URL в поле "Additional Boards Manager URLs":

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

![image](https://assets.kitploit.com/production/public/readmes/8034/5e937a7b6b8f8b9a51e725dad3739ae268209e16ef59a716767e7b6ec877d607.png)

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

Перейдите в Tools->Boards->Board Manager в IDE

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

![image](https://assets.kitploit.com/production/public/readmes/8034/b7826e714e122c8971e10891d58f230f53f9fb92f3289478fdeb59d16163956b.png)

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

**Пользователи Windows:**  Перед установкой через `git` в Windows, пожалуйста, прочитайте и следуйте указаниям в
[этой ссылке](https://arduino-pico.readthedocs.io/en/latest/platformio.html#important-steps-for-windows-users-before-installing).
Если длинные пути Win32 не включены, и `git` не настроен на их использование, то
могут возникнуть ошибки при попытке клонирования подмодулей.

Для установки через GIT (для получения последних и самых новых версий) под Linux или Mac:
````
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 в другой путь:
````
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 Tools->Port->Serial Port один раз (эта настройка сохранится и не потребует
изменений для множественных загрузок).   Этот выбор позволяет инструменту автоматического сброса определить подходящее устройство для сброса.
Затем нажмите кнопку загрузки, и ваш скетч должен загрузиться и запуститься.

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

# Загрузка образов файловой системы
Встроенная flash-файловая система для 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`):
````
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 vendor и product ID Picoprobe, и включает глобальные права на чтение+запись. Вторая строка заставляет `udev` загрузить это новое правило. Третья строка запрашивает у ядра генерацию событий "device change", которые приведут к запуску нашего нового правила `udev`. 

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

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

# Отладка с помощью 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](https://arduino.cc) разрабатываются и поддерживаются командой Arduino. IDE лицензирована под GPL.
* [Инструментальная цепочка RP2040 на основе GCC](https://github.com/earlephilhower/pico-quick-toolchain) лицензирована под GPL.
* [Pico-SDK](https://github.com/raspberrypi/pico-sdk) создан Raspberry Pi (Trading) Ltd и лицензирован под лицензией BSD 3-Clause.
* Файлы ядра [Arduino-Pico](https://github.com/earlephilhower/arduino-pico) лицензированы под LGPL.
* Библиотека [LittleFS](https://github.com/ARMmbed/littlefs) написана ARM Limited и выпущена под [лицензией BSD 3-clause](https://github.com/ARMmbed/littlefs/blob/master/LICENSE.md).
* [UF2CONV.PY](https://github.com/microsoft/uf2) создан Microsoft Corporation и лицензирован под лицензией MIT.
* Код сетевого взаимодействия и файловой системы взят из [ESP8266 Arduino Core](https://github.com/esp8266/Arduino) и лицензирован под LGPL.
* DHCP-сервер для режима AP host из [Micropython Project](https://micropython.org), распространяется под лицензией MIT.
* [FreeRTOS](https://freertos.org) является собственностью Amazon.com, Inc. или его аффилированных лиц и распространяется под лицензией MIT.
* [lwIP](https://savannah.nongnu.org/projects/lwip/) является (c) Шведского института компьютерных наук и лицензирован под лицензией BSD.
* Библиотека [BearSSL](https://bearssl.org) написана Thomas Pornin, распространяется под [лицензией MIT](https://bearssl.org/#legal-details).
* [UZLib](https://github.com/pfalcon/uzlib) является собственностью (c) 2003 Joergen Ibsen и распространяется под лицензией zlib.
* [LEAmDNS](https://github.com/LaborEtArs/ESP8266mDNS) является собственностью нескольких авторов и распространяется под лицензией MIT.
* [http-parser](https://github.com/nodejs/http-parser) является собственностью Joyent, Inc. и других участников Node.
* Код WebServer модифицирован из [ESP32 WebServer](https://github.com/espressif/arduino-esp32/tree/master/libraries/WebServer) и является собственностью (c) 2015 Ivan Grokhotkov и других.
* [Xoshiro-cpp](https://github.com/Reputeless/Xoshiro-cpp) является собственностью (c) 2020 Ryo Suzuki и распространяется под лицензией MIT.
* Код [низкоуровневой файловой системы FatFS](http://elm-chan.org/fsw/ff/) является Copyright (C) 2024, ChaN, все права защищены.
* [Менеджер памяти TLSF для PSRAM из форка Espressif](https://github.com/espressif/tlsf) [оригинала](https://github.com/mattconte/tlsf) от Matthew Conte является собственностью Matthew Conte и лицензирован под лицензией MIT.
* [Библиотека ESPHost](https://github.com/Networking-for-Arduino/ESPHost) лицензирована под LGPL её сопровождающими.
* [Библиотека iLabs_ESP-NOW](https://github.com/PontusO/iLabs_ESP-NOW) лицензирована под лицензией MIT компанией iLabs Electronics.
* [Библиотека iLabs_Hearth](https://github.com/PontusO/iLabs_Hearth) лицензирована под лицензией MIT компанией iLabs Electronics.
* Библиотека камеры [PicoCamera](https://github.com/umeiko/PicoCamera) лицензирована под лицензией MIT компанией umeko.

-Earle F. Philhower, III  
 [email protected]
Скачать инструмент