company_banner

Raspberry Pi Pico vs Arduino: какая плата лучше?

Автор оригинала: Les Pounder
  • Перевод


До того, как Raspberry Foundation представила Pi Pico, сравнивать «малинку» и Arduino было некорректно. Raspberry Pi — полноценный компьютер, хотя и специфический. А вот Arduino — микроконтроллер. Но с появлением Raspberry Pi Pico все изменилось, поскольку новая плата — это тоже микроконтроллер, разница с Arduino уже не такая большая.

У Arduino и Raspberry Pi Pico есть одна общая черта — это отличные платы для разного рода проектов, включая управление освещением, приводами или сенсорами. Использовать полноценную ОС при этом не нужно. Сейчас уже можно сравнить возможности обеих плат, чем в этой статье и займемся.

Функциональность и GPIO




У Raspberry Pi Pico отличный от других представителей линейки форм-фактор. В частности, у платы 40 пинов DIP. Плюс по периметру есть зубцы, которые можно использовать для коннекта Pico к несущей плате.

В DIP нет ничего нового — аналогичный форм-фактор в других микроконтроллерах используется много лет. Такую плату можно распаять на несущей плате, поместить на макетную схему или присоединить поверх других модулей. Т.е. подобную плату можно очень легко интегрировать в любую систему.

У GPIO платы Pico много цифровых каналов, плюс три аналоговых входа и несколько I2C, SPI и UART интерфейсов. Но у Pico есть и ряд программируемых PIO, которые можно настроить для эмуляции других интерфейсов и протоколов, включая WS2812 «NeoPixels». В целом, плата — недорогой и универсальный инструмент с GPIO.

Победитель: Raspberry Pi Pico

SoC Raspberry Pi Pico vs Arduino




Предыдущие поколения популярных Arduino плат были оснащены чипами Atmel вроде ATMega328P. Сейчас многие платы оснащаются ARM. Например, у Arduino’s Portenta H7 — двухъядерный Arm Cortex M7+M4.

Такие платы, как Adafruit, Seeed и SparkFun также оснащены ARM-чипами. Микроконтроллерам обычно не нужны несколько ядер и высокая производительность, поскольку они используются, в основном, для какого-то одного процесса.

А вот RP2040 — это уже следующее поколение чипов. Во-первых, это Arm Cortex M0+, работающий с частотой 133 МГц. Это гораздо быстрее UNO’s 16 MHz 328P. SRAM у процессора «малинки» — 264KB, что больше, чем у Uno — здесь всего 2 КБ. Ну и у Pico 2 МБ внутренней памяти, а у Uno — всего 32 КБ. Негусто.

Ну а что Pico может противопоставить Portenta H7? Окей, у этой платы Arm Cortex M7 + M4, который может работать с частотой вплоть до 480 МГц, плюс 2 МБ внутренней памяти и 1 МБ ОЗУ. У платы есть WiFi, Buetooth, интерфейс для подключения камеры и GPU. В целом Potenta выигрывает по всем фронтам, очень мощная плата для своего класса. Но если вспомнить, что стоит она около $109 (с налогами), и сравнить эту цену с $4 для Pico, выбор становится очевидным.

Победитель: Raspberry Pi Pico

Программирование Raspberry Pi Pico vs Arduino




Arduino IDE — интегрированная среда разработки для Windows, MacOS и Linux, разработанная на Си и C ++, предназначенная для создания и загрузки программ на Arduino-совместимые платы. Есть альтернативы — PlatformIO и Arduino Create, облачная среда от Arduino. Но, в целом, это все та же IDE.

С течением времени она эволюционировала, улучшалась, так что теперь есть встроенные функции вроде управления несколькими платами, плюс средства для поиска и установки библиотек пакетов для надстроек и аксессуаров. Arduino Create — удобная облачная среда, которую можно использовать как для решения простейших задач, так и для более сложных проектов. PlatformIO поставляется в трех версиях — инструмент командной строки, выделенная IDE или же средство интеграции с существующей IDE, например Microsoft Visual Studio Code.

Что касается новой платформы, Raspberry Pi Pico, то кодить в этом случае можно в среде C и MicroPython. Причем сами разработчики платформы рекомендуют последний вариант. В случае с MicroPython и Pico все просто отлично. Работать с языком можно при помощи Python Shell, известном как REPL (Read, Eval, Print, Loop), или же IDE вроде Thonny. Все это дает возможность быстро писать и деплоить код.

Если все же нужно работать с С, то есть два варианта — пишем код в редакторе (Vi / Vim. Nano), а потом используем консольные инструменты. Либо же используем разные расширения для сборки и переноса кода на Pico. Оба подхода нормально работают, но это не очень удобно. Правда, вскоре появится третий вариант — обновленный IDE Arduino с поддержкой чипа RP2040.

Победитель: Raspberry Pi Pico

Простота и удобство работы с платами




Как уже говорилось выше, другие модели Raspberry Pi — это полноценные ПК. Они работают под управлением полноценной ОС. Pico — микроконтроллер без ОС.

Соответственно, вне зависимости от выбранного языка, нужно прошивать Pico образом этого языка. Это дает возможность потом работать с платой, загружая код прямо в нее. Формат образов — UF2 от Microsoft. Для того, чтобы прошить образ, нужно нажать на BOOTSEL после подключения micro USB кабеля, затем загрузить UF2 файл на диск RPI-R2 и через несколько секунд можно работать. Т.е. можно открывать тот же Thonny и начинать писать код.

С языком C/C++ все несколько сложнее. Здесь нужно использовать уже консоль, текстовый редактор, загружать дополнительные приложения и следить за зависимостями. Если все хорошо, то получается проект, который загружается вручную в виде UF2 файла в Pico.

Немного автоматизировать эту задачу можно при помощи Microsoft’s Visual Studio Code, который дает возможность написать код проекта и создать нужный файл в несколько кликов. Это не самый удобный процесс для новичков, но все решаемо. Кстати, команда Arduino недавно заявила о том, что вскоре можно будет работать с RP2040 посредством Arduino IDE.

Что касается непосредственной работы с платами, то нужно упомянуть, что Raspberry Pi Pico поступает нераспаянной, т.е. без пинов. Их можно припаять самостоятельно, для чего, конечно, нужен паяльник. Arduino продаются уже с пинами, за исключением таких плат, как Arduino Nano Every и Nano 33 IoT. А значит, можно сразу приступать к работе.

Но это мелочи, в итоге проще работать все же с Pico, так что плата побеждает и здесь.

Энергопотребление


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

В нашем обзорном тесте мы запитали Raspberry Pi Pico с 12 светодиодами Neopixel на полной яркости от источника питания 5 В. Потребляемый ток — 140 мА, 0,7 Вт! Это отлично, поскольку Raspberry Pi 4, работающий в режиме ожидания показывает результат в 4-5 Вт. Итак, по сравнению с Raspberry Pi, Pico потребляет энергию, но как он сравнивается с Arduino Uno, выполняющим тот же тест?

При 5 В — 90 мА, 0,45 Вт! Таким образом, Arduino Uno потребляет меньше, но этого и следовало ожидать, учитывая конфигурацию микроконтроллера. Если повторить тест с другой платой, скажем, Portenta H7, то мы увидим гораздо более высокое энергопотребление, поскольку процессор Arm, используемый на Portenta, более мощный. Он даже мощнее, чем RP2040.

Победитель: Arduino

В сухом остатке



В целом, обзор достаточно субъективный. В итоге получается, что победитель — Pico, с его ценой в $4, широким спектром возможностей, документацией и простотой в работе. Это лучшая плата для проектов с микроконтроллерами, поскольку за минимум денег мы получаем максимум возможностей. При этом все работает так, как заявлено, в отличие от многих других плат.

С некоторыми из них приходится изрядно повозиться, чтобы заставить работать. Плюс ко всему, MicroPython — лучший вариант для работы, с его помощью плату можно запустить очень быстро. После того, как разработчики Arduino IDE добавят поддержку Pico, без проблем можно будет работать и с С/С++. И тогда поклонники Arduino, которые привыкли к своему микроконтроллеру и принципам работы с ним, смогут опробовать и Pico.

Round Raspberry Pi Pico Arduino
Функциональность и GPIO  
SoC  
Программирование  
Простота работы с платами  
Энергопотребление  
В сухом остатке 4 1


Selectel
IT-инфраструктура для бизнеса

Комментарии 50

    +8
    Это как сравнивать крестовую отвертку с плоской. Вроде и то и то отвертки, и предназначение одно и тоже, но все же для каждого шурупа нужна своя. Так и тут.
      +6

      Плоской отверткой можно закручивать шурупы и с прямым, и с крестообразным шлицем.
      Победитель: плоская отвертка

        +2
        Шуруп, забитый молотком, держит лучше, чем гвоздь, закрученный отверткой. Победитель — молоток.
        +1
        ага, и обе игрушечные
          +1
          Попробуйте крестовой отверткой вскрыть склеенный пластиковый корпус.
          Победитель: плоская отвертка
            0
            Если нужно что-то вскрыть — победит болгарка :)
          +10
          Астрологи объявили неделю Raspberry Pi Pico)
          По теме — на базе электроники Arduino даже любитель сможет сделать свою кастомную плату (платы легко заказываются у китайцев). Запаять чип в корпусе DIP/TQFP — не проблема.
          Запаять чип с Pi Pico — явно сложнее, не уверен, что без фена это вообще реально.
          И купить чип тоже будет значительно сложней, чем Atmega.
          • НЛО прилетело и опубликовало эту надпись здесь
            +2

            А если сравнить с BluePill?

              +2
              У STM32F103 памяти поменьше будет и частоты пониже, но там периферии больше.
                +9

                Так можно сравнить с blackpill, там уже и М4 ядро, и FPU, и памяти сопоставимо, да и цена ниже. При этом для написания кода на С или С++ не нужно так сильно извращаться, как с этой малиной.

                  0
                  В чём извращение в написании кода на C или C++ для малины?
              +12
              Для pico нет и близко того кол-ва библиотек и шилдов что для ардуино и добавление в arduino ide pico это не изменит, библиотеки надо адаптировать. Pico не купишь за 2$ на али
                +1
                Для той же ESP8266 тоже надо библиотеки адаптировать, но почему это вдруг плохо? Часто эта адаптация достаточно проста и можно это сделать самому.
                  +1
                  А что хорошего? Лишние усилия, разбираться в чужом коде и зачастую там есть оптимизации завязанные на железо и совсем не просто адаптировать. Для ESP8266 многие библиотеки уже адаптированы.
                    0
                    Я не говорю что это хорошо. Просто такая особенность кода. Можно код сделать универсальным, а можно и не очень. Зависит от автора.
                    Для ESP8266 библиотеки не адаптировались сами по себе, это кто-то сделал. Так же кто-то адаптировал код для STM32 или других МК. И так же это вполне реально сделать для RP2040.
                    Сам МК RP2040 на рынке всего пару недель с момента анонса. Портирование ESP на Arduino и адаптация библиотек заняла намного больше времени. Причём, адаптация идёт и до сих пор.
                      0
                      Ну если это не хорошо, значит это плохо) В статье же сравнивают платы на данный момент а не через год, а на данный момент даже в arduino ide пока не встроили поддержку не говоря уже о библиотеках.
                        0
                        Ну если это не хорошо, значит это плохо

                        Одно из другого не следует. Это всё равно что сказать «если это не белое, то это чёрное». А ведь есть ещё куча вариантов.

                        В статье же сравнивают платы на данный момент а не через год

                        В статье много ошибок и неверных предположений. По этой причине мы не можем считать эту статью отправной точкой.
                +5
                Странно сравнивать плату за 1300 р. и плату за 300 рублей…
                  –2
                  Странно что вы увидели в статье сравнение… статейка очень манипулятивная, больше похоже на топорную рекламу конкретного продукта, где за недостатки ставим плюсики и в итоге — ПОБЕДА. Гениально! А что, так можно было?
                  +5
                  Столько хвальбы в адрес Pico, что недвусмысленно намекает, что продажи этой морской свинки провалились, а ардуинщики не торопятся снести свои ардуино на помойку и покупать эту приоприетарную плату, переносимую на свое железо лишь в сборе ( о чем восторженно забыли указать в «сравнении»).
                    +3

                    Они не могли провалиться — они еще толком не начались.

                      +1

                      Если вещь — Вещь, то shut up and take my money начинается еще до выхода.

                        +1
                        Вроде как много где начали продавать. Во многих местах уже распродано и ждут новые партии.
                        Откуда информация что продажи не начались?
                      +7
                      Про энергопотребление — вранье полное. Сравнивать надо одинаковый код на минимально возможной частоте. И много чего еще поввключать, чего в ардуино нет.
                        0
                        Не код надо сравнивать, а задачи. Системы команд-то разные совершенно. Одной плате надо 4 инструкции выполнить, а другой одну но стоимость инструкции как 8 на первом… и подобные неоднозначности. Где-то есть векторные инструкции, а где-то нет… задача одна — путей решения много и соответственно энергоэффективность разная.
                        +3
                        Это лучшая плата для проектов с микроконтроллерами, поскольку за минимум денег мы получаем максмум возможностей. При этом все работает так, как заявлено, в отличие от многих других плат.

                        Конкурс по антирекламе можно было бы провести на хабре. Эти пара предложений — достойный претендент на победу, — отбивает охоту купить начисто. Наверное потому что стиль здорово напоминает стиль торговцев на базаре. При этом сама платка, возможно, не так уж и плоха. Наверное есть у нее какие-то фишки для конкретных применений.
                          +1
                          Зачем это сравнение? Rapsberry просто решили занять эту нишу рынка, представив своё устройство, причём не как замену существующим, а как вариант с определённым набором встроенных плюшек. Думаю, если бы планировали конкурировать с Arduino, то запустили бы линейку сходных с популярными Arduino-платами решений.
                            0
                            С Arduino глупо конкурировать, надо просто быть частью их для успеха. Так сделали многие микроконтроллеры и это хорошо для пользователя.
                            Были попытки конкуренции с Arduino, но они что-то не особо сейчас распространены. Например, Energia от TI.
                            0
                            Замечание раз: надо посмотреть не только потребление в активном режиме, а еще — какие там есть режимы сна, и как оно из них выходит? Это важно для батарейных и автономных применений.

                            Замечание два: ардуина хороша бывает тем, что ты можешь сначала отработать алгоритм на большой плате (с роскошью в виде отладочных сообщений в Serial), а потом перенести на кастомную плату с мелкой тинькой (tn85, tn13, tn2313...)
                              +4
                              Очередное сравнение синего со сладким. Похоже, авторы даже документацию не читали. Предназначение малинки — быстрый старт за счет использования интерпретатора Питона, обучение азам электроники. Весь SoC вокруг этой идеи построен. Так же, за счет относительной простоты периферии, можно рекомендовать данный чип для углубленного изучения основ построения вычислительных систем в кружках / младших курсах ВУЗов. Нишу в коммерческих серийных изделиях этот чип не займет.
                                +1
                                Нишу в коммерческих серийных изделиях этот чип не займет.

                                Наверно, речь о плате Pico, а не о самом чипе RP2040.
                                Так как RP2040 уже используется в коммерческих серийных изделиях.
                                  0
                                  Нет, я именно про чип, использование его сторонними производителями не для макетных / отладочных плат, а для полноценных, законченных устройств. Если есть ссылка, с удовольствием взгляну.
                                    0
                                    Тогда я про ту же Raspberry Pi Pico, две разработки от Adafruit — Feather RP2040 и ItsyBitsy RP2040. Вроде ещё кто-то обещает.
                                    Если бы чип был не нужен, то и платы на них никто бы не делал кроме производителя.

                                    Но почему такие платы не считаются? Или надо обязательно какие-то серьёзные индустриальные решения?
                                    Если надо что-то индустриальное, то, пожалуй, тут просто рано для этого, так как чип только недавно вышел. То есть, отсутствие таковых не является показателем, что чип провальный. Хотя, для чего-то индустриального скорее выберут что-то из STM32, так как разработчики с таким лучше знакомы и рука уже набита.
                                      +1
                                      Да я и не говорю, что чип — провальный. Более того, в своей нише — он великолепен! Не исключено, что будут выпущены другие СОКи, с 1 ядром, уменьшенным количеством ОЗУ и набортной FLASH. Вот мне очень понравилось наличие PIO. В одном из проектов нужен, можно CPLD заменить, да и почти 20 лет эта (подобная) концепция была частью моей дипломной работы… Пру раз в проекты пытался протолкнуть, не вышло, к сожалению…
                                        0
                                        Пожалуй, так. Время покажет. Больше выбора для нас — нам лучше.
                                +2
                                Количество опечаток для такой короткой статьи зашкаливает — 6 штук.
                                Но проблема не в этом, а в том, что компания Selectel упорно не желает их не исправлять. Ни в одной из 5-ти статей, о которых я сообщал, начиная с 4 ноября прошлого года, ни одна из ошибок до сих пор не исправлена.

                                За наплевательское отношение к собственному контенту и систематическое неуважение к читателям ставлю минус.
                                  0

                                  Рекомендуемая цена = 4 ye
                                  АлиЭкспресс = 14-20 уе, но мало продаж. Ещё немного и будет цена взрослой малины )


                                  Подскажите, плиз, хорошие книжки по ардуино и есп для тех, кто вообще 0 в электронике.


                                  С си знаком

                                    0
                                    На оф.сайте есть документация и туториалы, можно почитать документацию по Wiring — для Arduino, при знании C, этого достаточно
                                      0

                                      книжки лучше чем сухая документация

                                      0

                                      только что смотрел цены на али — эта пико 1900 рублей, банан м1 и м2 примерно 1 тысячу (2 и 4 ядра соотв., но уже староваты), первые малины не искал.

                                        0

                                        Я бы хотел шарить в вашем комментарии, но… )

                                      +1
                                      А вот Arduino — микроконтроллер.

                                      Это же не микроконтроллер, а платформа.
                                      Когда Pico портируют на Arduino, то Pico тогда автоматически станет ардуиной и как тогда сравнить ардуино с ардуиной?
                                      В статье явно сравнение платы «Raspberry Pi Pico» с платой «Arduino Uno», а не с самой платформой Arduino.
                                        0
                                        Сравните с Black Pill.
                                          0

                                          А зачем все это? Сделать освещение — есть готовые конфигурируемые наборы, подключил, настроил пользуешься.


                                          DIY обезумел — вычислительных кластер на управление светом и другие разработки из коузи митинга.

                                            0

                                            Я уже несколько лет как перешел на esp8266. Там и характеристики намного превосходят arduino, и встроенная беспроводная связь. Протокол использую mqtt, он простой и надежный. Веб интерфейс на PHP.

                                              0
                                              характеристики намного превосходят arduino


                                              Только частота и память. GPIO и таймера там грустные.
                                                +1
                                                А что у ESP не так с GPIO?
                                                  0
                                                  Ножек мало. Аналоговых входов совсем мало. Но это все равно сравнение теплого с кислым.
                                              0
                                              В целом Potenta выигрывает по всем фронтам, >очень мощная плата для своего класса. Но если >вспомнить, что стоит она около $109 (с налогами), и >сравнить эту цену с $4 для Pico, выбор становится >очевидным.

                                              Простите не смог пройти мимо. В чём этот выбор очевиден? Если мне нужен интерфейс для камеры, FPU и хорошая производительность, то пофиг на это — возьму плату за 4 доллара?) вообще статья дилетантская: сравнивают несравнимое. И нормальные MCU обычно не под одну задачу используются. Ах да и не забываем про stm32 nucleo и mbed среду, которые в клочья рвут ардуно и прочие комьюнити, если нужно сделать что-то сложнее блютус-реле лампочки.)

                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                              Самое читаемое