После того, как 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 идеально работает с MycroPython. Для того, чтобы получить максимальную отдачу от платы, нужно использовать 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-й. Всего у девайса три аналоговых входа столько же, сколько и у малинки, но меньше, чем у Adafruits 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 мА.