
Waveshare RP2350-PiZero
Waveshare · RP2350-PiZero, SKU 31836
RP2350B в форм-факторе Pi Zero: DVI, microSD, PIO-USB и 40-контактный разъём.
Автор: SLDV LAB
Опубликовано · Обновлено
О МОДУЛЕ
Что делает RP2350-PiZero, SKU 31836
RP2350-PiZero объединяет микроконтроллер RP2350B и периферийные разъёмы на плате с 40-контактным расширением. Подходит для небольших контроллеров, USB-устройств, экспериментов с DVI и автономных интерфейсов. Исполняет прошивку C/C++, Arduino или MicroPython; Linux и обычные приложения Raspberry Pi на ней не запускаются.
Название PiZero описывает компоновку, а не программную совместимость с Raspberry Pi Zero. Физические позиции питания и части интерфейсов похожи на Raspberry Pi, но номера GPIO RP2350 отличаются от BCM. Поддержка HAT требует отдельной проверки напряжений, разводки и драйвера. Плата не имеет встроенных Wi-Fi и Bluetooth.
16 МБ Flash находятся в отдельной микросхеме на плате. PSRAM в штатной комплектации не установлена: предусмотрены только паяльные площадки. DVI через mini-HDMI рассчитан на совместимый экран; полноценные HDMI-функции и звук не заявлены. Производитель ограничивает одновременное использование своих примеров DVI и PIO-USB; рассчитывать на их совместную работу без отдельной разработки нельзя.
Для первого запуска используйте только USB и простой GPIO-пример. На плате есть зарядная схема для одноэлементного Li-ion/LiPo, однако это не обещание защиты любого аккумулятора. Перед автономной работой нужно проверить полярность, допустимый зарядный ток и защиту элемента по схеме конкретного экземпляра. На опубликованной схеме R27=160 кОм соответствует подписи 1 А: небольшой аккумулятор может быть непригоден.
Аппаратная ревизия конкретного экземпляра не установлена. Не переносите настройки RP2040-PiZero, Pico 2 или RP2350-Plus. Распиновка в медиа — неизменённый фрагмент оригинальной схемы Waveshare. Фото производителя получено из каталога BerryBase и сверено с моделью и исходным снимком пользователя; изменены только фон и масштаб.
Характеристики
- Микроконтроллер
- Raspberry Pi RP2350B; два активных ядра, выбор Arm Cortex-M33 или Hazard3 RISC-V
- Штатная максимальная частота
- 150 МГц
- Встроенная SRAM
- 520 КБ
- Flash готовой платы
- 16 МБ
- Размещение Flash
- Отдельная W25Q128JV на опубликованной схеме; не встроена в RP2350B
- PSRAM
- Не установлена; предусмотрены площадки U1, CS на GP47
- GPIO на 40-контактном разъёме
- 28
- Аналоговые входы
- ADC есть в RP2350B, но GP40–47 не выведены на стандартный 40-контактный разъём: они распределены между microSD, DVI и PSRAM
- Периферия МК
- 2 × SPI, 2 × I²C, 2 × UART; в RP2350B 12 PWM slices / 24 канала; на J5 (GP0–27) доступны 16 разных PWM-каналов с повторными назначениями выводов; 12 PIO state machines; HSTX
- Видеовыход
- DVI через mini-HDMI; требуется DVI-совместимый экран
- Накопитель
- microSD/TF; отдельная от Flash шина, выводы по схеме платы
- USB
- Аппаратный USB 1.1 и отдельный PIO-USB; оба разъёма USB-C
- Аккумуляторная часть
- ETA6096; разъём PH2.0 для 1S Li-ion/LiPo, номинал 3,7 В
- Беспроводная связь
- Встроенных Wi-Fi и Bluetooth нет
- Ревизия
- SKU 31836; аппаратная ревизия экземпляра не подтверждена
- Интерфейс
- I²C, SPI, UART
- Питание модуля
- Первый запуск: 5 В через разъём USB-C с маркировкой USB. GPIO: 3,3 В; 5 В на GPIO не подавать. VBUS и 3V3 — разные цепи. J3 BAT: только подходящий защищённый 1S Li-ion/LiPo (3,7 В nominal, 4,2 В full); по схеме J3 pin2=VBAT+, pin1=GND. Ориентацию разъёма и полярность кабеля проверить отдельно. Не подключать 2S, LiFePO4 или неперезаряжаемый элемент. Не соединять внешние источники питания без проверки развязки.
ПРАКТИКА
Подключение

| Контакт модуля | Контакт платы | Назначение |
|---|---|---|
| USB-C с надписью USB | USB хоста | Питание и загрузка UF2. Не перепутать со вторым PIO-USB; пример без аккумулятора. |
| Внешний LED: анод через резистор 1 кОм | GP17, физический контакт 11 разъёма J5 | Минимальный пример ниже. Катод LED — к GND, например физическому контакту 9. Соединять при снятом питании. |
| SDA / SCL разъёма J5 | GP2 / GP3, физические контакты 3 / 5 | Аппаратный I²C1 RP2350; внешние подтяжки только к 3,3 В. Не BCM-нумерация. |
| UART TX / RX разъёма J5 | GP4 / GP5, физические контакты 8 / 10 | Аппаратный UART1; на Raspberry Pi эти позиции называются BCM14/15, здесь код использует 4/5. |
| SPI SCK / MOSI / MISO разъёма J5 | GP10 / GP11 / GP12, физические контакты 23 / 19 / 21 | SPI1. CE0/CE1 на плате — GP8/GP7 (контакты 24/26); CS задавать явно, не полагаться на default CS SDK. |
| microSD SPI SCK / MOSI / MISO / CS | GP30 / GP31 / GP40 / GP43 | Проверено по SD_CARD оригинальной схемы; CS именно GP43, не GP41. SDIO также использует GP41/GP42. |
| PIO-USB D+ / D− | GP28 / GP29 | Не переносить выводы RP2040-PiZero. Совместимость конкретного PIO-USB стека проверить по примеру Waveshare. |
| Питание J5 | 3V3: контакты 1/17; VBUS: 2/4; GND: 6/9/14/20/25/30/34/39 | Нумерация физических контактов разъёма, не GPIO. 3V3 не является входом для 5 В. |
| SWCLK / GND / SWDIO | Отдельный трёхконтактный разъём H1 | По схеме H1: pin3 SWCLK, pin2 GND, pin1 SWDIO. Ориентироваться по CLK/GND/DIO на плате. |
| Аккумулятор J3 | pin2 VBAT+ / pin1 GND | Это номера на схеме, не порядок слева направо. R27=160 кОм с подписью 1 А; ток и защиту элемента проверить до подключения. |
ВАШ ПРОЕКТ · ВАШ ДАТЧИК
Интегрируйте модуль с ChatGPT
Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.
Помоги интегрировать именно Waveshare RP2350-PiZero (SKU 31836, RP2350B) в мой проект. Сначала уточни задачу, среду, ревизию платы, питание и подключаемые устройства. Используй GPIO RP2350 из схемы, не BCM-нумерацию Raspberry Pi. Подтверждённая база: Pico SDK 2.3.0, PICO_BOARD=waveshare_rp2350_pizero, 16 МБ внешней Flash, 520 КБ SRAM, PSRAM штатно не установлена; GPIO 3,3 В. I²C1 — GP2/3, UART1 — GP4/5, внешняя SPI1 — GP10/11/12, а CS задаётся отдельно. Предложи схему подключения, зависимости, полный минимальный пример, обработку ошибок и пошаговую проверку. Учти занятые выводы microSD/DVI/PIO-USB, ограничение примеров DVI+PIO-USB и отсутствие Wi-Fi/Bluetooth. Не обещай Linux или автоматическую совместимость HAT. Для аккумулятора проверь 1S Li-ion/LiPo, полярность J3, зарядный ток и защиту. Не запускай разрушающие SD-тесты format/lliot и не утверждай аппаратную проверку без реального устройства.
Библиотеки
Установите библиотеку для своей среды и откройте пример из её документации.
Что именно прописать
- Среда примера
Raspberry Pi Pico SDK 2.3.0, C/C++В версии 2.3.0 подтверждён отдельный header платы.
- PICO_BOARD
waveshare_rp2350_pizeroЗадать до pico_sdk_init(); вариант RP2350B, не pico2.
- PICO_PLATFORM
rp2350-arm-sПример для Arm; не менять архитектуру готового бинарного файла.
- Flash / PSRAM
16 MB / not fittedFlash задаёт board header. Площадки PSRAM не означают установленную память.
- LED_GPIO
17Внешний LED через 1 кОм на физическом контакте 11; катод на GND.
- I²C / UART
I2C1: SDA2 SCL3; UART1: TX4 RX5Это номера GPIO RP2350, а не физические позиции и не BCM.
- SPI разъёма J5
SPI1: SCK10 MOSI11 MISO12; CS explicitly selectedПины CS в SDK по умолчанию не равны CE0/CE1 разъёма. На схеме CE0=GP8, CE1=GP7.
- Первый запуск
USB only; no HAT, no batteryСоединить внешний LED при отключённом питании. BOOT удерживать при подключении USB либо при отпускании RUN.
Внешний LED на GP17: полный main.c
cpp#include "pico/stdlib.h"
#define LED_GPIO 17u
int main(void) {
gpio_init(LED_GPIO);
gpio_put(LED_GPIO, 0);
gpio_set_dir(LED_GPIO, GPIO_OUT);
while (true) {
gpio_put(LED_GPIO, 1);
sleep_ms(500);
gpio_put(LED_GPIO, 0);
sleep_ms(500);
}
}
Полный исходник для RP2350-PiZero и Pico SDK 2.3.0. LED внешний, не встроенный PWR. Нужен последовательный резистор 1 кОм. GPIO/API сверены по схеме и SDK; компиляция и запуск на плате не выполнялись.
CMakeLists.txt для того же main.c
textcmake_minimum_required(VERSION 3.13)
set(PICO_BOARD waveshare_rp2350_pizero CACHE STRING "Board")
set(PICO_PLATFORM rp2350-arm-s CACHE STRING "Platform")
include($ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake)
project(sldv_pizero_blink C CXX ASM)
pico_sdk_init()
add_executable(sldv_pizero_blink main.c)
target_link_libraries(sldv_pizero_blink pico_stdlib)
pico_add_extra_outputs(sldv_pizero_blink)
Полный CMakeLists.txt. PICO_SDK_PATH должен указывать на установленный Pico SDK 2.3.0 с его submodules и настроенным Arm toolchain. Собрать в новой build-папке; старый CMake cache может сохранять другую плату.
Сборка и загрузка
textcmake -S . -B build
cmake --build build
После успешной сборки удерживать BOOT при подключении разъёма USB, затем скопировать build/sldv_pizero_blink.uf2 на появившийся загрузочный диск. Ожидаемый результат — 0,5 с включено / 0,5 с выключено у внешнего LED. Фактическая сборка, прошивка и этот результат не проверялись.
Проекты с этим компонентом
Все проектыСвязанные проекты пока не опубликованы.


