Платы разработки

Raspberry Pi Pico на RP2040

Raspberry Pi · Raspberry Pi Pico, RP2040, без Wi-Fi и без предустановленных штырьковых разъёмов

Оригинальная Pico без беспроводной связи: 26 GPIO, три внешних входа ADC, USB и PIO. Подключение, MicroPython и стороннее ядро Arduino-Pico.

СложностьЛегко
Проекты с компонентом

О МОДУЛЕ

Что делает Raspberry Pi Pico, RP2040, без Wi-Fi и без предустановленных штырьковых разъёмов

Raspberry Pi Pico — небольшая плата микроконтроллера для устройств, которые читают входы, управляют выходами и выполняют одну прошивку. Она не запускает Raspberry Pi OS или обычный Linux и не является заменой одноплатному компьютеру Raspberry Pi с HDMI. После загрузки программа хранится во Flash и выполняется при подаче питания.

Эта карточка относится к первой Raspberry Pi Pico на RP2040 без буквы W. У неё нет Wi-Fi или Bluetooth. Pico H имеет уже припаянные гребёнки и другое исполнение разъёма отладки; Pico W добавляет беспроводной модуль; Pico 2 использует другой микроконтроллер. Их возможности и отдельные детали подключения нельзя смешивать. Обычная Pico поставляется без штырьковых разъёмов: для макетной платы их нужно припаять либо использовать надёжный адаптер.

Сильная сторона RP2040 — программируемые блоки PIO, которые помогают реализовать нестандартный обмен и точные последовательности сигналов. Для первого проекта достаточно MicroPython; для более низкоуровневой работы производитель предлагает C/C++ SDK. Arduino IDE можно использовать через отдельное стороннее ядро Arduino-Pico от Earle Philhower. Выбор среды определяет API, загрузку и имена объектов, хотя физические контакты платы остаются теми же.

Фото: Phiarc / Wikimedia Commons, CC BY-SA 4.0. Использовано без изменений.

Характеристики

Микроконтроллер
RP2040, два 32-битных ядра Arm Cortex-M0+
Максимальная штатная частота CPU
133 МГц
SRAM микроконтроллера
264 КБ
Внешняя QSPI Flash на плате
2 МБ
Логика GPIO
3.3 В
Питание через VSYS
1.8–5.5 В
GPIO на краевых контактах
26: GP0–GP22 и GP26–GP28
Внешние аналоговые входы платы
3
Выводы внешнего ADC
GP26/ADC0, GP27/ADC1, GP28/ADC2; GP29 внутри платы измеряет VSYS через делитель
Аппаратная разрядность ADC
12 бит
Аппаратные интерфейсы RP2040
2 × UART, 2 × I²C, 2 × SPI; альтернативные функции разделяют GPIO
PWM
8 блоков по 2 канала, всего 16 каналов; каналы одного блока разделяют частоту
Программируемый ввод-вывод
2 блока PIO, всего 8 конечных автоматов
USB
Micro-USB, нативный USB 1.1 с режимами device/host; отдельного USB–UART-моста нет
Встроенные Wi-Fi и Bluetooth
Нет
Встроенный LED
GP25, включается высоким уровнем; не выведен как обычный контакт гребёнки
Габариты платы
51 × 21 мм
Интерфейс
I²C, SPI, UART, Аналоговый
Питание модуля
Для примеров используйте питание 5 В через Micro-USB. Альтернативный вход платы VSYS допускает 1,8–5,5 В постоянного напряжения; соблюдайте полярность. VBUS связан с USB-питанием, VSYS питает преобразователь платы, а 3V3(OUT) является его выходом. Эти контакты не взаимозаменяемы. Не подавайте 5 В на 3V3(OUT), GPIO, ADC_VREF или RUN. Логика Pico фиксирована на 3,3 В. GPIO и аналоговые входы не являются 5-вольтовыми: держите сигнал между GND и 3V3. Для 5-вольтовой периферии нужны проверка уровней и, при необходимости, преобразователь. Подтяжки I²C должны идти к 3,3 В. Обычный измерительный диапазон ADC — от 0 до примерно 3,3 В; точность зависит от опоры, шумов и источника сигнала. Документация рекомендует нагрузку внешних цепей на 3V3(OUT) менее 300 мА; фактический допустимый ток зависит от VSYS и нагрузки самого RP2040. Это не допустимый ток GPIO. Моторы, реле и мощные LED подключайте через драйвер и рассчитанный источник питания. При совместном питании от USB и внешнего источника нужна схема развязки из datasheet, а не прямое объединение источников. В учебных примерах используйте только USB. Собирайте схему обесточенной и объединяйте земли неизолированных устройств.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
Питание и связь с компьютеромMicro-USBИспользуется в обоих примерах. Это прямой USB RP2040; для прошивки и REPL нужен кабель с передачей данных.
VCC устройства на 3,3 В / крайний вывод потенциометра3V3(OUT), физический контакт 36Выход стабилизатора. Для ADC-примера подключите сюда один край потенциометра 10 кОм; не путайте с VBUS или VSYS.
GND устройства / другой край потенциометраGND, например контакт 38Общая земля. Для аналоговой схемы также доступен AGND, контакт 33.
Ползунок потенциометра / аналоговый сигналGP26 / ADC0, контакт 31В Arduino-Pico используется analogRead(26). Диапазон входа в этой схеме 0–3,3 В. Число 26 — номер GPIO, не номер физического контакта.
Дополнительные аналоговые входыGP27 / ADC1, контакт 32; GP28 / ADC2, контакт 34Другие внешние входы ADC. GPIO29 не является четвёртым свободным аналоговым входом этой платы.
SDA устройства I²CGP4, контакт 6I²C0: стандартный SDA объекта Wire в Arduino-Pico 4.5.4. В MicroPython задавайте вывод явно через Pin(4). Подтяжка к 3,3 В, обычно 4,7 кОм для короткой макетной шины при отсутствии её на модуле.
SCL устройства I²CGP5, контакт 7I²C0: стандартный SCL объекта Wire. В MicroPython: I2C(0, sda=Pin(4), scl=Pin(5), freq=100000); его значения по умолчанию могут отличаться от Arduino.
CIPO / MISO SPI-устройстваGP16, контакт 21Вход SPI0; стандартный MISO объекта SPI в Arduino-Pico 4.5.4.
CS SPI-устройстваGP17, контакт 22Пример выбора CS. Программа обычно управляет им отдельно; неактивный уровень задаётся документацией устройства.
SCK SPI-устройстваGP18, контакт 24Тактовый выход SPI0; стандартный SCK объекта SPI в указанном ядре Arduino.
COPI / MOSI SPI-устройстваGP19, контакт 25Выход SPI0 к периферии; стандартный MOSI объекта SPI в указанном ядре. Все сигналы 3,3 В.
RX внешнего UART-устройстваGP0 / UART0 TX, контакт 1В Arduino-Pico объект Serial1. Соединяйте TX с RX, RX с TX и GND с GND. Нужен UART TTL 3,3 В, а не электрический интерфейс RS-232.
TX внешнего UART-устройстваGP1 / UART0 RX, контакт 2Вход Serial1. Объект Serial в Arduino-Pico относится к USB CDC и не занимает GP0/GP1.
Встроенный LEDGP25 / LED_BUILTINНичего подключать не нужно. Пример MicroPython использует Pin(25); это верно для обычной Pico, но не для LED платы Pico W.
Внешняя кнопка сбросаRUN, контакт 30, через кнопку к GNDКраткое замыкание на GND сбрасывает RP2040. BOOTSEL — отдельная кнопка выбора загрузки, не обычная кнопка RESET.
Внешний источник, вне учебных примеровVSYS, контакт 39; GNDДопустимо 1,8–5,5 В с правильной полярностью. Одновременное использование с USB требует рассчитанной развязки по datasheet. VBUS — контакт 40; не подключайте туда другой источник при подключённом USB.
Служебные контакты3V3_EN, контакт 37; ADC_VREF, контакт 35В примерах оставить свободными. 3V3_EN управляет преобразователем; ADC_VREF связан с аналоговой опорой. Не используйте их как обычные GPIO или выходы питания нагрузки.
Отладчик SWDОтдельные площадки SWCLK / GND / SWDIO у торца платыНе входят в 40 краевых контактов. Для обычной загрузки UF2 внешний отладчик не требуется.

Подходит для Raspberry Pi, Arduino. Выберите контакты по документации своей платы.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.