Автор проекта под ником curisama собрал устройство с лаконичным названием The Badge («Значок»). На первый взгляд это просто маленький круглый экран, который носят на одежде, однако кастомная прошивка научила его множеству неожиданно полезных и забавных трюков.

Круглый AMOLED-значок The BadgeИсточник изображения — hackaday.com

Основа — готовая плата Waveshare

Проект построен на модуле Waveshare ESP32-S3-Touch-AMOLED-1.75C. Название громоздкое, но точно описывает содержимое: круглый сенсорный AMOLED-дисплей диагональю 1,75 дюйма с разрешением 466×466 пикселей, фрезерованный алюминиевый корпус и микроконтроллер ESP32-S3, который всем этим управляет. Буква C в конце обозначает именно версию с корпусом.

реклама кормит Уточку 🦆

По данным производителя, на плате установлен двухъядерный процессор ESP32-S3R8 (Xtensa LX7, до 240 МГц) с 8 МБ PSRAM, есть поддержка Wi-Fi 2,4 ГГц и Bluetooth 5 LE. Кроме того, распаяны шестиосевой датчик движения QMI8658 (акселерометр и гироскоп), часы реального времени, контроллер питания, аудиокодек с двумя микрофонами и эхоподавлением, а также встроенный динамик. Фактически это почти готовые смарт-часы без ремешка.

Значок The Badge в работеИзящно, не правда ли?

От аэромыши до игр

Изначально автор писал собственную прошивку, чтобы превратить устройство в аэромышь: курсор на компьютере двигается вслед за наклонами значка, для чего как раз пригодился встроенный гироскоп. Со временем функций стало гораздо больше:

реклама кормит Уточку 🦆
  • режим сенсорной панели (тачпада) и набор дополнительных клавиш;
  • часы;
  • несколько игр;
  • запись звука в формате WAV продолжительностью до 52 минут;
  • симуляция жидкости, в которой вода плещется по круглому экрану, а по ней плавает маленькая лодочка.

Оптимизация анимации и автономности

Самой эффектной функцией стала именно симуляция воды, но в первой версии она работала всего на 3 кадрах в секунду. После оптимизации частоту удалось поднять до 18 кадров в секунду — анимация стала заметно плавнее и приятнее глазу. Для микроконтроллера без графического ускорителя, который отрисовывает физику на экране 466×466, это хороший результат.

Поработал автор и над энергопотреблением. Включение флага CONFIG_PM_ENABLE в конфигурации ESP-IDF, который активирует встроенное управление питанием и динамическое понижение частоты процессора, вместе с рядом других настроек увеличило время работы в режиме ожидания с 11,9 до 19,6 часа. Это прирост примерно на 65% без какой-либо замены аккумулятора.

реклама кормит Уточку 🦆

Как повторить

Тем, кому нужен незаметный круглый гаджет в роли устройства ввода (HID) и не только, достаточно купить плату Waveshare и прошить её самостоятельно. Для этого не требуется устанавливать среду разработки: прошивку можно залить прямо из браузера.

Проект хорошо иллюстрирует общий тренд: модули, объединяющие дисплей, корпус и микроконтроллер в одном готовом изделии, сейчас переживают настоящий бум среди мейкеров. Они избавляют от пайки и проектирования корпуса и позволяют сразу сосредоточиться на программной части.