Авторизация
Зарегистрироваться

Собираем карманную игровую приставку на Raspberry Pi Zero

Здравствуйте, товарищи.
Сегодня мы будем собирать карманную игровую приставку на базе:
Game
Boy
Zero
Pocket
All
In
One
Оригинальный проект доступен на гитхабе, и представляет из себя плату для для сборки карманной игровой приставки на Raspberry Pi Zero.


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

То что началось среди любителей подобных самоделок с выходом Raspberry Pi Zero даже получило название — Game Boy Zero.

В общем случае Game Boy Zero это одно платный компьютер Raspberry Pi Zero дополненный геймпадом (часто это просто макетка с кнопками), звуковой картой, батарейкой с платой заряда и экраном подключенным к малине по композиту, завернутый в корпус от Game Boy. Встречаются решения где некоторые из перечисленных компонентов (или даже все сразу) разведены на плате, но это в основном коммерческие продукты.
KITE'S SUPER ALL-IN-ONE BOARD
tinkerBOY
и еще куча других.
Но не Геймбоем единым. Приставки собирают в корпусах от Game Boy Advance, PSP да даже в коробке от мятных конфет

Я выбрал Gaboze Pocaio потому что это плата несущая на себе все железо консоли т.е. не придется крепить внутри корпуса кучу компонентов на термоклей и плести паутину из проводов, а так же потому что это устройство в корпусе Game Boy Pocket который немного компактнее оригинального Game Boy. А то вдруг я это буду с собой куда-то возить )))
Кроме того мы имеем:
— 2.6" TFT LCD (ILI9342) подключенный по SPI
— Зарядку батареи (модуль TP4056)
— Простенький аудио усилитель (звук правда через PWM)
— Штекер для наушников
— Регулировку громкости
— Вывод звука на динамик
— Простую установку платы в корпус

Единственное чем меня не устраивал оригинальный дизайн платы это расположением кнопок. Ну право же, это выглядит странно:
Большое фото

По этому я создал свою ветку данного проекта и изменил дизайн платы в соответствии с моими представлениями о прекрасном :)
Мой вариант платы


Материалы

И так, нам понадобятся:
1. Детали из BOM.
2. Плата.
3. Raspberry Pi Zero (лучше с WiFi на борту, закидывать ромы по USB это отдельный квест).
4. Корпус.
5. Кнопки (количество зависит от того сколько вы будите делать кнопок).
6. Контактные резинки для кнопок. (по количеству кнопок)
7. Корпус картриджа (исключительно декоративная деталь).
8. Карта памяти.
9. Li-ion аккумулятор 3.7В 1200 мАч 4,5 на 2,5 см. ~ 1 см высотой (брал по месту в чип и дип).

Сборка электроники

Элементы распаиваются в соответствии с обозначениями на плате, все нормально паяется простым паяльником (фен не нужен). Обратить внимание стоит на пайку малины, она садится над колесиком регулировки громкости и важно оставить между ними не большой зазор (1мм или около того) иначе малинка прижмет его и колесико не будет крутиться. Еще нужно хорошо пропаивать контактные площадки зарядного модуля, если там где-то не будет контакта можно потратить кучу времени на выяснение «почему не работает» ))
Да, и экран к плате крепить лучше не на двухсторонний скотч, т.к. он жрет место между экраном и платой, а оно нам понадобится что бы закрыть корпус.



Подготовка корпуса

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

На верхней крышке: проделаны отверстия под дополнительные кнопки, срезан один из бортиков экрана и само отверстие под экран чуть увеличено.
Я пробовал разные варианты крепления дополнительных кнопок: сажать кнопки в печатные колодцы, приклеить резинки к плате и просто оставить кнопки болтаться в отверстиях корпуса. Оба варианта работали нормально. В итоге я приклеил все дополнительные резинки к плате.

Осталось подключить аккумулятор и собрать корпус.



Программная часть

Тут все еще проще, разработчики оригинального проекта собрали пред настроенный образ RetroPi со всеми необходимыми драйверами. Качаем его с сайта разработчиков и заливаем на карту памяти.
После включения питания устройство загружается около минуты (первый старт будет дольше). Сначала будет просто белый экран, потом появится экран загрузки RetroPi, потом Emulation Station и далее мы попадаем в интерфейс RetroPi.
Имеет смысл настроить кнопки (из меню RetroPi).
По сути все, устройство готово. Осталось загрузить на него ромы. Если у нас есть WiFi на плате то подключаемся к домашней сети и заливаем ромы в соответствующие папки. Думаю нет смысла объяснять как заливать образы в RetroPi.
Если WiFi на борту нет то все немного сложнее, нам понадобится как минимум Micro UBS OTG кабель для подключения клавиатуры. Ромы можно залить на карту памяти, затем подключить клавиатуру к малинке и в меню RetroPi запустить менеджер файлов (это тупо Midnight Commander) и затем уже раскидать ромы по нужным папкам руками.



Итого

Все работает как ожидалось, производительности хватает на эмуляцию GB, GBA, GBC, Famicom/NES, SNES, SEGA. В планах было развести на плате USB хаб, нормальную звуковую карту и дополнительный USB порт т.к. тот что есть используется только для зарядки аккумулятора (линии передачи данных никуда не подключены). Но… буквально на днях, Retroflag анонсировали GPi CASE. Эта штука способна убить большую часть проектов Game Boy Zero.
Если вдруг интересно, напишите в комментариях, как приедет ко мне запилю обзор.
На этом у меня все, спасибо за внимание.

Видео

Добавить в избранное +48 +79
свернуть развернуть
Комментарии (66)
RSS
+
avatar
+2
Поделитесь плиз инфо по аккумулятору и прожорливости устройства.
+
avatar
+1
Li-ion аккумулятор 3.7В 1200 мАч 4,5 на 2,5 см. ~ 1 см высотой. На сколько его хватает я не успел замерять. Как сделаю это обязательно дополню пост.
На вскидку, два три часа он должен тянуть легко.
+
avatar
0
Спасибо, ждём замеров, тема интересна.
+
avatar
0
Вообще, люди ставят батарейки и побольше емкостью. Прячут их в картридж. Но ИМХО это не лучшая идея т.к. там батарейка упирается в чип малинки а он не плохо так греется под нагрузкой. Я под картридж лучше приклею радиатор на чип малинки.
github.com/32teeth/GabozePocaio-Round1/wiki/Battery-Selection
+
avatar
  • Xylene
  • 19 июня 2019, 08:55
+1
Только вчера купил, правда для других целей
Дополнительная информация



ТС — вы бы в работе показали. Мне экран интересен
+
avatar
+1
Добавил пару коротеньких роликов. Снимать экран на телефон, ну такое себе.
+
avatar
  • ResSet
  • 19 июня 2019, 08:57
0
И так, нам понадобятся:
1. Детали из BOM.
2. Плата.
3. Raspberry Pi Zero (лучше с WiFi на борту, закидывать ромы по USB это отдельный квест).
4. Корпус.
5. Кнопки (количество зависит от того сколько вы будите делать кнопок).
6. Контактные резинки для кнопок. (по количеству кнопок)
7. Корпус картриджа (исключительно декоративная деталь).
8. Карта памяти.
9. Li-ion аккумулятор 3.7В 1200 мАч 4,5 на 2,5 см. ~ 1 см высотой (брал по месту в чип и дип).
А можно посчитать итоговую себестоимость? Не проще ли купить готовое устройство?
+
avatar
+1
Конечно проще. А зачем рыбу ловить, на рыбалку ходить? Не проще и в магазине купить?
+
avatar
  • ResSet
  • 19 июня 2019, 09:09
-8
+
avatar
  • Xylene
  • 19 июня 2019, 09:10
+25
Смысл рыбалки в том, чтобы сократить затраты,

Ну какая же ерунда
+
avatar
  • ResSet
  • 19 июня 2019, 09:14
-1
Ну какая же ерунда
Видимо я плохой рыбак. Поехали на озеро, наловили сколько нужно, заплатили хозяину по весу дешевле чем в магазине и уехали. Что мы делаем не так? )
+
avatar
  • Xylene
  • 19 июня 2019, 09:15
+17
Так и детей из детдома проще… а процесс?
+
avatar
  • ResSet
  • 19 июня 2019, 09:55
+1
Так и детей из детдома проще… а процесс?
Интересные у Вас сравнения ))
Для меня удовольствия от плотских утех находятся несколько на другом уровне, чем рыбалка. Очень на другом )
Интереснее поиграть в страйкбол, чем сидеть с удочкой, Вам может быть наоборот — все люди разные.
Но как бы я не любил поделки, есть грань, переступать которую бывает не целесообразно. Помните же троллейбус из буханки хлеба?
+
avatar
  • Fiks
  • 20 июня 2019, 08:00
+8
Для меня удовольствия от плотских утех находятся несколько на другом уровне, чем рыбалка. Очень на другом )
+
avatar
  • ResSet
  • 20 июня 2019, 08:13
+1
Не, там же комаров тьма, не нравятся мне утехи возле водоемов )
+
avatar
  • zaycen
  • 20 июня 2019, 13:50
0
у меня вот тоже нормально так на на рыбалку съездить последние пару лет получается очень редко
p.s. ловлю спиннингом, с удочкой не сижу )
+
avatar
+2
Так и детей из детдома проще… а процесс?
сравнил х… с пальцем…
т.е. все рукодельные темы это в основном кайф от процесса, без очевидно выгоды от результата? Серьезно?
щикарно…
+
avatar
  • kven
  • 19 июня 2019, 10:03
+2
часто с выгоды рукоделие и начинается, а кайф приходит уже в процессе
+
avatar
  • Xylene
  • 19 июня 2019, 10:13
0
кому как. Мне да — самоделки обходятся мои значительно дороже аналогов
+
avatar
0
Не все, но достаточно много.
+
avatar
  • kven
  • 19 июня 2019, 10:02
0
не проще, там куча бумаг и скажем честно — здоровые дети в детдома попадают редко и они нарасхват.
+
avatar
  • Xylene
  • 19 июня 2019, 10:21
+1
То есть было бы иначе — то так бы и поступали… Ну ок, проедем тему.
+
avatar
  • vovbel
  • 19 июня 2019, 21:27
0
Скажем честно- очень много дебилов с вполне прекрасным здоровьем… Что чем правит?.. Тело духом или наоборот?..
+
avatar
+3
Любым делом занимаются не потому что это дешевле, а потому что это отдых, интересно и потому что: могу! Самому собрать всегда развитие и полезней для мозга.
+
avatar
  • Xylene
  • 19 июня 2019, 10:58
+1
Про развитие мозга вообще часто забывают, вот на качалку с витаминчиками — там денег не жаль. Правда в реальной жизни от того пользы куда меньше
+
avatar
+1
так нужна и качалка и развитие мозга :) хреново когда большое тело, но тупой и когда мозг из черепной коробки лезет, а тело дряхлое… все должно быть в норме и всегда надо ВСЕ тренировать
+
avatar
  • Xylene
  • 19 июня 2019, 11:40
+5
и времени лет 600 где бы прикупить
+
avatar
+1
эх да, и ведь все интересно
+
avatar
  • jeka89
  • 19 июня 2019, 12:21
+1
Это если речь о хобби. А когда люди концы с концами сводят(вспоминаю 90-ые), рыбалка превращается в способ добычи еды, в первую очередь.
+
avatar
0
Хобби тоже может в способ добычи еды преватиться. :-)
+
avatar
  • Fiks
  • 20 июня 2019, 10:38
+3
Смысл рыбалки в том, чтобы сократить затраты,
+
avatar
  • ResSet
  • 20 июня 2019, 11:05
+2
Ну видимо я всегда делал что-то не так )
Мы приезжаем на озеро, ловим удочками и платим на выезде по весу, выходит дешевле чем в магазине, но азарт конечно не такой, как когда часами сидишь искусанный комарами ради поимки горсти небольших рыбешек, которых потом еще и чистить умаешься.
У знакомого жена сколько раз жаловалась — все мужики как мужики, на рыбалке бухают, а ты привезешь мешок этой хрени и сиди ее шкреби до ночи.
+
avatar
+6
Не не не, считать не буду ))) И Вам не советую, к чему эти душевные травмы?! )))))

Не проще ли купить готовое устройство?
Намного проще и дешевле :) Но, не интересно :)
+
avatar
  • ResSet
  • 19 июня 2019, 09:10
+1
Намного проще и дешевле :) Но, не интересно :)
Я понимаю, интересно самому что-то поковырять, но у меня есть психологический предел разницы в стоимости. Если готовое красивое устройство будет стоить дешевле моей кривой поделки, лучше не тратить время )
+
avatar
+1
Положа руку на сердце, до недавнего времени годных альтернатив Game Boy Zero и не было. PSP или PS Vita разве что. Об этом у меня тоже есть пост :)
А вот сейчас, жду GPi CASE. Он точно лучше многих проектов Game Boy Zero.
+
avatar
  • ResSet
  • 19 июня 2019, 09:58
+1
Положа руку на сердце, до недавнего времени годных альтернатив Game Boy Zero и не было.
Ну я особо не следил за возможностями, племяннику покупали давненько что-то PSP подобное с кучей эмуляторов. Рандомная картинка из интернета.

Вроде не сильно дорого стоило, были 8 и 16 битки точно, насчет геймбоя не буду ничего утверждать, т.к. не заглядывал глубоко
По характеристикам вот что пишет:
N64, PS1, GBA, MD, NES
+
avatar
0
Ох не люблю я эмуляторы на ведроиде. Во первых все эти китайские поделия работают не особенно стабильно, во вторых не всегда корректно подхватываются аппаратные кнопки самими эмуляторами. Короче не то это немного.
Вот на PSP/Vita прекрасно все работает :) + своя библиотека огромная. Это много обсуждали под этим потом: mysku.ru/blog/aliexpress/65539.html
+
avatar
  • ResSet
  • 19 июня 2019, 10:34
0
Ох не люблю я эмуляторы на ведроиде. Во первых все эти китайские поделия работают не особенно стабильно, во вторых не всегда корректно подхватываются аппаратные кнопки самими эмуляторами. Короче не то это немного.
Ну я в свое время заморачивался с РетроАрч — отличный софт. Ставил на твбокс и играл на BT/проводных геймпадах. Конечно не сравнить с портативными версиями, но при нормальном железе проблем быть не должно. Проблема с клонами ПСП в том, что в них до сих пор используется довольно слабая прошивка. Это при том, что на рынке полно недорогих планшетов с 10 ядрами и 4 гигами оперативки. Видимо наштамповали и не могут сбыть.
+
avatar
+1
Проблема с клонами ПСП в том, что в них до сих пор используется довольно слабая прошивка.
Так в том то и соль. На GPD XD тоже все прекрасно работает :)
А у телевизора у меня трудится большая малина с Recal Box на борту :)
+
avatar
  • Multik
  • 21 июня 2019, 11:46
0
Вполне себе неплохо всё работает, а тормоза и косяки разного рода могут быть на любых устройствах, т.к. частота процессора и прерывания разные.
Например даже тот же Donkey Kong Country 3 от Super Nintendo даже на компьютере нормально не работал несколько лет назад… хз как сейчас…
+
avatar
  • kven
  • 19 июня 2019, 10:04
0
есть еще nVidia Shield Portable
+
avatar
0
А еще есть GPD :)
+
avatar
0
только питание от батареек. 18650 лучше бы
Хотя можно 3*14450 в параллель наверное, с небольшой модификацией отсека, как думаете?
+
avatar
0
Если Вы о GPi то вполне можно обойтись одной ячейкой Li-ion.
+
avatar
0
Ну да, просто чтобы батарейный отсек использовать «максимально полно» с наименьшим разрушением.

Upd. Блин, что же так кнопок мало…
Upd2 нашел!!! Нпшел lR кнопки!!!
Хочу!!!
+
avatar
0
Я так понял, что пока нет возможности заказать. Если цена будет адекватной, и вы Москвич/область, может замутим совместный предзаказ?
+
avatar
0
Пока предзаказ. Цена что-то около 70 баксов пока вроде бы. И я далеко от столицы живу )
+
avatar
0
Хех, и цнна кажется немного высоковатой (но для psp и gba чисто платы намного выше стоят)

Тогда буду рад прочитать ваш обзор))
+
avatar
0
Тут и ковырять нечего, готовый конструктор. Мелкую маторику развивать ) Лично для меня такое скучно, слишком просто на всё готовенькое.
+
avatar
  • ResSet
  • 20 июня 2019, 10:10
0
Лично для меня такое скучно, слишком просто на всё готовенькое.
И дороже, чем купить готовое решение.
+
avatar
0
проще всего поставить эмулятор на телефон))) и купить ipega контроллер )
+
avatar
+8
Расскажите, пожалуйста, про GPi CASE. Интересно!
+
avatar
  • aik
  • 19 июня 2019, 13:54
0
Надо всё же на LDK обзор закончить…
+
avatar
0
чёт я упустил как из аккумулятора получается 5в для малинки
+
avatar
0
Напрямую от аккумулятора. Мы не используем USB шину и 5В нам не нужно. Даже WiFi будет работать.
+
avatar
0
вау
+
avatar
0
Даже USB клава прекрасно работала при питании от одной ячейки Li-ion.
+
avatar
0
с обычной малинкой такое ведь не проканает?
+
avatar
0
Не-а, не прокатит.
+
avatar
  • mozgj
  • 19 июня 2019, 23:06
0
Интересно было бы сделать то же, но на базе последнего Raspberry Pi Compute Module, у которого процессор от Pi 3, а не от Pi 1. Но плата будет заметно сложнее и охлаждение нужно продумывать.
+
avatar
-1
Все уже сделано :) Ценник не гуманный, но с технической точки зрения это решение прекрасно :) www.freeplaytech.com/product/freeplay-cm3-diy-kit/
+
avatar
+1
Ретроигровые приставки на Raspberry Pi строят давно, производительности этого одноплатника вполне достаточно что бы эмулировать большинство старых игровых систем.
дык она способна принимать стрим.
а как насчёт ESP8266? если вы из тех кто ловит рыбу а не идёт в магазин
+
avatar
0
может все таки esp32
+
avatar
+1
Имею в наличии девайс от Freepalytech в корпусе от GBA
Он великолепен (хотя бы по тому, что достался за в 3 раза меньшую цену), но играю я на обычном классическом GBA с подсветкой. Почему?
Потому что какие-то гребанные микрофризы (в том же эмуляторе GBA) или подергивания, импут лаг, батарея и изначальное отсутствие L2,R2.
Последнее рубит прям на корню всю идею данного устройства (по факту выпадает большая часть библиотеки PSX). Их добавить можно, но там много НО )
Поэтому не понимаю идей портатива на RPi с малым количеством кнопок. Та же шитая PSP просто кладет эти потделия на лопатки по всем статьям. А на разницу в цене можно еще и DS купить.

Если уж чисто о 2д нативе, то классический GBA c подсветкой просто отличный выбор. Почти 15-20 часов с подсветкой (в зависимости от типа flash-картриджа) на обычных AA батарейках )
+
avatar
-1
ИМХО конечно, но для PSX лучше юзать PSP :) Она у меня есть кстати, все с ней отлично. А что до проектов на RPi, так они в основном для поковыряться же делаются. И показать потом таким же пробитым — смотрите какая вундервафля получилась )
+
avatar
-1
Все верно :)

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.