Trybotics Logo

Portable Gaming Laptop Using Raspberry Pi

DESCRIPTION

Hello Guys , In this instructable , we will learn to build a Portable Gaming Laptop using Raspberry Pi .When I say gaming Laptop I don’t mean the High End Laptop which are sold in the market . You won’t be able to play windows games on this laptop anyway. But you would be able to play all Retro Games . So you guessed it right I will be using Retropie image for this project.Before you start reading this instructable I suggest you to watch the youtube video I made for this project.

Description:

Parts and Software Needed for This Project
6 More Images

So for building this project you will Portable TV / DVD player which you may find lying down in your house or you could borrow from your generous friend .Then you will need raspberry pi ,obviously , any raspberry pi will do , but I will be using raspberry pi zero w . Now if you will be using raspberry zero like me you will also need to make an additional circuit board for audio since it doesn’t have the audio jack like the raspberry pi 3.

For the audio board you will require these components:

    1. Two 270 ohms resistor
    2. Two 150 ohms resistor
    3. Two 33 nF ceramic capacitor
    4. Two 10 uF electrolytic capacitor

    Apart from these you will also need some male and female header pins. Some wires and a prototyping PCB.

    You will also need to download the retropie image from here : https://retropie.org.uk/

    To load the image on the SD-CARD you will need Win32 Disk Imager or even Etcher will do the job.

    Download Win32 Disk Imager from here : https://sourceforge.net/projects/win32diskimager/

    and Etcher from here : https://etcher.io/

    Description:

    This is step is not needed if your portable DVD player has AV video input , then your life is a bit easier and you can skip this step.

    This part can be difficult for some people but, you are sure to find a way if you try . You have to find a wire / path through which the processor transmits the video signal to the display IC. The processor is often the largest chip that you can find and has more number of pins. Some portable DVD player have separate circuit board for the display (like mine). Then you just need to hack the cable connecting the main board to the display board. In my case the pinout of the connector cable was printed on the circuit board . But if it isn’t in your case then you can just Google the pinout for the Display IC.

    As you can see in the picture above the pinouts of my connector cable are given on the display board. I found three pins interesting and they are TV/AV , TV , Y (see in the pictures above) . The TV/AV is used to change the mode between TV and DVD mode. The TV is the TV video input and Y is the DVD video input. In my case I choose the TV input since it gave better quality display. So I just cut the TV wire and replaced it with raspberry pi‘s output.

    If you successfully completed this step then congratulation since this was the most difficult step and the subsequent steps are very easy.

    Description:

    For this I referred to adafruit website : https://learn.adafruit.com/adding-basic-audio-ouput-to-raspberry-pi-zero/overview/

    This step is needed only if you use raspberry pi zero since the raspberry pi zero doesn't have a inbuilt audio filter.

    The circuit uses both gpio 13 and gpio 18 for stereo output. but I have only used gpio 18 , Since I don’t mind a mono audio output. I connected the output of this filter to the on board audio amplifier of my Portable DVD player . Please note you need a audio amplifier if you can’t use the onboard amplifier then you will need to make an audio amplifier. You can’t connect the output of the audio filter directly to the speaker.

    Description:

    Now its time to test to see if our audio is working , But before that we need to flash the Retropie image to the sdcard card , You can download this image from the Retropie official website from here ( https://retropie.org.uk/ ) For flashing I used Win32 Disk Imager but you can also use Etcher to do the job.

    You need to open Win32 Disk Imager in administrator mode , select the Retropie image file . Choose your SD-CARD drive letter from the drop down box and then click on the write button.

    Now you need to connect your raspberry pi zero to your network and enable SSH on it . This way to do it heedlessly without a monitor , just follow this steps. You need to create two files wpa_supplicant.conf and ssh in the boot directrory of the memory card .Or just download them from below . You will need to modify wpa_supplicant.conf by entering your country code , wifi name and password. Then copy these two files to the boot directory . Then put your SD-card into your raspberry pi and it should automatically connect to your wifi network .

    Then find your raspberry pi IP address , I use Advanced IP Scanner ( https://www.advanced-ip-scanner.com/ ) for this purpose.

    Its time to SSH into the raspberry pi. For Windows Users I recommend a software called Putty ( https://www.putty.org/ ) . For Linux Users you can use the terminal by typing this command

    ssh pi@ip_address

    For example , If my Raspberry pi's IP address is 192.168.8.102 then I will have to use this command ssh [email protected]

    The default login user is pi and the default password is raspberry .

    Attachments

    Description:

    To save you from all this software hassle I created a image of my pre-configured SD-CARD .Just download ( https://drive.google.com/file/d/1uBkISlCsInqCkeoxKhDdvfD1C9_mzKkE/view?usp=sharing/ ) and flash the image in your SD-CARD ,then you may skip this step and the next step of this instructable. But if you want to learn something then I encourage you to read this step.

    For this step I am entirely referring to this adafruit tutorial ( https://learn.adafruit.com/adding-basic-audio-oup... ) .

    So the idea here is that the original raspberry pi one and the raspberry pi zero uses a similar processor , But the original raspberry pi had the audio output , so since they have a similar processor then raspberry pi zero must have an audio output but the problem being we don’t have pins PWM0 (pin #40) and PWM1 (pin #45) [ This are the pins which are used for audio on the Raspberry Pi One ] exposed for raspberry pi zero , but there is a way to re-route those signals to GPIO 18 and GPIO 13 on the raspberry pi zero.

    Once we are connected using SSH, Type the following commands

    sudo apt-get update

    sudo apt-get install raspi-gpio wiringpi

    then type gpio readall

    If this doesn’t work , you need to build raspi-gpio yourself please refer to the next step .

    gpio readall command will give you the pin mode and state for every pin . The pins we are interested are GPIO 13 and GPIO 18 .The default mode will be set to IN we need to set this mode to ALT0 and ALT5 .

    For this we need a software called gpio_alt . To save your time I have already compiled it for you . Just download the zip file extract it and copy it to raspberry pi home folder. ( In the pictures above I have shown how to compile this gpio_alt.c using gcc -o gpio_alt gpio_alt.c )

    Then type this commands :

    sudo chown root:root gpio_alt

    sudo chmod u+s gpio_alt

    sudo mv gpio_alt /usr/local/bin/

    gpio_alt -p 13 -f 0

    gpio_alt -p 18 -f 5

    Now type gpio readall ,and you will find that GPIO 13 and GPIO 18 pin mode is changed to ALT0 and ALT5.

    then type sudo raspi-config

    go to advanced options .then go to audio and select Force 3.5mm (‘Headphone’) jack option.

    Type alsamixer and increase the volume by pressing the arrow up key .Then you can hot Esc to save and quit

    Now to automate this process every time raspberry pi boots up

    Type sudo nano /root/pwmaudio.sh

    Copy this into it:

    #!/bin/bash

    /usr/local/bin/gpio_alt -p 13 -f 0

    /usr/local/bin/gpio_alt -p 18 -f 5

    Press ctrl+o to save and then ctrl+x to exit.

    run sudo chmod +x /root/pwmaudio.sh and then create another script with sudo nano /lib/systemd/system/pwmaudio.service

    and stick this in it

    [Unit]

    Description=PWM Audio Service

    [Service]

    ExecStart=/root/pwmaudio.sh

    StandardOutput=null

    [Install]

    WantedBy=multi-user.target

    Alias=pwmaudio.service

    Save the file by typing ctrl+o . Once This is done start this service by typing this command.

    sudo systemctl enable pwmaudio.service

    sudo systemctl start pwmaudio.service

    then do sudo reboot and we are done configuring the software.

    Attachments

    Description:

    If Gpio Readall Command Dosen't Work
    2 More Images

    There is a possibility that gpio readall command might not work for some people so in this step we will be building the gpio package ourselves .

    First we need to download the latest snapshot from the wiringPi Git repo : ( https://git.drogon.net/?p=wiringPi;a=summary ). The version I have is wiringPi-8d188fa.tar.gz .

    We need to copy this file to our raspberry pi .I use this convenient method ,First open your file explorer ,Then in the address column type : \\ip_address ,where ip_address refers to the IP address of your raspberry pi .Just copy the wiringPi-8d188fa.tar.gz file into the BIOS folder.

    Then SSH into raspberry pi and type:

    ls ./RetroPie/BIOS/

    With this you will able to see wiringPi-8d188fa.tar.gz file.

    mv ./RetroPie/BIOS/wiringPi-8d188fa.tar.gz ./


    Extract the file with these commands:

    gunzip wiringPi-8d188fa.tar.gz

    tar -xvf wiringPi-8d188fa.tar


    Then go into thewiringPi-8d188fa directory and install the software:

    cd wiringPi-8d188fa

    ./build

    and type gpio readall ,and it is going to work.

    Attachments

    Description:

    Now to load a game into this laptop open file explorer , Click on the address column ,and type \\ followed by the IP address of raspberry pi .

    for example if my IP address is 192.168.8.102 ,Then I have to type \\192.168.8.102 in the address column

    ,then open ROM folder and then copy paste your game here since the game I have is of the type snes I copied it to the snes folder.

    Description:

    Finally I connected this usb keyboard to the rasberry pi and after doing the keyboard configuration I rebooted the raspberry pi. It turned to be a good project, after watching my little brother play with it .

    I had many ideas when doing this project most of which I could not implement since the backlight inverter of the Portable DVD player stopped working.

    One idea was to use the existing buttons of the portable DVD player instead of a keyboard. For the second idea I had an Infra-Red gaming joystick , which I wanted to link with Retropie. I used the existing IR receiver of the Portable DVD player and I was able to get keyboard presses from the controller using LIRC (Linux Infrared Remote Control) ( http://www.lirc.org/ ) software and little more modification could allow me to use this IR joystick with Retropie.

    I will definitely make a video and an instructable of this once I get the new backlight inverter , so please don't forget to subscribe my youTube channel Jovi Tech.


    YOU MIGHT ALSO LIKE