Платформа Espruino Puck.js в виде шайбы со встроенной кнопкой предназначена для самых миниатюрных проектов IoT с автономным питанием от батарейки CR2032. Помимо беспроводной связи Bluetooth/BLE и NFC на борту устройства содержится магнитометр, благодаря чему Puck.js можно использовать как BLE-кнопку для дистанционного управления или как геркон — датчик открытия дверей и окон.
Круглый корпус из белого силикона и чёрного пластика облегчает монтаж на разные поверхности и не выделяется в окружающем пространстве, так что Puck.js уместно смотрится в DIY-проектах, связанных с умным домом. Необычный форм-фактор позволяет установить контроллер возле двери, чтобы автоматизировать включение-выключение света при открытии, или использовать в качестве ИК-повторителя для дистанционного управления приборами.
Основа Espruino Puck.js — беспроводной модуль MDBT42Q, который состоит из чипа Nordic nRF52832 и встроенной антенны.
Однокристальная система nRF52832 включает в себя 32-битный процессор с архитектурой ARM Cortex-M4 и тактовой частотой 64 МГц. На борту содержится 512 КБ флеш-памяти и 64 КБ оперативной памяти.
Чип поддерживает беспроводную связь Bluetooth v5.0 / BLE для обмена данными и прошивки по воздуху, а также программируемую NFC-метку с интегрированной антенной.
Трёхосевой магнитометр MAG3110 служит как датчик Холла или выступает в роли 3D-компаса.
В силу миниатюрного исполнения все контакты на плате Espruino Puck.js v1 плотно сгруппированы.
Всего для подключения периферии предусмотрено 17 портов ввода-вывода: 8 сквозных контактов и 9 контактных площадок. Часть из них обладает дополнительными возможностями.
Для подключения внешних модулей предусмотрены аппаратные интерфейсы UART, SPI и I²C.
Обратите внимание, что логическое напряжение на пинах Puck.js — 3,3 вольта, поэтому подключение 5-вольтовой периферии повредит устройство.
Для работы с контроллером используется среда программирования Espruino Web IDE на JavaScript, доступная в виде онлайн-инструмента, расширения Google Chrome или отдельного приложения.
Платформа Espruino Puck.js v1 питается от батарейки CR2032. Чтобы запустить устройство в первый раз, вам понадобится вынуть плату из корпуса и извлечь защитную пластину между батарейкой и контактами платы. Время автономной работы от одной батарейки — до 20 дней.