Raspberry Pi Video Player for Children





Introduction: Raspberry Pi Video Player for Children

A Pi-based portable video player, featuring a touch screen, Arcade buttons and a kid friendly, Python-based GUI.
The build consists of:

  • Raspberry Pi B+
  • ELI70-CR touch screen from FDI
  • Adafruit Powerboost 1000C
  • 4 x 18650 3.7v 5000mAh Li-ion batteries
  • 12v boost converter
  • HDMI splitter
  • HDMI Panelmount
  • USB panelmount
  • Switch
  • 1 set of laser cut parts for enclosure (Attached as a .zip file)

Step 1: Enclosure

The enclosure for this player is laser cut from 6mm mdf.
Due to a lack of my own laser cutter I used Ponoko, with amazing results!

If I had my own Laser Cutter I would be able to refine my case design and also create some great enclosures for many of my other projects I have ongoing. I find that a lot of my projects fall at this hurdle, and remain uncompleted due to lack of suitable case.

A Laser Cutter would increase my productivity more than you could ever imagine!
I have attached the files for my enclosure as a .zip attachment for your perusal - I would love to see someone make one of these!

Step 2: Fit Buttons & Screen

Screw the Arcade buttons in place and fit the 7" Touch Screen. This particular screen is the ELI70-CR by FDI - I love it!

In order to reduce stress on the screen's PCB i cut some rubber tubing to fit between the screw hole and the board; this filled the few mm gap and prevented me from over tightening the screws and cracking the board.

The buttons were simply a case of fitting and tightening the plastic collar on them. These particular buttons were extremely cheap; the plan is to replace these buttons as soon as they start becoming faulty with some higher quality ones. I would also aim to get shorter buttons; the length of these ones actually take up a lot of space in the case and make it difficult to fit components.

Step 3: Stuff It!

Fit the components into the lower section of the case:

  • The Raspberry Pi
    • Wifi dongle
    • memory stick
    • Panelmount USB port cable
  • HDMI Splitter
  • HDMI panelmount
  • 4 x 3.7v Li-ion batteries in parallel (I purchased a battery holder from EBay in Parallel configuration
  • 12v Boost converter
  • Adafruit Powerboost 1000c
  • Power switch

Step 4: Cut Holes for Internal Components

In order to charge the batteries via the powerboost, access the panelmount HDMI & USB ports holes must be cut for access.

These will be added to future versions of the design files so they will be pre-cut, like the switch.

Step 5: Wire It!

The buttons have all the grounds soldered to the ground GPIO pin on the Pi, and then each one is wired to the GPIOs. No need for a resistor on them; the python code used to read them uses the Pi's built in pull up resistors.

Batteries are soldered to the battery inputs of the 1000c, with the USB out powering the Pi.

The 12v boost converter is wired to the raw battery outs on the 1000c, then to the screen.

The power switch is also wired to the powerboost; shorting the Enabled pin to ground switches the circuit off, so the switch is in the 'off' position when on and in the 'on' position when off. If using this Powerboost circuit try and buy a blank switch to avoid confusion :-)

Step 6: Cross Fingers and Switch On!

Hurrah! Fingers crossed the Pi should boot.
For the Pi image I used the supplied Raspbian one from FDI; it is configured for optimum use with their screen.

FDI are brilliant for support, and also provide a config file that can be dropped into any OS, meaning you can switch any of your projects to this screen with minimal fuss!

Step 7: Software: Under Development

Currently I am developing some Python code to generate a kid-friendly interface.

You can track my progress on that over on my Github:


Until I have it up and running the FDI image comes pre-installed with a Python-based GUI for omxplayer; I am currently using this with my player until my interpretation is up and running.

It is called TBO Player, by Github user KenT2; you can download it from here:


Once installed, configure your Pi to run tboplayer.py on startup by editing your /etc/rc.local file and adding the following line at the end:

"sudo python /WhereverYouInstalledTBOPlayer/tboplayer.py"

The software I am working on is very similar, in essence - it is going to be a GUI for omxplayer. Mine will also capture button presses from the arcade buttons and use these commands to change playlists and toggle play/pause and skip videos.

Step 8: Summary

In Summary I am delighted with the end product; the Player resides in my son's room and he uses it to play his favourite videos on the little projector on his ceiling :-)

I will update this instructible as and when progress is made.
Feel free to ask as many questions as possible!



    • Planter Challenge

      Planter Challenge
    • Make it Move Contest

      Make it Move Contest
    • Clocks Contest

      Clocks Contest

    We have a be nice policy.
    Please be positive and constructive.


    1 Questions


    I am new to Pi and Python, where does the code got for the buttons when using tboplayer?

    Hi buddy, thanks for commenting!

    I used TBOPlayer as a makestop while creating my own
    software using OMXPlayer, a commandline based player:


    The basic script (configured to run on startup by adding a
    command to the /etc/rc.local file) enters a button loop, and when a button is
    pressed carries out that requested function.


    I have a question can you use the boards that come with arcade buttons that make it usb

    1 reply

    Hi there
    Of course, that is certainly an option. You would just need to modify the code to monitor for keyboard presses rather than changes in state on the GPIO pins.

    Nice project. Very simple and easy to use.

    I made a kid friendly movie player too. My project uses books that have been converted into movies. My students can select from over 300 different books. I use KODI to run things. For stability, I built a controller--It allows me to limit what kids can do and makes everything much more stable. I also heavily hacked the KODI preferences to help control user input. You can take a look at it here:


    In my search for a kids friendly video GUI, I've looked at a lot of devices:I-pads and other tablets, consoles, dvd players, etc--No device seems specifically designed for kids.

    > "Batteries are soldered to the battery inputs of the 1000c, with the USB out powering the Pi. The 12v boost converter is wired to the raw battery outs on the 1000c, then to the screen."

    The 12v boost converter is wired in parallel to the battery as it is to the 1000C board? Wouldn't this power the screen even when the 1000C board was switched off? I am probably missing something here. Could you please elaborate? I have having a similar issue powering a 7" TFT (non touch screen) along side my RaspPi with a 1000C board.

    Please and thank you!

    5 replies

    That booster should work. Just make sure the 12v output is enough for your screen.

    Hey ceafin
    The switch on the power boost cuts power to both the 5v and raw outputs, so both the screen and the pi are powered off.
    Hope this helps!

    so maybe something like this for the 12v booster?


    so for me, I was going to use one of adafruits lipo batteries, so it would hook up to the top left connector, and the the Pi to the 5V and GND, but what would be the raw outputs, the right hand terminals where the USB port would go if wanted? and so the screen and the 12v booster would both connect there in parallel?

    ...sorry, I'm kind of dense, and I don't want to blow the few things I bought with my pennies. thanks!


    Oh I'm an idiot. The 12v booster has two inputs two outputs...

    hey nice! but can u power it with rechargable batteriesq?

    1 reply

    Where did you get your arcade buttons? Would love to download your case file!

    6 replies

    Thanks man!
    The buttons were an Ebay cheapo job:


    They are really, really cheap - but they feel it too. The plan with these was to test and make sure the whole thing works, then replace with better buttons as and when they go.
    Try and get the shortest buttons you can; the button length does have a big impact on what space you have inside the enclosure!

    Ah, I would love to see someone else put one of these together - can you access this from my dropbox?

    I ran your SVG through Scour and got on Ponoko to look at material options. Does 50USD/32GBP sound about right for the fabrication cost for MDF?

    That sounds about my costs mate; 6mm MDF on the P3 size board. I paid $115 but half of that was shipping to the UK. Luckily I had a $100 coupon to use that I won on Hackaday :-)
    Double check the svg mate; I think i included two extra sides to experimenting with cuts. you could shave a few dollars off (but they are useful to have in case of botched hole making).

    I have also attached a Zip file to my Instructable containing my case files buddy; let me know if you manage to get them downloaded :-)

    I was able to get your SVG from dropbox. I don't see the Zip attachment though (I'm probably not looking in the right place). Looked on the Instructable and on your github page.

    Well that sucks!
    i will add the other files to dropbox in the morning for you; i will also find out where the files I uploaded are building :)