Intro: Making Game Console
Greetings. So i see that i have a tendency to start something, and then take completely different route. This happened with this project as well. I bought nokia 5110 screen a while ago. And as most ebay purchases it was a long time to actually be shipped to me. Meanwhile project for which i needed it fell through. So when jlcpcb contacted me with an offer to make something using their services (pcb manufacturing... well figures... title says it all :) ). I started googling, what i can do with couple of screens which i had no more purpose for. And then i came across a Makerbuino game console. And with open source concept everything i needed to make it from scratch was right at my finger tips. While you can simply make it on a perfboard, it would be a total mess, with wires everywhere, and not as clean as i would like my console to be. So here comes jlcpcb. https://jlcpcb.com/ you can order 10 boards for 2$. Which is a steal in my opinion. Granted if you go outside the default parameters for the board(size 100x100m, thicknes, color or etc.), the price might change. But hey, for most of us, default parameters will be more than enough.
Step 1: All the Materials and Links to the Files
So lets go over simple parts list, and where you can find information which will be needed to complete this.
- MAKERbuino PCB (you can either support project and buy the kit at https://www.makerbuino.com,
or get your gerber files and.or schematic here: http://legacy.gamebuino.com/forum/viewtopic.php?f=...
- SD card (size is up to you, not sure if it supports big capasity cards but 1gb should be fine)
- SD socket
- wires for soldering speaker (optional)
- 8ohm 0.5W speaker (optional)
- Li-Po battery 3.7 V
- 28 pin PDIP IC socket
- Nokia 5110 LCD
- TP4056 micro USB Li-Po battery charger board
- 3.3V voltage regulator (MCP1702-3302E in TO-92 package)
- 2n2222 general purpose NPN transistor (TO-92 package)
- 1N4148 diode
- 16MHz crystal
- 3 pin slide toggle switch x2
- 100nF ceramic capacitor x2
- 22pF ceramic capacitor x2
- 100uF, 6.3V radial electrolytic capacitor x3 ( i used 16V ones, since mentioned 6.3 are harder to come by)
12x12x7.3mm pushbutton x7
some female and male headers single and double row (chances are you have those, but anyway you buy them in long strips so choose as many as you want)
1Kohm wheel trim potentiometer x2
10k resistor x2
4.7kohm resistor x2
3.5mm headphone socket
And that is it. Most of the components i am sure, you will have in your spare parts bin. Some you will pick up for cheap.
Step 2: Getting Your Pcb
So this is fairly simple process. Go to jlcpcb.com
Register, press quote now. Upload your gerber files, input your desired parameters and order it. With dhl shipping method it took me less than a week from uploading my gerber files to the actual board arriving at my doorstep.
Step 3: Soldering
So i will not make a detailed step, since it is very easy. with the pcb, silkscreening explains which component should be inserted in what place. Most of components are not polar sensitive so it makes your life a lot easier. This is the instructions if you need more detailed ones from Makerbuino (team there did marvelous job of explaining to a simplest detail, how and what should be done) https://www.makerbuino.com/build-3/
Step 4: Programming
So after you solder your board, normally you would be done. But not in my case. Since Atmega328P-PU comes empty, you need to upload a bootloader. This is the most "complicated" step of whole project, if you never have programed Atmel chips. So there are few ways how you can do this.
Easies way should be with Arduino (although somehow i decided to go with another option)
https://community.makerbuino.com/t/atmega328-witho... Grate thread about how to install bootloader with arduino. Also link to the bootloader is included there.
Or you can go with a USBasp programmer (route i sadly took). It is a little bit more complicated, but never the less the most important step is actually set correct fuse and lock bits. Otherwise you will run into problem which i had. Microprocessor using internal oscillator. Which runs at 1MHz. Which you console would still work, but 16 time slower. Slo mo poweeeeerrrrrrr!!!!!!!!!!!!!! Now it's funny :) when i did not know what was causing that, it was frustrating :D i include my settings in the picture.
Step 5: Finishing Touches
So. You got your pcb, you have soldered it, flashed the bootloader.... What's now? Now, you just have to download games (or create them), load them in the sd card. And play games. And believe me.... they are addicting. So i also 3dprinted a case for it. Which could be found on thingiverse. And i could honestly say, this is one of the most satisfying projects i have completed. For one, it looks like production model diy. Secondly... games are awesome :) Cheers. If you need anything, just ask me in the commens or send me a message :)