Adafruit QT Py RP2040: крохотный одноплатник для самых разных проектов


    Не так давно мы рассказывали об одноплатнике Adafruit Feather RP2040. Всем он хорош, в особенности тем, что в его основе — чип от Raspberry. Получается, что это вроде и «малинка», но возможностей больше.

    У Adafruit есть и другие сюрпризы. Компания выпустила еще две платы на базе RP2040, включая самую миниатюрную из них — Adafruit QT Py RP2040. Все подробности о новинке — под катом.

    Что за плата такая?


    Adafruit QT Py RP2040 предлагает дополнительный аналоговый вывод, общее их количество в итоге составляет 4. Также он оснащен встроенным светодиодом NeoPixel RGB, который используется в качестве индикатора состояния работы платы. Система крошечная, а значит, слишком уж обширного спектра возможностей ожидать от нее не стоит.

    И в самом деле, несмотря на ряд интересных функций, разработчикам пришлось пойти на жертвы. А именно — уменьшить вдвое количество контактов GPIO.

    Характеристики платы:

    • Процессор: ARM Cortex M0+ running at up to 133Mhz
    • Flash Storage: 8 МБ QSPI
    • GPIOЕ 13 GPIO pins. 7 x Digital I/O, 4 x Analog 12-bit ADC, 2 x I2C (включая Stemma QT), SPI, UART, Programmable IO, 1 x NeoPixel
    • USB Port: USB C
    • Размеры: 22 x 18 мм

    Adafruit QT Py RP2040: как это сделано



    QT Py RP2040 примерно на треть меньше Pico. Плата удобна для распайки на платах большего размера при создании различных проектов.

    По дизайну и возможностям QT Py RP2040 похожа на Tiny 2040, что неудивительно, учитывая «родство» этих одноплатников. Размер обеих плат схож, но вот распиновка GPIO разная. У QT Py RP2040 распиновка GPIO такая же, как и у предыдущей модели, SAMD21 power QT Py. Если в одном из ваших проектов была задействована эта плата, теперь ее можно проапгрейдить.


    На верхней стороне одноплатника две кнопки — загрузка и reset. Добавление последней — отличный ход, поскольку теперь нет необходимости отключать кабель питания и подключать его снова. Но приятнее всего для разработчиков еще одна фича — это коннектор Stemma QT, который расположен с другой стороны от порта USB-C.

    Как можно использовать Adafruit QT Py RP2040?



    Сердцем новой платы является система на кристалле от Raspberry, RP2040. Это означает, что код, написанный для «малинки», годится и для этого одноплатника. Код, напомним, может быть написан на MicroPython, CircuitPython, C/C++, а в ближайшем будущем и на Arduino Core. Наиболее популярным среди разработчиков является CircuitPython — версия MicroPython от Adafruit. Язык хорош тем, что для него создана целая библиотека расширений и драйверов.

    Писать код на CircuitPython — почти то же самое, что писать код на Python. Единственная разница — сохранять проекты нужно как code.py. При включении платы система стартует самостоятельно. Работает плата хорошо: обзорщики уже протестировали ее при решении различных задач и никаких проблем не заметили.


    Важный нюанс: Stemma QT является вторичным портом. Чтобы его задействовать, необходимо модифицировать код, указав board.SDA1 и board.SCL1. Без этой операции второй порт работать не будет.

    В целом, возможностей QT Py RP2040 хватает для использования платы в ходе реализации большого количества «железных» проектов. Это может быть дополнительная клавиатура, управление MIDI и все такое прочее. Применима плата и в проектах «умного дома».

    Ее небольшой размер — идеальный вариант для интеграции с любыми совместимыми платами большего размера. Но использовать одноплатник можно и в качестве самостоятельного юнита. Единственный недостаток системы — относительно небольшое количество пинов GPIO.

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

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

      +1
      Прочитал и подумал:
      А что, микропитон на STMках для тех, кто C не умеет забанили РоскомНадзор запретил?
      Зачем этот очередной микроконтроллер и очередная плата? В чем их существенные преимущества?
        0
        При чём тут запрет? Если можно MicroPython на RP2040, то это не отменяет все остальные МК.
        У каждого МК свои плюшки есть. Например, на RP2040 есть PIO, которым можно создавать свои производительные железные интерфейсы.
          0
          Так, может, про Programmable I/O и стоило рассказать? Светодиодом, пусть и цифровым, помигать можно и с 8-и битника. А вот состряпать управление NeoPixel с его упоротым протоколом за счет железки — это реальная польза. Потому что как сделаешь нормальное плавное изменение цвета на линейке этих светодиодов, так вдруг и выясняешь, что ресурсов и периферии МК это съело прилично.
            0
            Да, конечно. Вот для таких штук как раз PIO полезно.
              0

              Там официяльная документация про это как раз, и чуть ли не уже и переведена.


              С PIO мне видится другая проблема. Идея прикольная, но использовать его сложно, по крайней мере, мне. Как его задействовать для чего-то ещё, кроме тех примеров, что уже есть в документации? Например, можно ли замутить драйвер шагового двигателя, с микростеппингом? Драйвер 3-фазного DC мотора как в CD-ROMе?

                0
                Если что-то можно сделать дёрганием пинов, то это можно сделать на PIO.
          –1

          Так это очередной революционный Intel Edison!


          Кстати

          0
          интересно можно ли замутить на нем умный фонарь, с поддержкой разных звуков из верещалки от кнопок, зарядки и разрядки на телефон, счетчика дистанции от геркона на колесе, указателя поворотов и охранной сигнализации если припаять микросхему датчика ускорения?
            0
            Да.
              0
              С учётом наличия 13 GPIO пинов, я думаю, не ошибусь если скажу, что можно реализовать все ваши хотелки прямо на одном устройстве.
              0

              Осталось узнать, через сколько месяцев он уйдёт в историю.

                0
                До сих пор живут более древние МК, которые могут делать намного меньше. Почему RP2040 должен уйти?
                  +1

                  Такое уже было, когда на чипе от малинки сделали крутой девайс с кучей плюшек которых не было в оригинале и стали продавать его. Ребята из raspberry быстро это дело раскусили и запретили продавать чип на стороне. Тут скорее всего будет тоже самое..

                    +1
                    Что-то я сомневаюсь, что было дело именно в этом. Но в любом случае, МК — это совсем другое и он как раз предназначен для встраивания типа такого. Зачем это прибивать?
                    Не удивлюсь, что Raspberry Pi Foundation даже участвовала в создании этой платы так или иначе.
                      0

                      Они наоборот сами рекламируют сторонние разработки на этом чипе.

                        0
                        ошибочка вышла) просто помню года 2-3 назад эту печальную историю, думал повторится) стратегия видимо изменилась, хотят стать малиновой ардуиной на стероидах)
                  +1
                  Интересна цена устройства. Blue Pill при меньших мегагерцах раза в 3 имеет больше раза в 3 периферии и стоит в районе 2$
                    0

                    BluePill это 72mhz. Итого разница менее 2х раз!
                    Гонится до 128. Разницу в мегагерцах можно вычеркивать

                      0

                      Вдобавок таблетка на м3, а не м0+ как тут

                        –1

                        Зато тут два ядра (в статье почему-то не написали). В MicroPython ты легко запускаешь два потока, никакого GIL там нет, работает оба. Ну и в C++ тоже можно его программировать и тоже будет два :)


                        Офигенная подробная документация и вообще поддержка, STM-у до такого расти и расти.

                          0

                          1) GIL ортогонален к числу ядер
                          2) как уже сказали, там m0 ядра
                          3) периферия у таблетки
                          4) цена как у 5-ти таблеток

                        0
                        $10 на официальном сайте.
                          0

                          Закапывайтк обратно

                        0

                        А почему не сказали про то, что тут ДВА ядра Cortex M0+, вдобавок имеется аппаратное деление (кадждому свой модуль)?


                        И да, хочу заметить, по сравнению с STM32 тут хотя экосистема очень молодая, но гораздо более дружественная. Документация, поддержка в линуксе, вот это всё.

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

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