программируемый экран на макетной плате Wipeout ESP32-S3

На ESP32-S3 запустили гонку в стиле Wipeout, и она держит 60 FPS на экране 480×320. Для микроконтроллера, который обычно тащит датчики, реле и прочую бытовую скуку, это уже не демонстрация «посмотрите, как мы страдали», а вполне аккуратная маленькая инженерная наглость.

Проект собрал PhonicUK. По описанию автора, трасса генерируется заново при старте, в игре есть три ИИ-соперника с обходом столкновений, а физика позволяет кораблям толкать друг друга. Всё это крутится на SPI-дисплее ST7796 через чередующиеся буферы, причём задействованы оба ядра ESP32-S3, чтобы одно рисовало кадр, а второе занималось вводом-выводом.

Как работает игра на ESP32-S3

Тут важна не только картинка, но и то, как она сделана. ESP32-S3, в отличие от обычных «игрушечных» демо на микроконтроллерах, имеет два ядра и заметно больший запас для параллельной работы, а ST7796 давно любят в самодельных проектах за доступность и предсказуемость. Но 60 FPS на 480×320 всё равно звучит как то, что обычно показывают на слайде, а не в реальном коде.

Источник кода автор пока не выложил, так что повторить трюк прямо сейчас не выйдет. И это, честно говоря, типичная история для таких проектов: эффектный ролик есть, а репозиторий живёт где-то в туманном будущем, как и половина «скоро опубликую» из Reddit.

Wipeout на ESP32-S3 — не просто эмулятор

ESP32 давно обжили люди, которые запускают на нём игры, эмуляторы и странные графические эксперименты. Но тут интереснее другое: это не порт старой 2D-аркады, а полноценная 3D-гонка с процедурной трассой и столкновениями, то есть работа идёт уже на границе того, что микроконтроллер вообще обязан уметь, а не на уровне «ну, хоть меню откроется».

По сути, такие проекты нужны не рынку, а репутации чипа. Они показывают, сколько можно выжать из дешёвого железа, если не жалеть времени на кастомный движок и не притворяться, что стандартные библиотеки сами всё сделают. А потом кто-нибудь обязательно спросит, почему в устройствах за $5 до сих пор нет нормальной анимации.

  • Чип: ESP32-S3
  • Экран: 480×320
  • Частота: 60 FPS
  • Трасса: процедурная, генерируется при запуске
  • Соперники: 3 ИИ-гонщика с обходом столкновений
  • Графика: ST7796 SPI, чередующиеся буферы, оба ядра чипа
Илья Игнатов
Технический журналист и новостник. Окончил МТУСИ по специальности «Информационная безопасность». Пишет о железе, софте и потребительской электронике с 2018 года. Верит, что хорошая новость — это когда всё по делу и без воды.

Leave a reply