Я сделал VR-шлем за 240 долларов и теперь знаю, почему так почти никто не поступает
Стандартная накладка от VR-шлема делает конструкцию хоть сколько-то удобной
Автор оригинала: Tim Stevens
Вокруг виртуальной реальности сегодня сложилась непростая ситуация. В 1990-х она посулила многое, но так и не оправдала ожиданий, а в 2016 году снова заявила о себе вместе с Oculus Rift. Некоторое время казалось, что VR, AR, XR, метавселенная — называйте как угодно — вот-вот станет явлением вселенского масштаба. Марк Цукерберг был в этом непоколебимо уверен, а следом за ним поддалась общему азарту и Apple, выпустив Vision Pro.
Однако к тому времени интерес к альтернативным реальностям, как бы их ни называли, уже начал сходить на нет, а затем и вовсе угас. Новые шлемы появляются всё реже, а многие компании, включая Apple, сократили разработки или заморозили проекты. Steam Frame и Pimax Dream Air всё же добрались до релиза, но самое любопытное в этой сфере сегодня происходит в среде энтузиастов.
Да, VR можно собрать своими руками. Пара сотен долларов на комплектующие и множество часов личного времени — и вы окажетесь в виртуальном мире, попутно испытав все радости и разочарования пайки, прошивки и 3D-печати. Я прошёл этот путь сам и понял, почему он остаётся уделом немногих.
Стандартная накладка от VR-шлема делает конструкцию хоть сколько-то удобной. Фото: Tim Stevens
Что представляет собой самодельная VR
С этой темой я столкнулся примерно год назад. VR нужна мне главным образом для симрейсинга: не снимая пижамы, я оттачиваю мастерство на лучших автомобилях мира и самых знаменитых трассах. В то время у меня был HP Reverb G2 — шлем стандарта Windows Mixed Reality (WMR).
Microsoft как раз теряла интерес к VR и сворачивала поддержку WMR, поэтому я опасался, что придётся покупать новый шлем. (Опасался напрасно: энтузиасты поддерживают WMR-шлемы сторонними драйверами, например OASIS в Steam.)
Тогда мне и попалось видео ютубера CNCDan о том, как собрать VR-шлем за 150 долларов. Цена привлекала, а кое-какой опыт работы с электроникой у меня имелся: я годами разбираю и ремонтирую пинбольные автоматы. Затея показалась увлекательной.
За этим роликом обнаружился целый мир самодельной VR — с программным обеспечением и аппаратными рекомендациями для новичков.
Лучше всего начинать с Relativty VR. Проект был запущен в конце 2010-х Йонасом Чекконом, Габриэлем Комбом и Максимом Кутте, и в нём собрано всё необходимое: код, конфигурации и подробные инструкции.
Есть и другие решения: OpenVR Arduino HMD, Project North Star и SlimeVR, предназначенный для отслеживания всего тела. Подходов к сборке шлема множество. В первый раз я не стал усложнять себе жизнь: взял программную часть Relativty и 3D-модели корпуса, которые CNCDan опубликовал вместе с описанием своей сборки. Начнём с железа.

Arduino, IMU и пара маленьких дисплеев — по сути, больше ничего и не нужно. Фото: Tim Stevens
Перечень комплектующих
Самодельный VR-шлем — это сплав аппаратной и программной частей. Программы устанавливаются в пару кликов, а вот за деталями, скорее всего, придётся подождать, тем более что с международной доставкой сейчас царит неразбериха.
Самое крупное и, пожалуй, самое важное оборудование — 3D-принтер. Мне попадались вполне достойные самоделки из переоборудованных держателей для смартфона (Google Cardboard и ему подобных), но в большинстве проектов корпус всё же печатается. Если принтера нет, детали можно заказать по почте, например у Formlabs, однако хлопот при этом будет немало, а печатать дома заметно удобнее.
Покупок в любом случае предстоит много. Начнём с самой дорогой позиции — дисплеев. Может показаться, что пара панелей, достаточно компактных и качественных для VR-шлема, — большая редкость, да ещё и баснословно дорогая. Потратить здесь можно любую сумму, но стандартный вариант — пара 2,9-дюймовых ЖК-дисплеев, которые вместе с нужным контроллером обойдутся примерно в 125 долларов.
Разрешение каждого — 1440×1440, яркость — 150 нит, контрастность — 600:1. Показатели не рекордные, но для такой задачи их хватает. Под углом смотреть на экраны неприятно, но вы будете держать их в нескольких сантиметрах от глаз, так что это не имеет значения.

Дешёвые пластиковые линзы фокусируют картинку. Фото: Tim Stevens
Следующий компонент — модуль с инерциальным измерительным блоком (IMU), который определяет положение шлема в пространстве. Понадобится GY-91: на этой плате размещены акселерометр, гироскоп, магнитометр и барометр. Стоит она около 5 долларов, но будьте внимательны — почему, объясню чуть ниже.
Далее нужна схема, связывающая всё воедино. В некоторых самодельных шлемах применяются специально разработанные платы, густо усеянные компонентами. Relativty обходится Arduino Pro Micro, которую продают во множестве магазинов электроники за 5 долларов или даже дешевле.
Кроме того, потребуются две линзы диаметром 34 мм, чтобы сфокусировать крошечные экраны, мелкий крепёж и нейлоновый ремень, который удерживает конструкцию на голове. А ещё накладка от HTC Vive: острые края слоёв пластика после 3D-принтера на лице никому не нужны.
В итоге всё это обошлось мне чуть меньше чем в 180 долларов.

Макетная плата не обязательна, но на первых тестах здорово помогает. Фото: Tim Stevens
Пора браться за макетку
Прежде чем хвататься за паяльник и запускать 3D-принтер, советую начать с макетной платы и перемычек. Проводов в проекте немного, но поверьте на слово: искать причину, по которой не прошивается прошивка, гораздо проще, когда компоненты лежат на столе, а не втиснуты в корпус шлема.
Полную распиновку я приводить не стану — надёжнее следовать инструкции из репозитория на GitHub. В общих чертах IMU нужно соединить с Arduino как по питанию, так и по линии передачи данных.
Контроллер дисплеев тоже можно запитать от Arduino, как предлагается в видео. Для тестов я так и поступил, но учтите: идея не самая удачная, ведь экранам требуется больше тока, чем способна выдать Arduino. Лучше подвести к дисплею отдельный USB-кабель или установить USB-разветвитель внутри шлема.
Когда всё подключено и включилось без происшествий, можно переходить к программной части.

Настоящая Arduino и поддельный IMU. Фото: Tim Stevens
Увлекательная прошивка
Прошивка Arduino должна быть самым простым этапом, но именно здесь у меня всё пошло наперекосяк. По задумке вы устанавливаете на компьютер Arduino IDE, скачиваете проект FastIMU, подключаете Arduino по USB и нажимаете «Скомпилировать». Проще не бывает.
У меня же прошивка раз за разом вылетала с невнятной ошибкой e:-1. Я почитал форумы, поэкспериментировал и в конце концов докопался до причины — новости оказались неутешительными.
Я заказал и оплатил GY-91 с IMU 9250 на борту, и плата именно так и называлась. Но фактически на ней стоял более простой и дешёвый 6500, в котором нет магнитометра.
Как выяснилось на собственном опыте, такое случается пугающе часто. Многие сомнительные продавцы электроники без малейших угрызений совести отправляют не тот компонент по цене нужного. Оба чипа совместимы и работают почти одинаково, но без магнитометра точность отслеживания заметно страдает.
Стоило мне скорректировать код под имеющийся 6500 вместо 9250, который я рассчитывал получить, как всё прошилось без единого сбоя и сразу заработало. Я откалибровал IMU через Arduino IDE и был готов к финальной сборке.

С дисплеями обращайтесь предельно осторожно. Фото: Tim Stevens
Соединяем всё воедино
В сети можно найти немало вариантов корпуса для самодельных VR-шлемов, и многие из них рассчитаны именно на тот набор плат, который применяется в Relativty. Я выбрал файлы CNCDan: конструкция выглядела аккуратной и продуманной, к тому же она позволяла регулировать расстояние между дисплеями под межзрачковое расстояние (IPD).
Платой за это стала непростая сборка: множество печатных деталей, в которые нужно вплавлять резьбовые втулки, а также стержни и винты, на которых всё держится. Кроме того, потребуются два «окуляра», в каждом из которых с одной стороны находится линза, а с другой — дисплей.
Именно здесь я допустил болезненную ошибку. В окулярах этой конструкции предусмотрены небольшие защёлки, и по инструкции дисплеи предлагается просто вщёлкнуть на место.
Делать так не стоит. Открытые ЖК-панели невероятно хрупки, и, вщёлкивая их, я разбил обе. Лёгкого нажима хватило, чтобы они треснули, причём повреждение стало заметно, только когда я их включил.
Поэтому настоятельно рекомендую доработать окуляры: либо печатать их без защёлок, либо отламывать защёлки после печати. Свои дисплеи я зафиксировал несколькими полосками тонкого малярного скотча.

Немного скотча — и всё держится. Фото: Tim Stevens
Запускаем игру
Я упрятал все провода внутрь, скрутил шлем, приклеил накладку для лица, продел ремень и минут пять безуспешно пытался нацепить это устройство так, чтобы было удобно.
Я загрузил домашнее пространство SteamVR, и меня тут же замутило. Во-первых, взгляд упирался прямо в пол. Во-вторых, при повороте головы изображение разворачивалось как попало, и вскоре подступила тошнота.
Я забыл заново откалибровать шлем после установки всех компонентов, а мой дешёвый IMU теперь был ориентирован иначе, чем на столе.
После повторной калибровки и ещё одной порции возни с прошивкой я вернулся в стартовую комнату SteamVR и обнаружил, что проблема никуда не делась. Если удерживать голову абсолютно неподвижно, было заметно, как картинка медленно поворачивается сама по себе.
Вдобавок оси IMU, судя по всему, были слегка перекошены, из-за чего изображение двигалось не совсем так, как голова. Я убедился, что IMU в корпусе закреплён верно, несколько раз перекалибровал его, но лучше не стало.

Корпус для шлема можно напечатать какой угодно. Фото: Tim Stevens
Сдаваться я не стал и запустил iRacing — мой любимый гоночный симулятор с поддержкой SteamVR. Картинку начало уводить в сторону ещё до выезда с пит-лейна. Команду «вернуть вид по центру» я назначил на кнопку руля, и тянуться к ней приходилось постоянно.
При этом качество изображения превзошло мои ожидания. Дешёвые пластиковые линзы справляются на удивление хорошо, а пиксели на экранах были различимы (тот самый «эффект москитной сетки», которого так опасаются в VR), но меня это не раздражало. Яркости и контрастности хватало с запасом, а 60 Гц вполне достаточно для неспешных тренировочных заездов.
Настоящими проблемами оказались дрейф датчика и неудобство. Кабели были ничем не закреплены, и шлем всё время утягивало в одну сторону. Накладка не помогала: шлем давил на нос и скулы.
В серийных VR-шлемах я проводил многочасовые гонки на выносливость. В этом уже через 15 минут хотелось всё бросить.

Такие проекты никогда по-настоящему не заканчиваются. Фото: Tim Stevens
Подведём итоги и поговорим об апгрейдах
Всего на проект ушло 239,93 доллара. Правда, в эту сумму входят лишние 62 доллара за второй комплект дисплеев. Если не повторять моей дорогостоящей ошибки, детали обойдутся примерно в 180 долларов.
Это приблизительно половина стоимости Meta Quest 3S — одного из самых доступных шлемов на рынке. Экономия существенная, но большинству я бы посоветовал доплатить. Отслеживание в моём шлеме буквально выводит из себя, картинка в лучшем случае средняя, а по неудобству он превзошёл все шлемы, что мне доводилось носить.
Впрочем, всё это поправимо. В некоторых проектах применяют IMU MinIMU-9: он выглядит заметно точнее и подделывают его реже, но и стоит ощутимо дороже — 35 долларов. Можно взять ЖК-панели получше или даже крошечные OLED-экраны с любой цветопередачей и контрастностью, какие только пожелаете. Есть варианты со встроенным аккумулятором или беспроводным адаптером, ну и, разумеется, над сверхудобным корпусом можно корпеть бесконечно.
Но даже без учёта потраченного времени такие улучшения быстро приближают вас к цене того самого Quest — шлема далеко не идеального, но удобного и работающего прямо из коробки.
Как всегда в подобных проектах, всё зависит от ваших целей. Если вам нужен недорогой, простой и надёжный шлем для очередной порции игрового погружения, это, скорее всего, не тот случай.
Если же вам хочется увлекательного проекта, после которого начинаешь ценить промышленный дизайн — основу любого красивого и удобного носимого устройства, — возможно, это именно он. Я многому научился и, несмотря на все мучения, рад, что взялся за эту затею.
Впрочем, хотя я продолжу экспериментировать и, вероятно, добавлю в эту конструкцию ещё пару улучшений, променять на неё свой основной гоночный шлем я не готов, каким бы устаревшим тот ни был.
Магнитная буря обрушилась на Землю
Xiaomi Mijia Robot Vacuum and Mop 7 Max поступил в продажу: робот-пылесос с тремя манипуляторами для чистки углов, мощностью всасывания 45 000 Па и подачей воды с температурой 50 °C
Samsung Galaxy S27 Ultra получит крупный дисплей и предельно узкие рамки вокруг него
Anthropic урезала долю младших специалистов в технических командах с 27% до 9%
Disney переманила команду Character.AI и нацелилась на её технологии, а стартап остался один на один с судебными исками
Япония отправила аппарат MMX к Фобосу: впервые образцы с луны Марса вернутся на Землю
Смартфонный рынок обвалился как никогда, но Apple и Samsung почти не почувствовали удара
Google Gemini 4 Argon: ИИ-агенты на новой модели справились с прохождением Minecraft