Paragon-projektet: DOOM på en Arduino Nano ESP32

Doom på Arduino Titelbild

Det finns en klassisk fråga i datorspelens universum - men kan den köra Crysis? Men i världen av mikrodatorspel och mikrokontroller har vi en något annorlunda fråga - men kan den köra DOOM?

Nu har vi äntligen svaret för Arduino Nano. Och svaret är: ja!

Du kan faktiskt spela DOOM på en Arduino Nano ESP32, om än med några nödvändiga justeringar.

Men i slutet av detta lilla projekt kommer du att ha en helt portabel DOOM-konsol.

Stort tack till Naveen, som skapade detta och sedan laddade upp detaljerna till hackster.io för att visa dig hur du kan sätta ihop det själv!

Kredit: Naveen.

Och det här är verkligen otroligt enkelt. Allt du behöver göra är att koppla ihop komponenterna och sedan konfigurera och flasha den inbyggda programvaran för att få igång DOOM.

På hacker.io-sidan uppskattar man att det här projektet kommer att ta 5 timmar. Men jag skulle säga att du förmodligen kan få det gjort mycket snabbare än så med Naveens fantastiska instruktioner.

Hårdvara

Så, som redan nämnts, kretsar detta projekt kring en Arduino Nano ESP32. Naveen har valt en Adafruit 2,8″ kapacitiv TFT-pekskärm som skärm, men om du har en annan skärm liggandes runt omkring så går det säkert bra.

Dessutom har Naveen använt en breadboard för att hålla ihop allt. Som du kanske har märkt är den här konsolen också gjord av lite överbliven plast för att bevisa konceptet. Naturligtvis kommer något sådant bara att fungera som en tillfällig lösning.

Om du vill ansluta den permanent kan du behöva vara kreativ med ett 3D-utskrivet hölje och en lödkolv.

Hur som helst, bortsett från det, om du tittar på bilden nedan ser du att Naveen också har använt en M5Stack Joystick och en Seeed Studio Grove dubbelknapp. Återigen, om du har en annan joystick eller andra knappar som ligger runt, kommer de att räcka.

Kredit: Naveen.

Slutligen behöver du naturligtvis några jumperkablar för att koppla ihop allt via breadboardet.

Som Naveen förklarar är kopplingen mellan Nano och TFT-skärmen baserad på det seriella periferigränssnittet (SPI). Samtidigt är joysticken och knapparna anslutna via Interintegrerad kretsbuss (I2C).

Programvara

Naveen förtydligar att för att kunna porta DOOM måste spelet modifieras något, eftersom originalspelet kräver mer RAM och diskutrymme än vad Arduino Nano erbjuder.

Därför baseras installationen på Ducalex mycket coola Retro-Go-förvar på GitHub, som är inbyggd programvara som modifierar klassiska spel för ESP32-enheter.

För det här projektet har Naveen konfigurerat den så att den fungerar med joysticks, knappar och display. en DOOM-konfiguration som du säkert kommer att uppskatta.

Sedan behöver du bara flasha den inbyggda programvaran. Och sedan behöver du en konfigurationsfil för att aktivera WiFi automatiskt på ESP32.

Lägg detta på SD-kortet och sätt sedan in det i din Arduino Nano.

Kredit: Naveen.

Spelet har en genomsnittlig bildhastighet på 34 FPS med en upplösning på 320×240 pixlar.

Nu kan du ha DOOM på språng med en Arduino Nano!

Slutsats

Du hittar fullständiga scheman, kod och mer information på sidan hacker.io.

Du kan också kolla in fler Paragon-projekt som vi har presenterat genom att klicka på här.

Vi har berättat om ett av Naveens projekt tidigare, Dator med mikrokontroller.

Låt mig avsluta detta med en bekännelse. För att vara ärlig har jag faktiskt aldrig genomfört det klassiska, fullständiga DOOM - har du?

21 Kommentarer

  1. Виталий den september 15, 2023 kl 12:49 e m

    это ложь в некоторой степени. представленная ссылка ведёт на Ардуино нано с атмега 128, а на картинках esp32. это небо и земля

    • Adam den oktober 9, 2023 kl 10:45 f m

      Да, ссылка была неверной - спасибо за комментарий!

  2. motosega den september 15, 2023 kl 1:03 e m

    det är inte en Arduino nano med en atmega 328 (som den du länkade till).

    Det är en Arduino nano-stm32. vilket inte är så chockerande att köra Doom på. betydligt kraftfullare än t.ex. en Amiga 500, som folk har fått Doom att köra på.

    • Adam den oktober 9, 2023 kl 10:45 f m

      Ja, länken var felaktigt listad. Vi ber om ursäkt för misstaget!

  3. Tim den september 15, 2023 kl 7:42 e m

    det är en nano-esp32-version. Jag trodde att för en
    ögonblick då du körde detta på en AVR nano.

    • Adam den oktober 9, 2023 kl 10:46 f m

      Nej, jag är ledsen. Jag gjorde inte ESP32-delen tillräckligt tydlig! Jag har korrigerat texten.

  4. Alex den september 15, 2023 kl 8:32 e m

    Det är en "minimal" skillnad mellan en Arduino Nano (8 MHz, 2 kB RAM) och en ESP32 (240 MHz, mycket mer RAM)! Det är komplett irreführend formulerat.

    • Adam den oktober 9, 2023 kl 10:47 f m

      Du har helt rätt! Ich habe den Text korrigiert. Tack för din kommentar!

      • Albert den november 8, 2023 kl 2:05 e m

        Men du talar mycket bra tyska. Var kom du ifrån?

  5. Алексей den september 15, 2023 kl 10:42 e m

    это не просто Arduino Nano, а ардуино с контроллером esp32. А ссылка отправляет нас в магазин где просто arduino nano, а не esp32

    • Adam den oktober 9, 2023 kl 10:48 f m

      Да, ссылка была неверной - спасибо за комментарий!

  6. Александр den september 16, 2023 kl 6:12 f m

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

    • Adam den oktober 9, 2023 kl 10:50 f m

      Хаха извини за ахинею!

  7. Проходящий мимо пользователь den september 16, 2023 kl 6:16 f m

    просьба поменять заголовок, так как используется Arduino Nano ESP32

    • Adam den oktober 9, 2023 kl 10:52 f m

      Все в порядке?

  8. Brak wiedzy autora den september 18, 2023 kl 4:57 f m

    to nie jest Arduino nano !
    nano jest na atmedze a nie na esp

    • Adam den oktober 9, 2023 kl 10:51 f m

      Masz rację, przepraszam za pomyłkę! Till Arduino Nano ESP32

  9. Brak wiedzy autora den september 18, 2023 kl 4:59 f m

    wifi na karcie SD ???

    • Adam den oktober 9, 2023 kl 10:55 f m

      Myślę, że w tłumaczeniu brakowało jednego słowa. Teraz lepiej?

  10. robbert den december 4, 2023 kl 8:33 e m

    ganska fast i esp idf framsteg. (koden är inte densamma som i era dokument) finns det en förkompilerad version som bara behöver laddas upp?
    det skulle vara trevligt 😀.

  11. robbert den december 4, 2023 kl 8:38 e m

    Verkar som att min sista kommentar inte gick igenom haha

    Jag är ganska fast vid esp-idf-utvecklingen. koden verkar ha ändrats över tiden.
    ville bygga en till mina barn i julklapp haha
    Finns det något alternativ för att få en förkompilerad bin-fil att ladda upp till esp32?

    Med vänliga hälsningar och stort tack
    Robbert

Lämna en kommentar