The fact that RP2040 has dual-core ARM Cortex-M0+ processor makes it capable of running some light emulators. So I’ll build a little handheld game console using RP2040 that can run gameboy!
The fact that RP2040 has dual-core ARM Cortex-M0+ processor makes it capable of running some light emulators. So I’ll build a little handheld game console using RP2040 that can run gameboy!
I built a completely custom Gameboy from scratch using an RP2040!!!
The hardest part was definitely routing the power island (had to redo it like 6 times ngl) and reflowing the board cuz I accidentally shorted 5V and 0V……And I also soldered the screen completely upside down without realizing lol. But I figured it out by fixing the shorts with my hot air gun and literally just tweaking the emulator code to update the screen from bottom to top instead.
Really happy with how it turned out, the moment I finally booted up Kirby on a PCB I designed myself was soooo PEAK :)!!!
Alr after reflowing the board and roughly validated the GPIOs, it’s time to test if the SD card and the screen can acc communicate with my RP2040!!!
Log in to leave a comment
NOOO I forgot that I routed all my ICs on the back plate, so my stencil didn’t even work cuz i forgot to order it to match the back plate. ANYWAY I still reflowed the board using my choppy pasting technique and guess what? It worksss!!!
Actually before powering up for the first time I didn’t even notice that the 5V and 0V are shorted, and I was so glad that I found out using my multimeter lol. So then I hot aired the RT6150B and boomed it fixed the short circuit which was a huge W
Before powering up, i tested the 5V, 3V3 and 0V again, and as i expected the both power indicator lights turned on and the board could now communicate with my computer! I then immediately tested it by uploading a random uF2 file and it works very well
But just in case I then loaded micropython and tested all the GPIO pins and more importantly the SD card slot. Initially it just somehow didn’t work and i almost thought i was about to fail but NO it WORKED! It could communicate with my SD card and write and read data which was very huge
At last i soldered the screen module and all the buttons after confirming all the GPIOs could turn on as expected
Anyways I still have to figure out the software to match this game console, but we’ll see how this goes!!
Log in to leave a comment
WHAAAAAAT THREE HOURS?? Literally just looked at the clock and realized how much time accidentally passed. I swear PCB routing is a literal time machine. Anyway, here’s the rundown of what I actually got done while zoning out:
Fixing the Power Island… AGAIN: I am genuinely losing my mind over this power section. This is officially the 5th or 6th time I’ve had to rip up and redo the power island (see the image below). After all the drama with the 5V and 3V3 lines shorting out and frying my regulators in the last reflow attempt, I’m taking zero chances. Redid the traces, made sure the copper pours for GND and VCC aren’t doing anything sketchy, and optimized the placement so the power delivery to the RP2040 and the flash is actually stable this time. I see these traces in my sleep now lol.
Audio Implementation (MAX98357A): Finally got around to the audio side of things! Hooked up the MAX98357A Class-D amp on a breadboard/prototype setup. Since it takes I2S, I had to make sure the data, bit clock, and word select lines from the MCU were playing nice. It’s pretty sick seeing (and hearing) it actually process the digital audio without too much static.
Battery & Charging Circuit: Slapped the battery and charging IC onto the schematic so this thing can actually be a proper portable device. Had to double-check the load sharing so the board doesn’t try to pull power straight from the battery while it’s plugged in via USB-C (really trying to avoid blowing up another USB port or regulator).
Log in to leave a comment
Sooooo spent some time today just ripping up the board again…
Finally decided to completely ditch the RT6154A and replaced it with the RT6150B cuz honestly I’m just so done with it lol. Rerouted so many things especially the power supply (yes again….)
Also decided to replace the TF card slot with a way cheaper one cuz apparently the old one I picked was just insanely overpriced and literally just not worth that much money bruh
Oh and I also went ahead and added a fat 3.3V copper plane right under the tf card socket, supposedly for better and more stable power supply cuz we really dont want the sd card to randomly drop connection when loading stuff
Log in to leave a comment
Finally got the board!!
Spent some time reflowing it (it’s acc my second time doing SMD reflowing) and it acc went pretty well till I realized the board wouldnt allow me to transfer data, which I doubt was bc of the following
Design issue -> I used 330K + 680K for RT6154AGQW feedback loop instead of using 1.02M properly
Reflowing issue -> I accidentally pealed off an output cap for RT6154AGQW and it might cause more voltage spikes for the 3.3V
Log in to leave a comment
Rendered this beautiful demo!!!
Cuz the PCB itself is actually kinda chopped so I gotta rendered this demo myself lol
On top of that I also published the files to github hope you guys like it
Log in to leave a comment
Alright it’s finally time to order the PCB!!!
This time I literally decided to just print the board double sided, while trying to make the stencils as small as physically possible so it doesnt take up so much space on my desk
Something crazy i noticed tho was that getting both top&bottom stencils didnt acc cost any more than just doing the single top side??? like bruh what so why nott might as well just get both lol
On top of all that headache I finally added all the components to my cart and they’re literally sitting there ready to order rn! Just hoping I didn’t forget any stupid little resistors or smth
Lets goooo just praying everything actually works when they arrive and I don’t have to do another 4 hour reflow debugging session lmao
Log in to leave a comment
Alr finally routing everything!!! Time to do some massive clean up and ready to export and order the gerber!!
Just gonna run DRC in KiCad one last time to make sure there are no sketchy shorts and send it to fab… literally pray for me that I didn’t mess up any stupid footprints again lol
Log in to leave a comment
Almost done routing the entire PCB!! literally just stared at my screen for hours but now I only have like 10 traces left to route and I’m basically finished bruh
*** Oh yea I also just completely removed the RUN pin/button cuz honestly I don really mind just unplugging the game console to reset it lol. Like it saves so much space and routing headache on the board so why nott
Just gonna knock out these last few lines in KiCad and we are finally good to gooooo
Log in to leave a comment
YOOO making some serious progress tonight!!! Basically just locked in and finished routing a bunch of the main sections and my eyes are literally bleeding rn lol
Getting so close to being done with this board I can actually taste it……. just gotta figure out those last two buttons and we are chilling
Log in to leave a comment
HUGE progress!! literally just sat down and grinded for the past two hours and got so much done bruh here’s what i did
Literally getting so close to finishing the layout I can actually see the light at the end of the tunnel… just gotta place those last few tiny components and we are golden
Log in to leave a comment
Well well well guys this is getting frustrating, how in the world does my SD card module doens’t match those on github………HOWWWWWWW
Log in to leave a comment
Assigned footprints and began routing the PCB!!!
Since this is the very first prototype, I’ll use the screen module and very simple buttons
Btw I also decided to use the 16MB flash storage! Why? Just in case lol
Log in to leave a comment
Finally finished the schematic!!! Here’s some changes I made
Log in to leave a comment
Working on SD schematic and learning SD to SPI translation so that my RP2040 could read games from SD card
*** I didn’t even know there was translation between SD and SPI, so I spent so much time figuring out
Log in to leave a comment
Roughly finished the schematic for the game boy console!!!
Log in to leave a comment
After 2 hours of struggle, finally FINISHED THE PROTOTYPE
Spent some time roughly wiring up the screen tho it doesn’t work somehow (probly cuz i haven’t soldered my pins
Log in to leave a comment