PlayVideo: adaptive video player

Use a single adaptive switch to play any video in the library

Similar projects worth following
Individuals with physical or intellectual disability often love watching videos, but may not be able to manage computers, iPads or other video players on their own. I developed this jukebox for my son with disabilities and it has been a joy for him for many years.

The jukebox is made from a Raspberry Pi. The videos are stored on one to four flash drives (thumb drives).The user has one switch.Pressing the switch starts the next video in a list. The user keeps pressing the switch until the desired video starts playing.When the end of the list of videos is reached, the list starts over.A second switch can be added to step backwards through the video list.

PlayVideo is both a hardware and a software project. The hardware is a stock Raspberry Pi. I have tested models 3B, 3B+ and 4. In addition, the hardware needs at least one adaptive switch wired to the GPIO connector. The hardware I like to build is a bit more complete. It has a START switch, a STOP switch, sockets for two adaptive switches and a small keyfob receiver for wireless pushbuttons. (UPDATE: now have a printed circuit board to simplify the interface).

The software is a copy of Raspbian that has been configured for turn-key operation. The operating system boots directly into PlayVideo, the jukebox program. To get this version for yourself, you can download the image from GitHub, burn it to a microSD card, then insert the card into your Raspberry Pi. It includes a C++ program that manages the adaptive switch and plays videos. The software looks for a thumb drive named "VIDEOS". It then finds a file called "list.txt". The list file has a list of videos on the thumb drive. They are selected one at a time, in order of the list, each time the adaptive switch is touched. 

There is a lot more detail, but that is the main idea behind the PlayVideo system. See the instructions that cover all the steps to setting up a PlayVideo system. See the links to learn a lot more. The link to GitHub has all the software and some detailed instructions for building your own variation of the PlayVideo system. The link to WordPress has a detailed description of the hardware assembly. A link to Facebook shows an earlier version in operation.  


Drill template for the interface printed circuit board.

postscript - 1.04 MB - 08/06/2020 at 22:40


  • Version 1.1 of pc board. Drill template.

    Andrew Mitz08/06/2020 at 22:39 0 comments

    The m-pad-2.1 Eagle library has the 2N7000 TO-95 transistor layout wrong. I had to fix that. One pushbutton switch was inserted backwards. I added silk screen markings to make the orientation clear. I ordered an updated set of PC  boards from OSH Park. Meanwhile, I created a drill template in Adobe Illustrator. Here is a jpg of the file.

  • Printed circuit board for the interface

    Andrew Mitz08/05/2020 at 21:17 0 comments

    I decided to design a circuit board for the interface box. Version V1.0 is built, but not tested yet. I expect it to work. V1.1 is already designed. It fixes a few holes and some component spacing. Here are some photos. 

View all 2 project logs

  • 1
    Download custom image of Raspbian

    The entire software project is on GitHub. However, only the image is needed to make PlayVideo work: Bootable PlayVideo image of Raspbian for Raspberry Pi microSD (July 2018). You can find the entire project here: PlayVideo project on GitHub

  • 2
    Burn PlayVideo image file to microSD card

    Download and install Win32 Disk Imager.

    Purchase a 8 GB or 16 GB microSD card. A larger card will not hurt, but it is not necessary. Burn the image onto the micro SD card. Install the micro SD card in the SD card slot of the Raspberry Pi.

  • 3
    Wire a pushbutton switch for testing

    Connect a pushbutton or adaptive switch to pins 3 (GPIO2) and 6 (Ground) of the GPIO header.

View all 12 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates