После того, как Raspberry Pi Foundation разработала и анонсировала свой процессор RP2040, на рынке появилось несколько одноплатников на его основе, включая собственную разработку Raspberry. Среди наиболее заметных RP2040-проектов стоит отметить Adafruit Py RP2040 и Pimoroni Tiny 2040. Есть еще и Adafruit Feather RP2040 с Cytron Maker Pi Pico.

Напомним, что сам по себе проект Raspberry Pi Pico — это, по сути, микроконтроллер с GPIO и возможностью программирования. Плату можно применять для эмуляции самых разных типов интерфейсов, включая ретро-системы. У Pico от Raspberry относительно небольшой набор функций, но своих денег плата стоит. Сейчас появился новый девайс, который называется Pimoroni Pico LiPo. Это как бы «Pico на стероидах».

Его стоимость — $17, то есть в 4 с немногим раз больше, чем у оригинального Pico. Но и возможности шире, так что девайс может пригодиться тем разработчикам, кому не хватало возможностей микроконтроллера от Raspberry. Так, здесь есть функция заряда аккумулятора, USB-C порт, 16 МБ флеш-памяти и коннектор Stemma QT / Qwiic.

Подробнее о характеристиках



Система на чипе RP2040
  Двухъядерный Arm Cortex M0+, частота 133 МГц.
  264KB SRAM, и 4 / 16MB Flash памяти
GPIO 26 ? мультифункциональных 3.3V GPIO пинов
  2 ? SPI, 2 ? I2C, 2 ? UART, 3 ? 12-bit ADC, 16 ? PWM каналов
  1 x User LED (GPIO 25)
  8 ? Programmable I/O (PIO) state machines for custom peripheral support.
  Stemma QT / Qwiic коннектор
  SWD debug breakout
  Модуль можно распаивать на платах
Power USB C для данных и питания
  2 pin JST коннектор для LiPo / Li lon аккумуляторов. Мониторинг батарей + LED для отображения режима работы батареи.

Дизайн и использование Pimoroni Pico LiPo



Pico LiPo идеально работает с MicroPython. Для того, чтобы получить максимальную отдачу от платы, нужно использовать CircuitPython, в особенности при работе с компонентами Stemma QT / Qwiic. Если по какой-то причине вам необходимо работать с MicroPython и при этом взаимодействовать с устройствами Stemma QT / Qwiic, то стоит попробовать последний проект от Adafruit. Вот здесь можно загрузить все необходимое, работает с Pico LiPo весьма гладко.

Как и говорилось выше, Pico LiPo — это Raspberry Pi Pico на стероидах. При таком же размере и аналогичной GPIO-распиновке у девайса есть функция зарядки батарей, Stemma QT / Qwiic и кнопка включения. Наиболее важная возможность — зарядка аккумуляторов, режим которой контролируется чипом MCP73831. Ток небольшой — 215 мА, но в ходе теста LiPo батарея была заряжена полностью.


Есть защита аккумулятора — XB6096I2S, что предотвращает возможное превышение параметров заряда. Выделенного MicroPython или CircuitPython модуля для мониторинга заряда нет. Для определения факта заряда используется 24-й пин. А для мониторинга — 29-й. Всего у девайса три аналоговых входа — столько же, сколько и у «малинки», но меньше, чем у Adafruit’s Feather RP2040. Да, на один пин меньше, но если учитывать, что его используют для контроля заряда батареи, то с потерей смириться проще.

Положительный момент в этом — возможность использования аккумулятора в качестве базового бесперебойника питания. Так, проект можно запитать от USB-C, но если питание отключится, в дело вступает батарея. Распиновка у Pico LiPo такая же, как и у «малинки». Плюс есть коннектор Stemma QT, благодаря которому подключение внешнего устройства становится очень простой задачей.

Наличие этого коннектора — реальный прорыв для I2C-девайсов. Дело в том, что у ряда производителей есть множество совместимых компонентов, включая датчики температуры, емкостные входы, экраны и т.п. Используя емкостный сенсорный датчик MPR121 и последнюю версию CircuitPython 7 для Pico LiPo, мы создали демонстрационную модель системы с применением Stemma QT-коннектора.


Система заработала сразу и без проблем. Кроме того, мы видим множество проектов с применением Stemma QT / Qwiic. Рядом с этим коннектором есть трехпиновой коннектор JST-SH — это отладка. Контакты используются для получения данных из работающего RP2040 без использования UART. Используя эти контакты и другой Pi Pico в качестве дебаг-хоста мы можем работать с процессором, SRAM, отображенной памяти I/O в выбранной среде разработки. Если вы разрабатываете критически важные RP2040-приложения, то это ключевая особенность. Ну а для большинства из нас — просто интересная функция.

Кнопка power — тумблер. Звучит не особо захватывающе, но есть здесь пара важных моментов. Дело в том, что именно эта кнопка позволяет полностью обесточить устройство, а не просто выполнить сброс. Ну а поскольку у нас есть аккумулятор, то его заряд можно сэкономить, полностью отключив плату. С кнопкой другого типа такой номер не пройдет — батарея продолжит разряжаться. Когда плата понадобится снова — просто включаем кнопку и все.

Кнопка BOOT обычно применяется для ввода системы в режим прошивки. Но у этой платы есть еще возможность задействовать кнопку в коде. На плате — три разных светодиода, включая power, статус заряда батареи и пользовательский светодиод, подключенный к 25 контакту.

Как и упоминалось выше, распиновка у платы такая же, как у «малинки», так что использовать ее можно точно там же и точно так же, где применяется Raspberry Pi Pico. При желании этот микроконтроллер можно заменить на LiPo в уже готовом проекте и получить больше функций. Мы проверили это утверждение, заменив микроконтроллер от Raspberry на новую плату вот в этом проекте. После замены все заработало без танцев с бубном.

Юзкейсы для Pimoroni Pico LiPo



У LiPo есть все, что дает Raspberry Pi Pico, плюс дополнительные функции. Даже одна лишь возможность подключения батареи стоит тех $17, которые просят разработчики за свой микроконтроллер. Его можно применять в самых разных проектах, от световых мечей на базе NeoPixel до интернета вещей. Pico LiPo можно применять в разных роботехнических проектах, но для сервоприводов, двигателей и т.п. понадобится собственный источник питания — GPIO платы не даст ток больше 600 мА.