The One Cube // Железо консоли. На чем работает магия шести экранов.

Меня не редко спрашивают что внутри куба? Отвечаю..

The One Cube // Железо консоли. На чем работает магия шести экранов.

Ранее были посты про 6D-змейку и рулетку артефактов на том самом кубе. Но это всё программная оболочка.

Чтобы по-настоящему понять, почему куб работает именно так, нужно заглянуть в самое его сердце — в железо. Сегодня проведу экскурсию по его “внутренностям” и расскажу, какие инженерные решения стоят за этим игровым опытом. Это история не про погоню за терафлопсами, а про поиск баланса. Про то, как из доступных компонентов собрать что-то уникальное.

Процессор

Любой проект начинается с выбора «мозга». Выбор пал на ESP32-S3 N8R8. Почему? Потому что я уже пять лет собираю устройства на ESP32, и эта платформа мне как родная.

Но и объективно, это идеальный компромисс:

  • Два быстрых ядра 240МГц для расчетов и рендера.
  • Встроенный Wi-Fi для будущих онлайн-фич.
  • Огромное количество GPIO-пинов. Без них подключить шесть экранов и другие штуки было бы просто невозможно.

Кстати, 8 МБ дополнительной PSRAM — это не роскошь, а жизненная необходимость. Это что-то вроде второго уровня оперативки, куда отгружается всё, что не влезло в основную, более быструю память.

The One Cube // Железо консоли. На чем работает магия шести экранов.

Дисплеи

Чтобы показать мир на кубе, нужно было превратить его грани в экраны. Я остановился на 1.54-дюймовых TFT IPS-экранах (ST7789) с разрешением 240x240. Нашел их на Ali, и это был единственный годный вариант по соотношению цена / качество.

Почему именно они?

  • Яркие, с отличными углами обзора — критически важно, ведь на куб смотришь всегда под углом.
  • Разрешение 240x240 — это тот самый “sweet spot”, где картинка уже четкая, а микроконтроллер еще не задыхается от потока пикселей. Как потом подтвердили тесты, возьми я разрешение побольше — проц бы просто не вывез, и мы бы получили слайд-шоу вместо игры.

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

The One Cube // Железо консоли. На чем работает магия шести экранов.

Управление

У куба нет джойстиков и кнопок в привычном понимании. Его главная парадигма ввода — движение / положение устройства в пространстве.

Я выбрал BNO055, потому что это “умный” сенсор (IMU). Он не просто выдает сырые данные с акселерометра и гироскопа, а сам их обрабатывает и отдает уже чистую, отфильтрованную ориентацию в пространстве. Это позволило мне сосредоточиться на геймплее, а не на борьбе с математикой кватернионов и дрейфом гироскопа.

The One Cube // Железо консоли. На чем работает магия шести экранов.

Память и питание

Чтобы на кубе могли жить десятки игр, ему нужно было вместительное хранилище. Решение простое и очевидное — слот для MicroSD-карты. Это было одно из первых решений при проектировании. Сейчас в кубе стоит карточка на 32 ГБ, чего хватает с головой.

The One Cube // Железо консоли. На чем работает магия шести экранов.

За автономность отвечают пара аккумуляторов 18350 и чип IP5310. Это современная микросхема для повербанков, и по сути, вся электроника куба питается от её линии 5В. Кнопка включения на корпусе не разрывает цепь напрямую, а подает сигнал именно на этот чип, который уже включает или выключает всё устройство. Просто и надежно.

The One Cube // Железо консоли. На чем работает магия шести экранов.

Накупить компонентов — это полдела. Самое интересное начинается, когда ты пытаешься всё это вместе уместить в маленькой коробочке.

Материнская плата

Чтобы вся эта электроника не болталась в виде клубка проводов, я с нуля спроектировал собственную материнскую плату. Это основа, на которой держится буквально всё: на ней распаян ESP32-S3, BNO055, разъемы для экранов, слот для MicroSD и система питания. Создание кастомной платы позволило максимально компактно разместить все ключевые узлы и заранее продумать их взаимодействие.

Экраны, кстати, подключены через так называемый «тройник» — их линии данных (SPI) объединены, чтобы не занимать все пины контроллера.

The One Cube // Железо консоли. На чем работает магия шести экранов.

Корпус и рама: Эволюция дизайна

Изначально я планировал корпус из двух половинок по три грани, к которым бы крепились экраны. Начав сборку, я понял, что это было ужасно неудобно.

The One Cube // Железо консоли. На чем работает магия шести экранов.

Пришлось все переделывать. Так родилась идея внутренней сборной рамы. Теперь вся электроника — материнская плата, экраны, батареи — крепится на этот внутренний «скелет». А уже потом вся эта конструкция целиком вставляется в аккуратный внешний корпус, который просто защелкивается. Это в разы упростило и сборку, и возможный ремонт.

The One Cube // Железо консоли. На чем работает магия шести экранов.
The One Cube // Железо консоли. На чем работает магия шести экранов.

Сам дизайн получился минималистичным. Настолько, что его даже сложно фотографировать — со всех сторон он почти одинаковый. Видно только стык крышки, разъем USB-C и кнопку включения. Зато получилась идеальная форма, ничего лишнего. В будущем, возможно, сделаю корпус чуть более шершавым для лучшего хвата.

The One Cube // Железо консоли. На чем работает магия шести экранов.

Боль и страдания: Провода и косяки

Без этого не обходится ни один DIY-проект.

Провода. Я их ненавижу. Я устал их паять. Десятки тонких проводков, которые нужно было зачищать, лудить и припаивать к платам дисплеев, а потом укладывать в тесном корпусе. И они занимают кучу места. Да, это работает. Но в следующей версии я точно перейду на шлейфы.

The One Cube // Железо консоли. На чем работает магия шести экранов.

Косяки проектирования.

Когда пришла материнские платы с завода, начались «танцы с бубном». При попытке запустить экраны выяснилось, что в своем «тройнике» для дисплеев я забыл развести все линий данных. Плюс, один из пинов управления должен был идти к тройник отдельно, а не быть общим. Пришлось колхозить: кидать на плату проводки-перемычки, выводить еще один отдельный разъем. Выглядит не очень, но работает.

The One Cube // Железо консоли. На чем работает магия шести экранов.

Про патент и копирование

Запатентовать конструкцию как полезную модель невозможно. 20 лет назад уже был патент на такую конструкцию. А новые патенты подаются по новизне предлагаемых решений.

Да, можно скопировать железо проекта и оно даже запустится. Но написать драйвера, программное ядро и остальное веселье (я уж не говорю про UX) очень сложно и требует много времени и навыков в разных сферах. Тем более здесь железо по современным меркам очень слабое, и кроме энтузиастов мало кто полезет экономить каждый килобайт памяти и милисекунды работы процессора, чтобы запустить не сложные 2D игры.

В заключение

Каждый компонент в The One Cube был выбран не случайно. Это система компромиссов, осознанных решений и ошибок, которые пришлось исправлять на лету. Именно это железо с его возможностями и ограничениями диктует правила игры и формирует тот уникальный опыт, который дает куб.

Буду рад обсудить в комментариях выбранные решения. Может, у вас есть идеи, как можно было бы сделать иначе или что можно улучшить в следующей версии?

P.S. В следующей версии точно планирую вибромоторчик =)

И кстати, в моем TG-канале регулярно обновления по проекту

9
Начать дискуссию