Тёмный

Doom running on a Pi Pico without Compiling or coding. Full tutorial and extremely cheap. On RP2040 

Robbert DIY projects
Подписаться 1 тыс.
Просмотров 3,5 тыс.
50% 1

Hi all!
In this tutorial I'm gonna show you how to build a Pi Pico powered game console running Doom.
The whole project cost me about 10 euro's (parts ordered in china) and took only a few hours.
The needed files can be downloaded below.
The STL models to print the enclosure are also included. (with some additional decorations)
Most projects like this need coding and compiling but i like to keep things simple so we all can enjoy the good old times.
Thanks to kilograham for making a huge contribution.
He has made a big rewrite of the doom source code so that doom can run on rp2040 (Raspy Pi pico).
Pondahai modified it to display it on LCD (ST7789).
And ofcourse ID Software for making the original doom code public.
Pondahai github:
github.com/pondahai/rp2040-do...
kilograham github:
github.com/kilograham/rp2040-...
This project doesnt need any external software or compiling.
just upload the firmware and your done. The rest is the fun of putting it all together.
step by step upload instructions:
To make is easy, move entire picodoom folder (in the zip file) to the root of you c: drive.
Press and hold BOOTSEL when connecting to usb.
Release the button.
A new harddrive (RPI-RP2) will appear on your pc.
copy doom_tiny.uf2 from this archive to this new drive.
When finished the pico will reboot.
Unplug de pico, hold the BOOTSEL button and plug in the USB.
release the button.
Open a command prompt (CMD)
press start, run and type "cmd"
type "cd/picodoom"
type "picotool load -v -t bin doom1.whx -o 0x10040000"
This will write the additional firmware to the Pico memory.
When finished the Pico is ready to go.
** know issues**
if you pc recognize the pi is on boot sel but cant upload the code.
Its definitly a driver issue. Windows doesnt recognize the pi.
Can you download the zadig driver tool.
This will recognize the pi. Then set to libusb driver. That should fix the issue
Wiring connections. (pin to ground)
Button A GP2
Button B GP3
Menu GP4
Down GP5
Right GP6
Left GP8
Up GP9
Sound GP7
Lcd IL9341
CS GP17
DC GP20
MISO GP16
MOSI GP19
RST GP21
SCK GP18
Using affiliate links to order parts helps this channel a lot!
Pi Pico 2mb
opencircuit.shop/product/rasp...
TP4056 lipo charger
opencircuit.shop/product/tp40...
PCB 5x7cm
opencircuit.shop/product/expe...
Lipo example
opencircuit.shop/product/lith...
Buttons
opencircuit.shop/product/tact...
Power switch
opencircuit.shop/product/lock...
buzzer
opencircuit.shop/product/pass...
wire (alternative for UTP)
opencircuit.shop/product/ribb...
Used soldering iron (cheap but effective)
opencircuit.shop/product/vell...
LCD (this one has additional touch)
opencircuit.shop/product/rgb-...
The needed files can be downloaded here (Dropbox)
www.dropbox.com/scl/fi/qs54ml...
00:00 intro
00:38 Materials
01:01 Uploading firmware
02:22 Display wiring
04:07 Button wiring
05:12 Assembly
09:14 Sound
10:30 Battery and USB
13:57 Finish

Опубликовано:

 

14 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 67   
@derekis1joedirt
@derekis1joedirt 6 месяцев назад
YES, i have been wanting to build a doom portable for years. Its a milestone/bucket list item.
@RobbertDIYprojects
@RobbertDIYprojects 6 месяцев назад
It's not only me :D Thanks to pondahai, kilograham, and the ID software team. I just made a simplyfied version/video everybody can build without programming skills. And basic soldering skills. With additional electronics, you can get the original sound. This is the original schematic. github.com/pondahai/makecode_arcade_console/blob/main/hardware/mca_game_console.svg Only 5 buttons are missing. The esc button to the toggle menu. Weapons up and down. Step left and right. These buttons are not in the ported coding. But the game is still playable since you automatically use the biggest weapon. To return to the menu you can reboot the console. Allready spend hours playing the game. Haha brings back good memories from my childhood :D wolfenstein 3d, doom, Hexen, heretic, blood. Duke 3d.... it was my addiction.....
@derekis1joedirt
@derekis1joedirt 6 месяцев назад
@@RobbertDIYprojects thx for the additional information on the subject, I've saved this video for reference.
@banannq
@banannq 4 месяца назад
@@RobbertDIYprojectsactually, the esc button IS in the code, i found it when i stumbled upon being stuck in menu - it is on gpio28 and works. Now, i am not C/C++ guy, but this might change, since i feel a need to add strafe buttons :) Anyway, thanks for a nice video tutorial, i found it couple of months ago, and only now decided to follow it. Any other video tutorials for diy projects are in my opinion - simply unbearable, yours is simply elegant and really nice to follow. i had fun. well, maybe apart from installing rpi tools/drivers - at first it showed no error but no output either while trying to copy wad file, got frustrated and started over on clean pc which helped. I also read somewhere, there is a way to incorporate better sound, any idea on that? i guess bitrate is limited so connecting amp with speaker makes no sense... probably needs code alteration and using ADC... I also feel tempted to try to implement original vanila doom pcspeaker sound effects decoding, this would make that console ideal for me as i grew up playing Doom without sound card. recently managed to put up a piece of code for esp8266 that plays original simple pcspeaker doom sounds, so there is a chance...
@dahaistore
@dahaistore 6 месяцев назад
你製作了一個超棒的專題,很開心能幫上忙,大家一起DOOM!😊 You made a great topic. I'm very happy to help you. Let's DOOM together! 😊
@davydbar
@davydbar 6 месяцев назад
Excelente proyecto! gracias por compartir
@lucasyuriamorimsilva3001
@lucasyuriamorimsilva3001 9 дней назад
Saudações do Brasil, adorei o projeto (apesar de nao ter proficiência pra montar um pra mim 😢😂). Pra qm nao manja como eu, ou esta com pouca dinheiro pra gastar, consegui rodar Doom no GB300, comprei 4 consoles por 20 dolares no aliexpress (o equivalente na moeda do Brasil, com imposto e frete gratis). Recomendo bastante.
@Mr_Shoe
@Mr_Shoe 3 месяца назад
Call me crazy but im moding my calculator to play doom in school. Found this very helpful thanks so much
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
Your welcome :D nice to see other people building things like this :D
@RobbertDIYprojects
@RobbertDIYprojects 4 месяца назад
Hi all i wonder where you guys are from so i can decide which language i should use in my content. thank you very much!
@RobbertDIYprojects
@RobbertDIYprojects Месяц назад
for who want to build one. the fps is way higher then visible in the video.
@jazzie355
@jazzie355 Месяц назад
Hey there! Is it possible to have the Pico boot into one program and have it switch to Doom at a button press?
@RobbertDIYprojects
@RobbertDIYprojects Месяц назад
No, the internal storage is fully maxed out. It's a miracle the full doom game could fit into that tiny memory space haha
@sparted1
@sparted1 Месяц назад
would this work on 480x320 lcd screen same model though different resolution
@RobbertDIYprojects
@RobbertDIYprojects Месяц назад
If it uses the same display chip it should be fine.
@josepcamps4785
@josepcamps4785 3 месяца назад
Thanks for the response, I have followed your instructions, but when I execute the instruction in the CMD it says this: (Device at bus 1, address 5 appears to be a RP2040 device in BOOTSEL mode, but picotool was unable to connect. You may need to install a driver. See "Getting started with Raspberry Pi Pico" for more information) what should I do, is there a driver or am I doing something wrong?
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
Ok the picotool works. Fine. Its definitly a driver issue. Windows doesnt recognize the pi. Can you download the zadig driver tool. This will recognize the pi. Then set to libusb. That should fix the issue
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
Horrible background audio but this will guide you. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-fUwWsIlXZSM.htmlsi=xutTJ5ycayaN3_gi
@hyogom00
@hyogom00 3 месяца назад
Hello, good tutorial, I only have one question and that is that when installing the firmware I get the following error: Device at bus 2, address 22 appears to be a RP2040 device in BOOTSEL mode, but picotool was unable to connect. You may need to install a driver. See "Getting started with Raspberry Pi Pico" for more information so I wanted to ask what drivers you had installed on the board at the time of installation, to check if you had a driver which I do not have installed
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
Its definitly a driver issue. Windows doesnt recognize the pi. Can you download the zadig driver tool. This will recognize the pi. Then set to libusb. That should fix the issue
@emiiq7375
@emiiq7375 3 месяца назад
@@RobbertDIYprojects it didn't
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
@@emiiq7375 hmm that's a good question then. I know some pc's dont automatically take the right driver. The zadig tool is capable of fixing the driver issue.
@sirchicken1330
@sirchicken1330 2 месяца назад
hey! awesome guide. is it possible to make it run with a plug & play WaveShare Pico 1.3" IPS LCD Display, which has 4 buttons plus a joystick already on it. It claims to run with the ST7789 driver and i tried it with the following uf2: doom_tiny_ST7789.uf2. Flashing of the whx file worked, but the display stays black. Any sugestions what i could try?
@RobbertDIYprojects
@RobbertDIYprojects 2 месяца назад
Most likely the pin declaration in the pre compiled firmware is different then when using the waveshare board. The firmware need to be modified to run on the waveshare
@sirchicken1330
@sirchicken1330 2 месяца назад
@@RobbertDIYprojects thank you. What a bummer.
@josepcamps4785
@josepcamps4785 3 месяца назад
Thanks for this project, I finished it. Just one question, can the game be saved, and how? Thank you
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
No problem :D glad people can enjoy. There are only two options missing. 1 option to change weapons. Basicly you always use the weapon you pick up. 2 return to the menu. That's where you find the save option. But the memory doesnt have room for safe files anymore tho. Its rammed full of data to run the entire game with original textures on a 2mb memory chip haha.
@josepcamps4785
@josepcamps4785 3 месяца назад
@@RobbertDIYprojects How do I go back to the menu while I'm playing. If I press menu I get the map. Thank you
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
In the naar future I will build more dedicated classic game consoles. This way they are Cheap and easy to build. Recently I build a huge 7" sega/nes/Atari running on an esp32. I uploaded sonic to the console. Good memories haha. Next I want to build a few similar size to the doom console. Fun to decorate the console depending on the game it runs. Think wolfenstein 3d would also a good retro game :D More ideas are always welcome
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
@josepcamps4785 that's what I mean with the second missing option haha. There is no button to return to the menu. Its just start the game and RIP AND TEAR hahha no going back
@josepcamps4785
@josepcamps4785 3 месяца назад
Hello, I really like your project, but when it comes to putting it into practice, I cannot access the directory with the CMD, it tells me that it cannot find the specified path, I don't know what else to do, help me. thank you.
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
did you extract this folder to your c drive ? www.dropbox.com/scl/fi/qs54mlor0b0l0ub41dog2/picodoom.rar?rlkey=dojpd0vgtn756uu4eg8v3kjxi&dl=0
@gamer2000-l1k
@gamer2000-l1k 2 дня назад
Hello, I have a problem. I started the pico in the bootsel and copied the Tiny Doom file to the pico. Afterwards the explorer closed. When I wanted to start again with Bootsel mode, the same thing happened as before. The cd/picodoom doesn't work (entry not found). I have the USB C version of the Pico. Maby that's why it doesn't work . Operating system: Windows 11
@RobbertDIYprojects
@RobbertDIYprojects 2 дня назад
Hi there! That's a good one. Need to look in it why it can't find the device. It's normal that explorer closes after the firmware is uploaded. The device and drive disconnects just like you unplug a usb stick.
@gamer2000-l1k
@gamer2000-l1k 2 дня назад
@@RobbertDIYprojects Benötige ich vielleicht eine zusätzliche Software/Programm für den Pico
@RobbertDIYprojects
@RobbertDIYprojects 2 дня назад
Everything you need is in the download file. Did you copy the files to the root of your c drive ?
@gamer2000-l1k
@gamer2000-l1k 2 дня назад
@@RobbertDIYprojects I extracted it to the root directory
@gamer2000-l1k
@gamer2000-l1k День назад
I used another computer and it worked there
@aug_2025
@aug_2025 5 месяцев назад
Hey ! Really cool project, I have been trying to do it, but I have been getting a lot of problems when trying to install picotools, do you have any tips ?
@RobbertDIYprojects
@RobbertDIYprojects 5 месяцев назад
What is the issue ? 😃 maybe I can help
@aug_2025
@aug_2025 5 месяцев назад
I'm not being able to build picotools with cmake, it can't find cmakelists.txt I don't know if there is a easier way to install it in windows
@aug_2025
@aug_2025 5 месяцев назад
@@RobbertDIYprojects hello, thanks for the response, really aprecciate, i am succefully running picotool but when i try to picotool load i get this error : No accessible RP2040 devices in BOOTSEL mode were found. but: Device at bus 1, address 7 appears to be a RP2040 device in BOOTSEL mode, but picotool was unable to connect thank you in advance :)
@RobbertDIYprojects
@RobbertDIYprojects 5 месяцев назад
Probably usb driver issue. Current driver seems to have communication issues. Try zadig tool to change the driver to winUSB. zadig.akeo.ie/ This will probably fix the issue :D
@aug_2025
@aug_2025 5 месяцев назад
@@RobbertDIYprojectsthank you so much !, it worked, now its running doom !, but my screen is inverted and the colors are kind of strange, i am using a 320x 240 display with an ili9341 controller, i will try to figure it out what is happening
@hyogom00
@hyogom00 3 месяца назад
Hello again, I managed to solve the problem, I'm calling to ask you if there is a way to verify if Doom would be running on the Rasberry correctly before connecting anything. thanks for answering
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
Add a buzzer between gp7 and gnd. When you power up the pi. The music should start. It will sound horrible without the diode and capacitor. But you recognize the tune
@hyogom00
@hyogom00 3 месяца назад
@@RobbertDIYprojects thx man
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
No problem :D did you hear the music ?
@BedlinDev
@BedlinDev 5 месяцев назад
15 000 games in 1 -ps1, n64, wii, psp all legal only on AliExpress
@RobbertDIYprojects
@RobbertDIYprojects 5 месяцев назад
Everything is for sale. Building you own is more fun :D +you learn something. Chinese clones often container game clones. Not the original roms.
@gamer2000-l1k
@gamer2000-l1k 15 дней назад
Is it possible to replace the buzzer with a loudspeaker?
@RobbertDIYprojects
@RobbertDIYprojects 15 дней назад
Should be no problem. But its pcm audio. So lower quality. Depending on the speaker type you might need an amplifier.
@gamer2000-l1k
@gamer2000-l1k 14 дней назад
​@@RobbertDIYprojectsThank you
@RobbertDIYprojects
@RobbertDIYprojects 14 дней назад
@gamer2000-l1k no problem :D
@emiiq7375
@emiiq7375 3 месяца назад
Hey, i have a LCD with a BL pin on it, where would I put it in the pico?
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
Combine the vcc and bl pin on the display. bl stands for backlight. See 2:49
@emiiq7375
@emiiq7375 3 месяца назад
@@RobbertDIYprojects I don't have MISO either.
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
What pin labels do you have ? I can help with that. Does your screen have SDI or DI? Some spi devices change names. But its the same
@emiiq7375
@emiiq7375 3 месяца назад
@@RobbertDIYprojects VCC GND DIN CLK CS RST BL
@RobbertDIYprojects
@RobbertDIYprojects 3 месяца назад
Use the din as miso :)
Далее
ЛУЧШАЯ ПОКУПКА ЗА 180 000 РУБЛЕЙ
28:28
I milked 1000 spiders to make guitar strings!!
21:17
Reverse Toaster (actually works)
8:30
Просмотров 1,2 млн
We made a claw machine!
7:52
Просмотров 521
A Modern Operating System in 1.44MBs
12:32
Просмотров 1,1 млн
The REAL Three Body Problem in Physics
16:20
Просмотров 8 тыс.
Doom didn't kill the Amiga...Wolfenstein 3D did
16:58
Просмотров 682 тыс.
I designed a game console that is already obsolete.
10:37
Turning a Raspberry Pi Pico into a GPU!
16:42
Просмотров 104 тыс.