Raspberry Pi Powered Movie Box
*Featured on Adafruit.com*
This is probably the most complicated project I completed since the MAME conversion last year. Really? It looks and sounds so simple <- my initial thoughts. Movie Box turned out to be a perfect combination of electrical and mechanical engineering just challenging enough to eat up weekend after weekend of spare time.
The Goal: Hide the TV in a box when not in use (cuz it’s ugly).
Proposed Solution: Trigger an electromechanical lift from a smart device to raise and lower an LED monitor from a road case.
Bonus Features: In most homes TVs are stationary. But with movie box, the road case that encloses the monitor and lift is on wheels, so I can easily roll it into any room. And by using Chromecast and the Plex Media Server, the system is wireless.
I was able to lift a desk in the past, so I figured a monitor would be no problem. The smart device trigger was totally a new playground for me. This was my first microcontroller project so I started searching Youtube for some help. I found Gaven MacDonald’s channel to be the most informative. After watching every one of Gaven’s videos twice, I figured out all the parts I would need for Movie Box.
Movie Box: MTV Cribs Demo
Movie Box: 360 Walk Around
Movie Box: Back View
- Raspberry Pi
- (4) Relay Switches
- (2) 18 inch Linear Actuators
- 12v Power Supply
- WEBIOPI Framework
- Python Script to set GPIO Pins
- HTML and CSS to format the Smart Device page
- Plex Media Server
- A bunch of wood and screws
- Adafruit’s WebIDE for the Pi was really helpful for testing and editing the Python script
- Also Adafruit’s tutorials are pretty great too.
Here are a few of the early sketches:
Here is an early 3D mock up showing the basic idea of Movie Box:
My first successful relay triggered by one of the Pi’s GPIO pins!
Here I’m testing a 24 inch linear actuator and setting the built in limit switches. You’ll later see that a 24 inch actuator will not fit into the case I ended up using for Movie Box.
So after successfully extending the actuator with the relay switch I realized I could not bring the actuator back with just the two relays. So I switched to a motor controller! Here I set up a small test with a 5v motor. I was able to turn this motor forward and backward with Python and the Raspberry Pi.
I was so proud of myself. Until I tried hooking up the actuators. They required way more amps than that little motor controller could handle. So after burning up 3 or 4 small motor controllers I realized I could change direction with 4 relay switches!
Hooray! I was able to extend and retract the 24 inch linear actuator with 4 relay switches. But then I realized the 24 inch actuator would not fit inside the box I wanted to use (see below).
I started to measure everything out. I needed to find a way to make the top lift up at least 22 inches (monitor height) while keeping the lift mechanism less than 22 inches tall.
First test with 4 relay switches running two 18 inch actuators
I didn’t really want to do it, but I knew I could use two smaller actuators together to meet the specs I needed. One actuator lifts the other one, sort of like a two stage lift. Here is the first build of the dual actuator lift.
I took apart my height adjustable desk so I could use the telescoping legs and actuators for this project. Here is one of the legs.
The next few images show the pieces coming together.
The first major mechanical problem was that the two telescoping legs were independent, causing a pivot that made the monitor rise and descend crooked instead of parallel.
To prevent crooked lifts I rebuilt the legs with a slit in the back. This allowed me to add an X brace to the back connecting the two legs together. I used a standard monitor mount to easily install and remove the monitor as needed.
Now that things are literally moving smoothly, I mounted the electronics inside the road case.
Adding the monitor
Here is the X frame on the back for added support
I added sound foam to reduce the actuator noise
The system stability has been pretty impressive. The WEBIOPI server on the Raspberry Pi has been running for weeks without going down and it only draws about 2 watts.
Here is a screen shot of the web app on an iPhone 5. The best part about web apps is they are cross platform compatible.
Once Movie Box is triggered and the monitor is up, I use Plex Media Server to stream local content from my desktop computer to the Chromecast adapter plugged into the back of Movie Box. All of my content can be accessed with the same smart device via the Plex Media Server app (shown below).
Add an IR LED to power on and off the monitor when Movie Box is triggered.
Add a physical button to the road case’s exterior to trigger Movie Box.
Movie Box Project Files: