Now that you have all the parts you need, it is time to prove that your project will actually work. This is not the final build but a trial of each separate component to ensure you have all the pieces and in theory everything should go together. This is also the time to realize some things might not work and what can you do to fix them and make them work.
For each piece include a list of steps or a link to instructions that you followed and and explanation of what you did, so that you can reproduce the same results. Wherever possible, show a picture of it actually working.
Example:
Title: Raspberry Pi GameBoys
Group: I am a group of 1
Components:
RetroPi working on Raspberry Pi
4 " HDMI screen working with Retro Pi
Picade HAT working with Pi
sound and soft on/off working on Picade HAT
power booster providing power to Pi and screen and also charging batteries
3D printed parts actually printable
buttons working inside case
1. RetroPi working on a Raspberry Pi just connected to a monitor.
I followed these instructions. I used the pre-build Raspberry Pi image for a 3B+.
2. 4" HDMI screen working with RetroPi.
Because I loaded the RetroPi image, there is no "PIXEL" desktop GUI. I therefore had to press "F4" to get to the terminal and do all the commands there to load the driver.
First I needed to turn on SSH, so that if (when) the screen goes blank but I still need to change some parameters, I can remotely log into the Pi. You also need to connect to the wifi, so that you can download the drivers.
I got the instructions from here.
map keyboard as controller
connect to wifi under configuration in RetroPie
press F4 to exit to the terminal
mkdir waveshare
cd waveshare
wget http://www.waveshare.com/w/upload/0/00/LCD-show-170703.tar.gz
tar xvf LCD-show-170703.tar.gz
cd LCD-show-170703
chmod +x LCD-4show
./LCD-4show
then add the following lines to config.txt:
hdmi_group=2
hdmi_mode=87
hdmi_cvt 480 800 60 6 0 0 0
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900
display_rotate=3
then do:
cd LCD-show/
./LCD4-800x480-show 180
disconnect the regular HDMI screen and attach the 4" one and reboot Pi and the screen should work
3. Picade working
I had to load the driver for the Picade HAT.
I used the 1 line installation:
curl -sS https://get.pimoroni.com/picadehat | bash
I then wired up a push button on a breadboard to see if RetroPi would recognize the "A" button input. It does.
This site also helped:
4. Picade sound and "soft" on/off switch
The main reason for using the HAT is not the buttons (I could do that with GPIO pins) but for the build in speaker and "soft" on/off.
The problem is the speaker driver was only mono and I wanted 2 speakers. You can not just "double" connect them, since you will have the wrong resistance (ohms). I found this solution and it worked great.
The soft on/off also works, only once the Picade drive is loaded for off. There is a program running in the background checking for it.
https://forums.pimoroni.com/t/picade-hat-speakers-and-power-button-questions/5070/2
https://forums.pimoroni.com/t/picade-hat-volume-control/3720/3
(I can not get the volume buttons working?)
5. Power Boost 100
I wanted this because it not only recharges the LIPO battery (3.7 V), it also is a voltage regulator for the Pi. Once all wired up, no problem at all. It provides a nice 5.1 V and recharges 3.7 to 4.2 V batteries.
6. 3D parts
I did some test prints and yes it should work. I just have to figure out the best placement of items, so that it is not too thick.
7. Perfboard buttons work inside case
I had never used 3D printed buttons hitting push buttons, so I need to prove that it would work.
8. Remove Linux boot text
I do not want to have the Linux boot text showing on power on, since it might freak some people out. The following link shows how to remove it:
9. Make Linux terminal text bigger
Since the screen is so small, I want to make the terminal text larger so that I can see it better:
10. Change the Emulator theme to:
snes-min
11. Change the load splash screen to:
get new splash screens
then pick: edmaul169-playschoice-10.png
https://github.com/RetroPie/RetroPie-Setup/wiki/splashscreen
12. Remove the run command option when a game loads: