Пару дней назад Raspberry Foundation представила новую плату — Raspberry Pi Pico на собственном кремнии всего за 4 доллара США. Плата, конечно, менее функциональна, чем старшие модели линейки, но и она может предложить большое количество возможностей для разработчиков.
Эту плату уже успели протестировать, оценив ее функции, достоинства и недостатки. Обо всем этом — под катом.
Немного о характеристиках
Основа платы — двухъядерный чип Arm Cortex M0+, с частотой работы ядра в 133 МГц. У платы — 264 КБ ОЗУ и 2 МБ флеш-памяти. Кроме того, есть разъем USB 1.1 и I/O каналы, из которых пользователю доступны 26. Есть возможность задействовать интерфейсы 2 × UART, 2 × I2C, 2 × SPI (всего до 16 Мбайт QSPI Flash с XIP), а также 16 PWM-каналов. Также в наличии температурный датчик и 4 ADC-канала.
Разработчики заявили, что работа над собственным чипом велась с 2016 года. По словам команды, им нужен был чип с возможностями, которых не было ни у одного из чипов других производителей. В 2018 году был готов прототип, который затем доработали, получив систему, ставшую основой одноплатника Pico.
«Мы получили огромный опыт в ходе разработки этого чипа. Он эволюционировал, совершенствовался с первого дня разработки. И сейчас у нас в руках — отличный чип с большим количеством возможностей и низкой ценой. Чипы изготовили для нас на фабрике TSMC по 40-нм техпроцессу», — сообщил COO Raspberry Pi Джеймс Адамс.
Чип действительно уникален, ведь двухъядерных систем такой стоимости на рынке больше нет. Оперативной памяти достаточно для этого девайса и задач, которые он может выполнять. А есть еще и оптимизированные библиотеки с плавающей запятой, которые добавили в загрузочное ПЗУ, плюс ядро USB, которое можно использовать в качестве ведущего или ведомого.
Что особенного в Pico?
Вообще говоря, это не одноплатный ПК, как тот же Raspberry Pi Zero или старшие модели, а, скорее, микроконтроллер, как Arduino. Плату Pico можно «подружить» с любой из других «малинок», разрабатывая сложные проекты. У Pico есть GPIO с напряжением 3.3В, как и у других Raspberry Pi и Arduino. И это не недостаток, подключать можно и 5В при помощи конвертеров.
Разработчики провели тестирование платы, подключив ее к 12 светодиодам Neopixel на полной яркости от источника питания 5В. В итоге потребляемый платой ток — всего 140 мА, с 0,7Вт. А вот Raspberry Pi 4 при тех же условиях потребляет уже 4-5 Вт. Так что если проекту требуется минимальное энергопотребление — лучшего варианта, чем Pico, не найти.
Подключить питание к Raspberry Pi Pico можно через micro USB или посредством контактов VSYS GPIO. В этом случае можно подвести от 1.8 В до 5.5 В. Если нужна батарея, то придется подключить дополнительный модуль сторонних производителей. Вот здесь подробно описано, как это сделать.
Выше упоминалось, что Pico — скорее микроконтроллер, чем плата. И это реально так. Систему можно рассматривать в качестве достойной альтернативы Adafruit Feather или Teensy. Размеры платы — всего 51 x 21 мм, так что она даже меньше Raspberry Pi Zero.
Pico удобно использовать с макетными платами и несущими платами для поверхностного монтажа. Но 40 контактов Raspberry Pi Pico нужно припаять самостоятельно.
В целом, это весьма удобная для работы плата — как для начинающих разработчиков, так и для профи.
Работа с Raspberry Pi Pico
У платы нет дополнительных портов, так что для того, чтобы ее использовать в большинстве проектов, понадобится компьютер. Это может быть любой ПК, под управлением любой ОС — Windows, Mac и Linux.
Важный момент — документация к плате. Там два раздела, для языка С и для MicroPython. Последний разработан на основе Python 3 для микроконтроллеров. Для установки нужен UF2 файл, скопированный в Pico. При нажатии на кнопку BOOTSEL после подключения micro USB-кабеля появляется интерфейс диска. Копируем файл, и после этого появляется доступ к Python Shell на плате.
Для написания кода и сохранения файлов в ПЗУ платы нужен редактор. Неплохой выбор — Thonny. В целом, установка проходит без проблем, сохранение кода — тоже.
Две новых возможности для Raspberry Pi — PIO и аналоговые входы. PIO — универсальный интерфейс, который можно использовать для создания таких интерфейсов, как I2C, SPI, I2S и даже VGA / DPI. Все зависит от проекта и квалификации разработчика.
Что касается языка С на Pico, то с ним все сложнее. Правда, на помощь приходит официальный мануал. Но времени на разработку в этом случае понадобится больше, чем в случае с MicroPython. Кроме того, потребуется работать либо с командной строкой, либо использовать Visual Studio Code.
Разработчики советуют работать с MicroPython.
А что можно разработать с Pico?
Плата предназначена для встраивания в «железные» проекты. Это недорогая альтернатива Arduino. Роботы, подсветка, IoT и многие другие системы можно разрабатывать с использованием новинки. При этом, как и говорилось выше, Pico потребляет очень мало энергии.
Это быстрая плата, которая делает то, что должна.
Единственная проблема — полное отсутствие беспроводной связи, так что в этом плане возможности платы ограничены. Конечно, можно подключить внешний элемент и решить эту проблему, но в этом случае понадобится больше времени и ресурсов. Те же ESP32 и ESP8266 работают с WiFi из коробки, так что если требуется связь — лучше выбрать их, тем более, что цена примерно та же.
В качестве вывода
Raspberry Pi Pico — интересная плата. Правда, это больше микроконтроллер, чем одноплатный компьютер. Если нужно что-то простое и энергоэффективное, то плата подходит идеально. Если же требуется проект посложнее, стоит приобрести Raspberry Pi Zero W.