«Портативная» ретро-консоль своими руками

    Пятничный привет, Хабр!

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

    В результате мы окунемся в период, когда слова Dendy и Sega вызывали трепет, и получим вот такую «карманную» консоль:


    Под катом много картинок и краткое видео для тех кто любит смотреть, а не читать

    Предисловие


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

    Ну и заказал себе одну такую приставку. Продавец обещал аж 168 игр из детства. Дни шли… Доставка заказа затягивалась.

    Время шло, я в предвкушении решил еще раз пробежаться по списку игр, которые должны были быть на приставке. Пока читал список — освежил в памяти игры в которые проводил целые дни, и с досадой обнаружил, что многих из них нет в обещаемом наборе. Кроме того, плитой воспоминаний легла приставка Sega mega drive, с её Comix zone, Rock'n'Roll Racing и Earthworm Jim… Время шло, а моя «нинтендовая» приставка нет. Написав продавцу, я получил ответ, что он просто забыл ее отправить, а трек который он дал — недействительный. Деньги я за нее вернул, но детство мне не вернули.

    Плюнув в сердцах на совесть этого нехорошего человека, я задумался, что поиграть в денди можно и на эмуляторе в телефоне. Но как оказалось — ощущения совсем не те. Нет тактильных кнопок, а вместе с тем и комфорта игры. Тем более, что старые игры гораздо сложнее современных и промазать по кнопке прыжка зачастую может означать старт уровня с начала.
    И решил — почему бы не собрать свою приставку, с Cannon fodder и кнопками?.. И я собрал. Допустил кучу ошибок, где-то по неопытности, где по криворукости. И поделиться с вами хочу именно опытом с ошибками, потому что умный человек учится на чужих ошибках, а на Хабре собираются только умные люди :)

    Видео, с процессами сборки:


    Выбор платформы


    У меня завалялась raspberry pi 2, и недорогой 3,5 дюймовый дисплей к ней. С поиска решений для нее я и решил начать. И как оказалось — не зря. Для Raspberry уже имеется операционная система RetroPie, которая и превращает ее в полноценный эмулятор самых разных консолей. (подробнее по ссылке).

    Кроме того, в интернете полно инструкций как подключить к ней джойстики и сунуть в корпус от старой приставки.

    Но это не наш путь, мы же собираем «карманную» консоль. Значит джойстик нужен встроенный.

    Ошибка 1: Лучше использовать raspberry pi 3 или 4 модели из-за наличия wi-fi и bluetooth. Это сильно упростит настройку уже собранной консоли в дальнейшем. Так же можно использовать Orange pi, решение получится ничуть не хуже.

    Проектируем джойстик


    За основу джойстика я решил взять 6 кнопочный контроллер от sega-mega-drive. В первую очередь из-за того что, 6 кнопок позволять играть в сегавские игры и не будут мешать дендевским.

    Дальше, у Adafruit нашлась библиотека, которая может эмулировать клавиатуру, считывая сигналы с ножек gpio самой raspberry. И пользоваться ей очень просто. Её нужно скопировать в уже установленную RetroPie и подключить кнопки к пинам. Кнопки, при нажатии должны замыкаться на землю (любой GND пин).

    Для начала были собраны все кнопки на макетной плате и проверены на работоспособность.



    Схему подключения использовал следующую:



    Т.к. проект собирался под Sega'вский джойстик — то и обозначения соответствующие. Вообще в RetroPie принято использовать «TL» и «TR» вместо «C» и «Z», видимо используемые в джойстиках от PlayStation. На самом же деле кнопки всегда можно переназначить, в том числе, для каждой конкретной игры.


    Кнопки собраны, теперь нужно подумать над корпусом для карманной приставки. И вот тут я получил как положительный, так и отрицательный опыт:



    Собираем корпус


    В одном из своих постов я уже упоминал, что создание корпуса это прям головная боль для некоммерческой сборки гаджетов, если у вас нет 3д принтера. Можно поискать либо готовые боксы и плясать от их размеров, либо что-то собирать самому. Я решил опробовать новый для себя способ — склеивание акрила. Тем более, что хабравчанин millercutter предлагал свою помощь в нарезке акрила к одному из прошлых постов. За что ему отдельная и большая благодарность!

    Прикинув размеры начинки — был сделан чертеж и отдан на резку. Изначально идея была в следующем: скруглить наждачкой «острые» края в собранном корпусе и покрыть его жидкой резиной из баллончика. В воображении вырисовывалось soft-touch покрытие и дизайн Porsche.
    Склеивать акрил рекомендуют дихлорэтанолом. Его я в строительном магазине не нашел, поэтому взял первый попавшийся клей для пластика Bison. Прошу не считать это рекламой, но склеился корпус очень хорошо. Взгляните какой красивый прозрачный корпус получился:


    Акрил легко и надежно клеится, хорошо выглядит и вообще приятный материал.

    Корпус собран, кнопки впаяны в макетные платы, готовимся красить…



    После высыхания клея я прошёлся наждачной бумагой по углам, а так же по всему корпусу, чтобы «краска лучше легла». Так как дома красить негде — я вышел на покраску на улицу. И вот тут я получил свою вторую ошибку:

    Красить нужно в сухом и теплом помещении, а не в мокром и холодном Петербурге.

    В общем, либо я нарушил технологический процесс, либо звёзды не сошлись, но резина легла отвратительно. С пузырьками и подтеками.

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



    Сборка консоли


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

    Все места соединений и пайки я промазывал термоклеем. Да, это некрасиво, но зато верный способ закрепить навесной монтаж.

    Ошибка 3: навесной монтаж это в любом случае ненадежно и некрасиво, поэтому если у вас есть возможность заказать или заЛУТить печатную плату — у вас получится надежнее и компактнее



    Собираем звук


    Сборка звука это одна большая ошибка номер 4:
    Я решил, что для воспроизведения звука идеально подойдет динамик от телефона. Тот, что воспроизводит мелодию звонка. Но по ошибке приобрел голосовой динамик (тот что к уху прикладывается) Ну и после подключения его к микросхеме усилителя — динамик просто не справился с громкостью. Пришлось усилитель изъять.

    Честно говоря, до сих пор не знаю что сделать со звуком. использовал микросхему усилителя MC34119L. Может быть в подключении была проблема. Если кто-то знает какой динамик будет подходящим и какой простейший усилитель для него подойдет — пожалуйста подскажите. Желательно без дополнительных обвесов типа конденсаторов.

    Собираем питание


    Тут все довольно просто. Нужно собрать powerbank. У меня имеется запас аккумуляторов 18650 и разные готовые платы для их зарядки.

    Ошибка 5: Сначала я использовал безымянную с Китая на 3 Ампера с круглым гнездом питания. У нее не оказалось стабилизатора на 5В поэтому дополнительно пришлось припаять DC-DC преобразователь. Чуть позже переделал на уже готовый модуль сразу со стабилизатором и индикатором заряженности батарей, но из-за уже готового отверстия в корпусе — круглое гнездо осталось. Сейчас же понимаю, что следовало делать для microUSB. Пары аккумуляторов на 2300mAh хватает на несколько дней безудержной игры. Так же, сразу не пришла в голову возможность поставить кнопку с фиксацией для включения устройства. Можно оправдывать большой тумблер, единственный оказавшийся под рукой, но… Нет ему оправдания, кнопка была бы лучше. Кроме того, аккумуляторы 18650 довольно громоздкие, можно подумать над использованием плоских литиевых аккумуляторов.


    Окончательно собранное устройство

    Заключение


    В целом консоль получилась приятная. Окунуться в старые игрушки это прям как пережить второе рождение. Консоль в карман все-таки не помещается (разве что в пуховик), но в рюкзаке легко переносить.

    На просторах интернета можно найти целые коллекции игр на 30 Гигабайт. На данном сайте можно легально скачать бесплатные игры для данной консоли.

    Для тех же, кто решит повторить данный проект — смею дать несколько советов:

    • Лучше не используйте термоклей.
    • Если есть возможность — закажите или сделайте печатную плату, консоль получится аккуратнее и компактнее
    • Прежде чем начать красить корпус — следует потренироваться на кошках на похожем материале
    • Используйте Raspberry Pi с WiFi. Это лучше чем постоянно вскрывать корпус и доставать малинку для загрузки игр или перенастройки.
    • Еще лучше использовать Raspberry Pi Zero или Orange Pi. Они компактнее
    • Не лучшая идея давать консоль ребенку — потом сложно забрать

    Ну и закончить статью хотелось бы словами Александра Сергеевича:
    «О сколько нам открытий чудных Готовят просвещенья дух И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель.»

    Поделиться публикацией

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 56

      –6
      когда слова Dandy и Sega вызывали трепет
      Коверкание названия Dendy — вызывает еще больший трепет.
        +4
        Спасибо! И за минус статье тоже
          +3
          Прошу прощенья, минус статье вы не могли поставить
            0
            То есть вы ошиблись и вам поставили 3 плюса, а человек указал вам на ошибку причем меня это тоже задело так, как для меня слово Dendy вызывает массу ностальгии и эмоций нужно минусить?

            Вот они последствия недавно задушеной и как следствие не состоявшейся революции системы рейтинга Хабра.
              +1
              Так если вас так резануло — напишите в личных сообщениях, я обязательно исправлю ошибку. Не один человек сделал к статье замечания к ошибкам и опечаткам, и все они отписались в личных сообщениях. И большое им спасибо. Зачем выплескивать этот негатив в такой замечательный пятничный вечер?
                0
                Про ошибку я имел виду ваш комментарий, а не ошибку в статье. За статью спасибо, было интересно почитать, сам сейчас купил pi4 но не решился собирать, что либо мобильное из-за потребления в 3 ампера.
        +1
        Попробуйте автомобильную краску для пластмассовых деталей. Мне надо было восстановить пластиковый корпус, взял в автомагазине грунтовку для пластика, краску и лак. Сделайте побольше слоев лака и отполируйте. Уйдут изъяны покраски и будет блеск :)
          0
          Хорошо, попробую. Продаются так же в баллончиках (я о краске)? Просто боюсь, что после краски второго шанса на перекраску не будет )
            +2
            Краска, грунтовка и лак в баллончиках. После каждого слоя надо корпус пошкурить самой мелкой шкуркой с водой.
              0
              Добро! Как раз на выходных займусь. Спасибо за полезный совет!
              +1

              С обратной стороны краску нужно было наносить.

                0
                Тоже вариант. Вообще, если собирать на печатной плате и обойтись без термоклея, то можно было оставить прозрачным. Я искренне надеялся, что жидкая резина ляжет ровно с первого раза
            0

            Но играть с ТАКИМИ кнопками — это мучение. Во-первых они довольно жёсткие, во-вторых — громкие.
            Не просто так в геймпадах мембранные стоят.

              0
              Полностью согласен с громкостью кнопок. Они хоть и не так громко щелкают когда находятся под корпусом, но все-таки немного мешает. По поводу жесткости — неудобств не ощутил. А вот крестовина была бы комфортнее, если бы была именно крестовиной. Чтобы сделать мембранные, видимо стоит сделать печатную плату
                0
                у меня тоже первая мысль была про кнопки — жесткие совершенно неудобно и их можно было выдрать с какого-нибудь дешевого джойстика.
                Второе, о чем подумал — у вас на лицевой панели какая-то жесть с винтиками. Люди обычно оставляют винты по краям, остальное прячут, или хотя бы выносят на заднюю панель.
                Третий вопрос — сколько же вам все это стоило денег? У меня уже однажды было такое, когда лучше бы погуглил и нашел похожее устройство, чем делал с нуля
                  0

                  Кнопки выдрать можно, но как их с корпусом скрепить без печатной платы?
                  Винтики не мешают игре.
                  По цене:
                  Raspberry 2 у меня была. Взять можно за 2000р.
                  Дисплей 900р.
                  Кнопки 100р.
                  Корпус с материалом и резом 1000р
                  Макетные платы с проводами и термоусадкой 50р
                  Зарядное к аккумуляторам 60р
                  Аккумуляторы за 2шт около 250р
                  Нереализованный звук — 100р.
                  Вроде ничего не забыл.
                  Итого около 4500р.
                  Мне кажется по такой цене найти сложно подобную консоль.

                    0
                    4500р ~ 70.5$
                    За 75$ можно купить RG350, которая эмалирует в том числе игры от PS1
                    либо поискать б/у PSP — будет еще больше эмалируемых платформ
                      0
                      Я в начале статьи и указал, что заказал нечто подобное, а оно не пришло.
                      Ниже вообще предложили докупить геймпад к смартфону. Еще проще и дешевле. НО тогда бы и статьи небыло
                        0
                        опять же вопрос только в целесообразности. Если я правильно нашел устройство, то стоит ~10$. Ценник такой, что даже у местных барыг обошлось бы гораздо дешевле, чем собирать свое. Но вам виднее, спорить больше не буду
              +1

              В целом очень приятная штука у вас вышла и было интересно посмотреть на процесс и почитать про ошибки :)
              На будущее (может будет полезно):


              1. У Sega джойстик 8-позиционный, к основным 4 направлениями добавляются еще 4 диагональных. Это во многих играх активно используется (в том же MK3 прыжки в стороны), и на обычном джойстике как у вас такое не повторить.
              2. Я бы попытался вывести все (или почти все) разъемы RPi в корпусе, т.к. это возможности для: подключения джойстиков, подключения приставки к ТВ через hdmi, подключения наушников через AV-выход. Конечно же, это усложнило бы проектирование и сборку.
                +1
                По первому — библиотека от Adafruit вполне справляется с диагональю, если нажать две кнопки одновременно. Правда это не совсем комфортно, хотя в MortalCombat 3 Ultimate на этой консольке играл. Использовать «крестовину» было бы однозначно лучше. В идеале хотелось вообще аналоговый джойстик подключить, но у малины нет аналоговых входов, пришлось бы делать какой-то переходник из чего-то ардуиноподобного
                По второму — это да, хорошие мысли приходят после.
                  +1
                  А еще забыли кнопку Mode (под указательный палец правой руки которая). Если не ошибаюсь, активно использовалась в The Lost Vikings.
                    +1
                    Еще это кнопка использовалась в cannon fodder и какой-то игре про бэтмена. Сверху у меня 4 кнопки, одна из них и них START, вторая SELECT, третья HOTKEY, четвертая для симметрии. HOTKEY, это служебная кнопка для выхода в меню RetroPie. на сегавских джойстиках нет кнопки SELECT, и вот там она и заменяет кнопку MODE. Для денди — это SELECT и есть. Кнопок хватает.
                      +1
                      Тогда прошу прощения. Просто рефлекс искать ее где-то у указательного пальца :)
                        0
                        Так незачто. Кстати, хорошая идея — нужно наверное купить наклеек на клавиатуру и пометить кнопки
                    0
                    По второму — это да, хорошие мысли приходят после.
                    Но ведь это довольно круто, когда в рюкзаке будет такая мини консоль, которую можно в любое время развернуть до масштабов стационарной приставки с подключением доп. пультов и выхода на любой экран. А если там же будет валяться карманный проектор и рядом стоять прошивка уровня медиа сервера…
                  +1
                  Спасибо за статью! Обязательно попробую собрать такой же.

                  Кстати, на ретроконсолях есть много игр, в которые можно играть вдвоем и даже вчетвером. Есть ли возможность «подключить» контроллеры для нескольких игроков к raspberry?
                    0
                    Сама ОС RetroPie позволяет это сделать. Все на столько просто, что достаточно подключить джойстики в usb малины и они заработают. Возможно заработают джойстики и через bluetooth( нет возможности попробовать). Играть вдвоем на таком дисплее будет не удобно, поэтому понадобится переключатель на внешний HDMI.
                    +1
                    А винты на передней панели не мешают? Может надо было использовать которые утапливаются в корпус?
                      0
                      Было бы лучше без болтов, но и проблем не вызывают. По хорошему нужно сделать фаску для утапливаемых болтов. Либо вообще приклеить ножки внутренней части пластика или защелки.
                      В общем болты не самое лучшее решение, но не убивающее идею )
                      +1
                      1. Корпус для Gameboy на Али стоит от 400 рублей.
                      2. Для подключения джойстика, наверное, стоит использовать Arduino Pro Micro, чтобы не занимать кучу пинов GPIO (бонусом на него же можно повесить индикатор заряда батареи, подключить аналоговой стик от PSP и т.п.)
                      3. На западных форумах для звука советуют использовать усилители на PAM8302A, мне эта платка еще не приехала, ничего конкретного про неё сказать не могу.

                      Тоже собираю портативную консоль на базе Pi 3A+.
                        0
                        Отлично, а по динамикам информация имеется?
                        UPD: Посмотрел корпусы для gameboy — они все двухкнопочные. Только в nes и пойдет играть. Что-то другое нужно.
                          0
                          1. Динамики тоже в основном для геймбоя используются, они копейки стоят.
                          2. В корпусе на передней панели сверлят дырки до 6 кнопок (плюс четыре кнопки к штатным) и до двух аналоговых стиков. На задней панели сверлят дырки для шифтов.

                          P.S.: GameBoy Zero :)
                        +1
                        По покраске: существует пленка автовинил под кожу, продается на Али и в спецмагазинах автотюнинга. Недешево, но как отделка для такой штуки наверное будет очень хорошо. Я как-то брал на побаловаться, из интереса сколько проживет оклеил телефон, на удивление год продержалась, потом телефон поменял.
                          0
                          Как вариант тоже рассмотрю
                          0
                          С таким исполнением удачно смотрелся бы советский тумблер) Только место ему было бы на верхней плоскости.
                          image
                            0
                            Ну ладно вам издеваться ) такой будет сумки и карманы рвать
                              +2
                              кстати стилизовать под советскую технику было бы круто. Алюминиевый корпус, большой стрелочный индикатор и две никелированные ручки с торца. В общественном транспорте достать такое и начать дергать тумблеры — привод в полицию гарантирован.
                                0
                                Тогда уж так
                                Спойлер

                            0
                            На ютубе есть канал, где мужик делает портативные консоли. И Playstation 2, и Xbox в том числе.
                            Вот пара плейлистов: www.youtube.com/playlist?list=PLkojla92qEVd46BvP2Ojiku_IJQZM7cH_
                            www.youtube.com/playlist?list=PLkojla92qEVemSzhznHRoG-QmBeSYhNfv
                              0
                              Не лучше ли подключить к смартфону физическую клавиатуру с нужным набором кнопок, и как-то задействовать их в эмуляторах?
                                0
                                Проще однозначно, но вот лучше ли — не скажу, не пользовался. И если уж на то пошло — лучше вообще купить подобную консоль с алиэкспресе. К пример вот почти копия, или вот та же retropie но уже на базе raspberry pi zero по удивительно низкой цене. Но вот это не так интересно, как собранное руками :)
                                  0
                                  Первая консоль с алиэкспресса слишком громозкая для использования в транспорте, и не очень дешевая, вторая — с маленьким экраном и без закрытого корпуса. Я говорю о складной приставке к смартфону, вроде такой или такой, которая превратит его в подобие Sony PSP, с возможностью эмуляции всех популярных в прошлом игровых приставок, и управлением, максимально воспроизводящим их интерфейс. Если такую можно купить — хорошо, а если нет — сделать своими руками тоже интересно :)
                                  0
                                  Проще всего купить геймпад с держателем для телефона.
                                  0
                                  Спасибо за статью.
                                  О компактности: лучше всё-таки использовать CM3 Lite — так и места займёт немного, и процессорной мощности будет хватать на что угодно. Но есть нюанс: придётся заморочиться питанием, обеспечением WiFi и, по вкусу (если не использовать Lite-вариант), отдельным слотом для microSD-карты.
                                  Зато может получиться что-то вроде такого (см. также лоты на али) или такого.
                                    0
                                    Лучше 3A+, конечно. Только отпаять все выходы.
                                    0
                                    В своё время для подобных целей купил себе геймпад с креплением для телефона, вот такой:
                                    image

                                    На андроиде полно неплохих эмуляторов NES, SNES, Megadrive, GBA и даже более мощных приставок типа N64 и PSP. А «лишние» кнопки на геймпаде можно настроить на всякие удобные штуки типа quick save, quick load.
                                      0
                                      Делал нечто подобное и писал статью, может будет интересно habr.com/ru/post/422005
                                      По поводу звука.
                                      У себя применил усилитель NS8002 (есть в виде напаянных маленьких платок на али или ебей) и динамик от планшета, диаметром примерно 18мм. Вся хитрость динамиков от планшетов и сотовых в том, что их надо клеить термоклеем к корпусу без зазоров. Чтобы излучатель и задняя часть динамика аккустически не соединялись. Тогда их эффективность будет крайне высокая. Звучит примерно как и динамик планшета, что-то большего ожидать не стоит.
                                      +1
                                      Я такие консоли делаю в корпусе от GameBoy. Смотрится намного приятнее. A группе ВК веду девлог, день за деньком, как я собираю такую консольку. vk.com/custom_gameboy image
                                        0
                                        Очень здорово! Как дисплей по качеству? Про дисплей вообще можно детальнее? Ссылку, через какой интерфейс работает?
                                          0
                                          Дисплей скорее всего как и у тебя, MPI3508 на HDMI, есть у киатйского брата дороже и IPS. Но потребление мне не нравится. Сейчас жду запчасти, тестовые экраны, которые с DPI интерфейсом. Буду тестировать…
                                            0
                                            Вступай в группу. В ней тоже веди логи сборки консоли игровой. А то меня одного не хватает.
                                          0
                                          В следующий раз попробуй склеить эпоксидкой, царавнув места склейки. И хотя у самого у меня мало опыта с ней, благодаря ей, я смог приклеить жесткую деталь в ноутбуке (даже Момент не справлялся) и восстановить спинку стула, залив в него эпоксидку. Может и у тебя получится.
                                            0

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

                                            +1
                                            Retroflag GPI Case. 4500р. Работает с rpi 0, нужно брать w (про вифи автор в точку). Осек много, обратите внимание на Recalbox, помимо сеги денди и прч там спектрум и дос работают из коробки (подхватывают пад), минус гэймбой адвансед не в полный экран. Но я юзаю ос как автор, там love2d есть и можно пилить 2d, для меня это чудо чудесное. Автору спасибо. Было бы здорово если бы кто-нибудь создал файлы корпуса для 3d принтера, гербер файлы для плат и чтобы кнопок было достаточно для сеги (подобное для денди вроде есть) был бы кит, иди заказывай собирай. И вообще rpi в геймдеве, мне кажется недооценён.

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

                                            Самое читаемое