Tingbot with EmulationStation and RetroPie

  • Core team

    How is Tingbot configured to use Emulation Station?

    The original version of this tutorial referred mainly to the First Installation · RetroPie/RetroPie-Setup Wiki instructions but since that relied setting up and configuring a standard Retropie installation by means of a Raspberry Pi connected to an HDMI monitor, this current version of the tutorial can be done on a Tingbot that has already been set up and cased. Furthermore, an existing Tingbot OS image is used as the starting point and RetroPie will be installed 'in-situ'. Please note, however, that the installation of RetroPie will overwrite parts of Tingbot OS and any existing Tingbot Apps so we recommend starting from a clean install as documented in Installing Tingbot OS.

    Clean install of Tingbot OS

    Once the Tinbot OS SD card has been prepared, inserted into the Tingbot and power applied the system will boot into the default Springboard splashscreen and the 'home' app - Shoutout - will be displayed, as follows:

    Plugging in a USB keyboard

    The following screen shots in this tutorial illustrate the steps used to install RetroPie on the Tingbot using the in-built terminal capabilities with input taken from a keyboard plugged directly into one of the Tingbot's USB ports. (An alternative would be to remotely login to the Tingbot and enter/paste input to the command line from the connected device.)

    Once a keyboard is plugged in the greyed-out keyboard icon is highlit (see below) and we're ready to go.

    Settings screen

    A touch of the Tingbot (T) icon will bring up the Settings screen and this can be used to check what IP address has been assigned to the Tingbot should you wish to remote login to it. A touch of Tingbot icon on the bottom of this screen will return to the home screen.

    Terminal App

    Each press of the right-hand button will scroll to the next app in sequence. The second app included in a clean install of Tingbot OS is the Terminal app and it is via this app that we interact with the Pi's command line.

    A touch of the above Terminal icon will bring up a Pi command line as follows:

    Reducing the console font size (optional)

    This step is optional and has been done for the purposes of the tutorial since more text can be displayed in the screenshots and there's less text wrapping of the command line input. If you skip this step please note that your input will wrap/display differently so please do take care to check your input carefully before pressing the return key.

    There's also no need to undertake this step if you're interacting with the Tingbot via a remote shell session.

    sudo dpkg-reconfigure console-setup

    Typing in the above command to the default shell will appear as:


    and the following screenshots show the sequence of steps used to replicate the console font setting used in the rest of this tutorial.










    And, finally, once given the <OK> the newly configure font size will take effect:


    Updating and Upgrading

    Since the Tingbot OS image is a customised version of Jessie Lite, the next step in the RetroPie install is to update and upgrade the image to a more standard configuration. Please note that after this step is undertaken the SD Card wil no longer be a normal Tingbot OS image. Type in:

    sudo apt-get update && sudo apt-get upgrade


    and once return is pressed a bunch of stuff will scroll by and the prompt Do you want to continue? [Y/n] will appear, as follows:


    Once again, more stuff will scroll by and, eventually, the prompt will return signifying the end of the sudo apt-get update && sudo apt-get upgrade process.


    Installing packages required for the RetroPie setup script

    Type in:

    sudo apt-get install -y git dialog


    Note: It may be that the required packages were already installed so don't be surprised if nothing more needs to be done in this step.

    Installing the RetroPie setup script

    Now download the latest RetroPie setup script with

    git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git


    Executing the RetroPie setup script

    The script just downloaded is executed by:

    cd RetroPie-Setup/
    chmod +x retropie_setup.sh
    sudo ./retropie_setup.sh

    As shown in the following screenshot:


    You will then be taken through a number of prompt screens. The following ones show the steps taken to perform a Basic install of RetroPie:






    Finally, in preparation for the next steps, change directory back to the home directory with cd as follows:


    Reinstating the Tingbot Overlay

    A side-effect of the above installation steps is the removal of the tingbot-overlay.dtb file from the /boot/overlays/ directory - shown by the lack of output from the ls -l /boot/overlays | grep tingbot command included in the following screenshot. To retrieve Tingbot's original overlay file type in the following commands:

    mkdir ~/tingbot_enable
    cd ~/tingbot_enable
    wget https://github.com/tingbot/tingbot-os/raw/master/root/opt/tingbot-os/tingbot-overlay.dtb
    sudo cp tingbot-overlay.dtb /boot/overlays/tingbot-overlay.dtb

    as per the following screenshots:



    Editing /boot/config.txt

    The next phase of installation is to edit /boot/config.txt to configure the HDMI settings to match the Tingbot screen parameters and to reinstate the tingbot device tree overlay so that the screen can be used. Type in the following command:

    sudo nano /boot/config.txt


    and the first 'page' of lines will look similar to:


    Now scroll down to the end of the file and the last 'page' will look similar to:


    At this point we add the following text:

    # Set HDMI output to match the Tingbot resolution
    hdmi_cvt=320 240 60 1 0 0 0

    (as shown below:)


    Finally, we need to enable the Tingbot screen by adding:

    # Enable the Tingbot screen

    (as shown below:)


    Finally, Write out the changes with ctrl-O (^O) and then Exit nano with ctrl-X (^X).

    Editing /boot/cmdline.txt

    The next phase of installation is to edit /boot/cmdline.txt to add
    consoleblank=0 to the end of the line by typing the command

    sudo nano /boot/cmdline.txt

    (as shown below:)


    Scroll right to the end of the line and add the text. The editor screen will then look like:


    Again, Write out the changes with ctrl-O (^O) and then Exit nano with ctrl-X (^X).

    Installing fbcp

    Since RetroPie uses the HDMI capabilities of the Raspberry Pi to render its display we need a way of mirroring the HDMI to the Tingbot screen. This is done using fbcp which now needs to be downloaded and installed with the following commands:

    git clone https://github.com/tasanakorn/rpi-fbcp
    cd rpi-fbcp/
    mkdir build
    cd build/
    cmake ..
    sudo install fbcp /usr/local/bin/fbcp

    The following screenshots take you through these steps:




    Launching fbcp during boot

    fbcp needs to be launched every time the system is booted. This is done by adding the line /usr/local/bin/fbcp & just before the final exit 0 line in /etc/rc.local. Now type in the following commands:

    sudo nano /etc/rc.local

    (as shown below:)


    Then scroll down through the first 'page':


    and position the cursor in the line above the exit 0


    and add the text /usr/local/bin/fbcp & (as shown below:)


    As usual, Write out the changes with ctrl-O (^O) and then Exit nano with ctrl-X (^X).


    Once the above installation steps have been completed it's time to reboot the system. So type in:

    sudo reboot


    and the rebooting messages will scroll past and after a short while the usual Pi login prompt will be displayed.


    Now, login with the normal pi account and the usual password.


    Manually starting EmulationStation

    To start up EmulationStation for the very first time type in:



    EmulationStation's welcome screen will display for a few seconds and, in the absence of a gamepad, the keyboard can be used to initially assign 'button' functions. The following images show a sequence of screen shots for a basic configuration of the (keyboard) controls.

    (Note: for a more detailed explanation of controller configuration see Controller Configuration (RetroArch))




    To skip the configuration of buttons that don't exist on a normal keyboard just hold down any key for as long as it takes to revert the PRESS ANYTHING prompt to NOT DEFINED and move on to the (non-)selection of the next button. For example:


    Finally, once all buttons have been (un)defined, the OK prompt will be highlit and once selected by the key defined as SELECT, RetroPie's splashcreen will be displayed.


    RetroPie Lives!


    RetroPie setup - auto-start Emulation Station

    As an example of setting up RetroPie by selecting MENU, the following screenshots show the process of setting up Emulation Station to launch at boot.






    Bigger EmulationStation text (Optional)

    As mentioned in their RetroPie - Tuning & Tweaking turorial, Adafruit has documented the process of editing /etc/emulationstation/themes/carbon/carbon.xml to adjust the font size used in the game lists to make them easier to read. This can be done by typing in:

    sudo nano /etc/emulationstation/themes/carbon/carbon.xml


    and scrolling down to the "gamelist" entries and altering the fontSize to 0.05 as shown in the sequence of screenshots below.




    As usual, Write out the changes with ctrl-O (^O) and then Exit nano with ctrl-X (^X).

  • @xtramural - Hello, just a quick question here. So RetroPie will take over Tingbot OS in this installation? I'd like to help in the development for Emulation Station to be apart of Tingbot OS, I'm just not familiar with coding.

  • Core team

    @BeauSS yes, the tutorial I put together would result in RetroPie displacing Tingbot-specific features. It's on my todo list to configure a system so that EmulationStations runs under/alongside Tingbot OS so, hopefully, we can have the best of both worlds sometime in the new year.

  • @xtramural cool - is it possible to safe the image back to Pc? then its easier to change between images

  • what about recalbox?

  • anways that tutorial doesnt work anymore i get a white screen after sudo reboot cant do anything... and i did everything step by step

  • @xtramural Can you confirm if this tutorial still works or not? I'd love to run retro pie on the tingbot.

  • Core team

    @BeauSSS Good question. It's been a while since i checked out the forum posts and hadn't picked up on the issue that @A-999 had flagged up. Might be worth trying to see if you get the same issue and, if so, then we could look into this.

  • I cant find any text in the /etc/rc.local file at the "Launching fbcp during boot" step. There's nothing in that file and I too have a white screen upon reboot. Not sure if I can SSH back into it and somehow add that file?

  • I was able to somehow edit the rc.local file and add /usr/local/bin/fbcp & but I too get a white screen and can't do anything like A-999 said. @xtramural

  • still no answer? i payed for a product that doesn't even work properly.... please hurry with a solution.

  • @DJAbsyss Are you having the same issues as @A-999 and I?

  • Hey there,

    same problem here. White Screen after Reboot. Pls help
    Greets Tio

  • Core team

    @TIO @BeauSSS @A-999 Apologies for the lack of response. I'll take a look into this and try and come up with a workaround.

  • Core team

    I suspect the culprit(s) to be the update/upgrade process borking the Jessie Lite (Tingbot) image. Hopefully, this can be resolved.

  • @xtramural Hey thanks for the response. No hurry, okay? I know you guys are a small team, so if you need us to test anything let us know. I'm not experienced at coding, but can follow step by step instructions like your thread here. I just think Retropie would be sweet on the tingbot!

  • @xtramural I have the same issue here, why dont you provide the drivers for the LCD and the button, that should fix the issue, no ?

Log in to reply

Looks like your connection to Tingbot with EmulationStation and RetroPie was lost, please wait while we try to reconnect.