Steam Punk Digital 8" Picture Frame

1.3K130

Intro: Steam Punk Digital 8" Picture Frame

This instructable shows the physical build of a small digital picture frame in steam punk style. The frame is powered by a raspberry pi model B+. It dimensions are only 8 in. in the diagonal and it will fit very nicely on a small desk or shelf.

In my house this particular frame will be added to my picture frame network. It will show 10 pictures each day. The raspberry pi downloads these pictures from my ssh server. I have built large wooden 17 in. frames in the past and distributed them to my family. All these frames show the same 10 pictures during the same day creating a family uniting experience that reaches over thousands of kilometer, across oceans and continents.

This frame will likely end up in my office so I can participate in the fun during the day.

This instructable focuses on the physical built, but I will also provide a txt file with all the necessary software instructions in case you are interested to build a similar frame network. You could of course use the frame as a regular picture frame as well. The txt file should give you enough insights to get this done as well.

This is my first steam punk inspired project. Let me know what you think.

Tschöhö

Superbender

STEP 1: Working Principle and Software

The working principle of my frame network is shown here together with the distribution of the frames of my network in the world so far. If you are interested in the software details download the attached files. They contain everything you need to know to build such a network yourself. And feel free to ask questions.

As mentioned in the introduction, this particular frame was built to be added to a network of picture frames that I made for my family. Each frame connects during the night hours to my server to download the same 10 new pictures for the next day. Each picture is shown for 6 minutes, one full cycle takes 1 hour. The cycle is repeated until new pictures are downloaded.

My family absolutely loves those frames. Whenever fun memories or very old pictures come up, text messages are sent around talking about the images. At birthdays I smuggle a photoshopped picture of the birthday kid into the random selection to the amusement of everybody. Nice clean fun.

Reason enough for me to build a small one for my desk at work, so that I can participate in the fun during the day.

STEP 2: Planning

This really wasn't a project that was well planned out from the beginning to the end. I went with an initial idea, tried things out and modified it as I went. While this was an exciting journey in many ways, the approach also led to delays, rebuilds and undesired changes. The things that mattered the most were:

  1. The space requirements for the electronics were essential. Don't plan them too tight. I had a lot of trouble to get it all in the available space. There was a trade off of making the frame nice and small and keeping it functional. The length of the cables from the monitor were also an essential factor for the final design.
  2. The routing of the wood. I planned it out, just to realize that I didn't have the router bits necessary for the job. After I had ordered and received them I stopped the built for a week or two and misinterpreted my own drawings. In the end I had to do the routing all over again and still had to fix the wall thickness for the buttons. A little bit more thinking in the right moment would have saved me a bunch of trouble.
  3. Most every material used (with exception of the piping) were leftovers from other builds. I love using leftovers and put some new use to them. I keep bins with presorted stuff, while at the same I try to keep the clutter minimized. There is only that much spare stuff you can have around.
  4. Patience. Don't rush. Although things don't go as fast as you'd like, once you rush it you will start to make mistakes (like I did). I remind myself from time to time that this is a hobby. It doesn't matter if it is done today or tomorrow. To me it matters that it is done well and makes me feel good when I look at it.

STEP 3: Materials

Ok, I am done with the bla bla. Here we go with the bill of materials:

Iron Frame:

  • 2x Nippel 1/2 in. x 4 1/2 in. Black Steel Pipe Connector
  • 2x Nippel 1/2 in. x 4 in. Black Steel Pipe Connector
  • 4x 1/2 in. Black Malleable Iron Threaded Tee
  • 1x 1/2 in. Black Malleable Iron Cap
  • 4x 1/2 in. Black Malleable Iron 90° FPT x MPT Street Elbow
  • some 1/4" bars

Monitor:

  • Plastic frame with some ornaments approximately for a picture the size of the monitor (I got mine from hobby lobby.)
  • 2x 1/2in. Black Floor Flange
  • 1x Nippel 1/2 in. x Close Black Steel Pipe Connector
  • 1x Nippel 1/2 in. x 3 in. Black Steel Pipe Connector
  • 1/2 in. Black Malleable Iron 90 degree FPT x FPT Elbow

Electronics:

Odds and Ends:

  • Standoffs
  • Screws & nuts
  • Bullet Shells
  • Springs
  • Epoxy Glue (my favorite is shown in the pictures)
  • Shrink tubing
  • Thermal paste
  • Solder

STEP 4: Tools

The tools I used were:

General:

  • Screwdrivers
  • Allen wrenches
  • Rulers
  • Pliers
  • Vice

Frame:

  • Grinder
  • Welder
  • Saw or Flex
  • Dremel with cutting wheel
  • Chisel

Wood Base:

  • Random Orbital Sander
  • Routertable
  • Router
  • Router bit, round inside cut, 1-inch Cutting Dia
  • Router bit, Round outside cut, 3/8" with bearring
  • Sandpaper from 120 - 400 grit
  • Drill, Forstner bit, 1 1/2 in. diameter
  • Drills of various sizes
  • Ruler
  • Miter square
  • Table saw
  • 6 in. belt sander

Electronics:

  • Solder Iron
  • Voltmeter
  • Heatgun

STEP 5: Monitor Stand

In this step I explain how I mounted the monitor in a cheap plastic frame that had some ornamentation on it and fit in the steam punk theme.

  • Measure the active area of the monitor and buy a frame in a more or less fitting size for a couple of bucks. Mine monitor was a little bit too large for the frame opening. The frame needed to be adapted.
  • Center the router plate and install the router guide bushing kit
  • Cut a test cut. This will give you the exact offset of your cutting template to the router bit.
  • Based on the test cut, create a template for expanding the recessed area of the frame so it fits the monitor. Consider what the active / visual area of the monitor is.
  • If needed use cardboard or other material as height adjustment and cut.
  • Test the fit. Ideally, switch the monitor on and test it life.
  • Rip the hangers/fastener and extra material that is not needed any more out of the frame.
  • Clean it all up and if required make it flush with a chisel.
  • Cut a not too thick piece of wood (e.g. 0.5") with the table saw so that it fits on the backside of the frame.
  • Cut the edge with a router bit to give it a finished look.
  • Drill a hole in the center that is large enough for the connectors of the monitor, but small enough to be well covered by the floor flange for the 1/2" pipe
  • Sand the wood and the edges with a random orbital sander or by hand to a smooth finish.
  • If needed (as in my case) router out a channel for the cable to maximize cable length into and out of the pipe.
  • Select screws and drill holes to be able to fasten the floor flange.
  • Measure the length of the screws and if required cut them to length with a dremel.
  • On a piece of cardboard or old table, dab the backside of the wood with black and gold acrylic paint. Use plenty of paint so it gets some three dimensional structure. Use both colors when wet so that the colors blend a little and you get a nice continuous effect.
  • Once dry add the floor flange pre-assembled with the shortest available nipple and a 90 degree bend.
  • Feed the cable through.
  • Add the other floor flange pre-assembled with a nipple that allows the monitor the desired clearance from the ground. Tighten it well.
  • Sandwich the monitor between frame and wood and glue into place. If possible use a removable glue. I couldn't get it done with hot glue so I took a risk and used epoxy.
  • Wait until it is dry.

STEP 6: Metal Frame

In this step I am explaining how I put the frame together. I didn't take that many pictures for this step and added a drawing to display how I put the last piece together.

  • Make a decision on the size of the base and the frame surrounding it. Give yourself a little bit more space than I did. I did not leave more than 1" for the wood and the PC boards. Turns out that is not much and makes things harder.
  • Assemble the frame with pipe pliers and a vice. Be careful to create the same distances between the T- and 90 degree pieces.
  • Finish the U-shape of the main body with the 4 T-fitting feet first.
  • Make the elevated cross section separately carefully adjusting it to the same width.
  • Without shortening the threaded section of the last piece, grind off the outside thread by maybe 1/2". It needs to fit into the fitting without showing that it wasn't screwed in. See drawings.
  • Rotate the foot of the opposite side a little and screw the untouched thread of the crossbar into place.
  • Rotate the foot back and seat the ground part into place inside of the top of the T-fitting.
  • Ensure it looks right, or repeat/improve.
  • Now flip it over and weld it in place through the inside of the foot. (Alternatively you can glue it with the magical epoxy pixie dust stuff.
  • Cut a couple of 1/4 inch steel bars to size to fit between the feet. They'll act as support for the wood base and keep the feet from rotating.
  • Weld them into place.

STEP 7: Wooden Base

In this step we'll build the wooden base:

  • Find a 2.5"-3" thick piece of wood. I used a beetle kill pine piece I had laying around.
  • Measure your dimensions carefully and transfer them to the wood. The dimensions are:
    • The inside dimensions needed to fit the Raspberry Pi/Monitor board assembly
    • The outside dimensions needed to fit into the pipe frame
    • The outside dimensions needed to fit onto the pipe frame, i.e. an overlap with half a pipe thickness around the pipe frame.
  • Determine the depth needed to house the PCBoards.
  • Clamp the wood piece on a table and router the inside dimensions out. Take your time and do this in small depth increments.
  • Cut the larger outside dimensions out with a table saw.
  • Take a 1" diameter round router bit and router the difference of the two outside dimensions away on the three sides surrounded by pipe. Again, take your time and used small depth increments.
  • When I tested if it fits, I realized I needed corner cut outs for the upright T-fittings.
  • Use a 1 1/2" forstner bit to cut the corners away with a drill press.
  • Round off the top and bottom of the protruding "shelf" section with a router bit. In my case a 3/8" radius bit with a bearing worked great.
  • Test if it fits. Fix it if it doesn't.
  • Sand, sand, sand. By hand working yourself from 120 grit up to at least 400 grit. It needs to feel like smooth awesomeness.
  • Identify the location of the monitor's floor flange. Confirm that the cable length can reach the monitor driver board and plug in.
  • Mark the location and drill a hole that allows threading the monitor cable and connectors through it.
  • Align the monitor and mark the locations for the screws first with pencil, then with a center punch.
  • Measure the core diameter of the screws and select an appropriate drill.
  • Drill the holes with a drill press.
  • Finish the wood with a finish of your choice and let it dry. I chose Danish Oil with walnut color. I thought it needed to be a little bit darker than the original beetle kill color for a steam punk look.

STEP 8: Computer and Monitor Board

In this step we are putting the electronics together and fit them into the wooden base. While this appears to be a sequential step it is rather one of the first steps. You obviously have to think ahead, know the size of the monitor driver and raspberry pi boards, make the base large enough to fit them, and then design and build the pipe frame and the wood around them.

  • You can plug the boards together with an HDMI connector. This connector replaces the HDMI cable and allows for the smallest possible foot print.
  • You may have to line up the connectors by placing one board facing up and the other one down. That worked well for this built as the monitor board needed to face the cable coming from the monitor.
  • Adjust the height of the boards with standoffs. You can use extra long screws to figure out what height offset you need. Then it works best to use standoffs of the appropriate length.
  • Screw the standoff onto the boards and them glue them into wood base with the epoxy glue. After the glue is dried you can simply unscrew the boards whenever needed.
  • The monitor board comes with a control board that allows to switch the monitor power off and adjust a whole number of settings. Glue this board with standoffs onto the monitor board. This fit in my case perfectly into the height of the wood base.
  • The monitor board used was powered with 12V 2A DC wall wart. The raspberry pi needs 5V and up to 2.5A depending on the model. Rather than having two power supplies plugged into the frame, purchase a 12V 4A DC supply for both.
  • Make a small 7805 voltage regulator board with noise caps at inlet and outlet. Insulate the end and drill a hole to fasten it using one of the screws for the raspberry pi board.
  • Connect a cable to jack for the 12V input and solder it to the monitor board as well as to the 5V regulator input.
  • Solder the output of the 5V regulator to the proper locations at the raspberry pi (see pictures).
  • The voltage regulator will get hot when it has to regulate 7V down at 1A or more. This is obviously 7W in heat. It will need a heat sink.
  • Take a piece of metal and cut it with snips to length. I used a piece that was leftover from an HVAC metal strip. Make it as long as possible to fit in the wooden base. My first one was short and got really hot. So I had to make a longer later one when I was testing the setup.
  • Drill a hole in it and mount it with thermal grease on the regulator using a screw and a nut.
  • Bent it if needed to clear all the other parts in the build without protruding from the wood base.
  • For the shutdown switch I needed three RPI contacts, 3.3V, ground, and an input pin. I chose the pins marked in the pinout picture for my built.
  • Cut all other pins short. While it almost hurt to do so, they are not needed for this application.
  • Due to space restrictions I bent the three pins over to make more space for the homemade momentary switches.
  • Connect a 10k and a 1k resistor to each other and then solder the end of 10k to the ground and that of the 1k to the GPIO pin, as shown in the pictures.
  • They will be connected to the shutdown switch in the next step.

STEP 9: Control Buttons

In this step we'll be building custom made momentary buttons and an on/off turn switch in the steam punk theme.

But first some explanations on the functionality of the 2x momentary buttons and 1x on/off switch:

  • A momentary button will be used to switch the monitor off for the night. When pressed, the monitor goes dark. When pressed again, the monitor lights up again. Pressing or not, the raspberry pi will remain powered on and running since it needs to download the new batch of pictures during the night.
  • A second momentary button is used as the shutdown button. When pressed, it triggers a shutdown sequence program in the raspberry pi. The pi is listening continuously to the input at the GPIO pin that is used for this button (GPIO 17).
  • After a shutdown the computer is off, but it remains connected to power. To safely disconnect it from power (in case you are going on a vacation or want to disconnect the frame) or to restart it again, you need an on/off switch. Turn the on/off switch to cut power from the device after it had been shutdown. Turn it again to start up the computer again.
  • Failing to shut down the raspberry pi properly could damage the SD card and cause the raspberry pi to malfunction. Be aware as this creates a bunch of extra work to it up and running again. Always make a backup of your SD card.

Momentary Bullet Buttons

  • One day during tinker night one of my fellow "Faraday Cage Fighters" had some used brass shells laying around in a corner of his shop. I liked the brass feel of them and he donated a variety of sizes for my frame.
  • It took some thinking and some testing, but soon enough I came up with a way on how to use the shells as button knobs.
  • The schematic shown in the pictures shows how the buttons work:
    • When pressing the shell, a spring is compressed and a screw moved through a small hole.
    • The screw pushes a regular momentary switch and engages it.
    • The switch is held with a bracket in place capable to provide the counter pressure.
    • A nut will keep the screw and button in place and the spring will push the shell back out into starting position when the shell is not pressed.
  • For the implementation, choose all the items you'd like to use as controls. I picked two bullet shells with 10mm diameter and one 1/2 in. pipe cap for momentary switches and a rotary on/off switch, respectively.
  • Consider the spacing inside your wooden base and choose the area for the controls. In my design one end of the wood base was left accessible from the outside. This side holds the controls. This was the side my buttons had to go.
  • Place the shells and cap on that side and decide on the final spacing. Mark it all down or record it carefully.
  • Glue long 10-24 screws into the shells using epoxy glue. Align them carefully. The threads need to protrude out of the shell by at least 1 in. If they are longer, that's ok, we'll cut them to length later. I filled the allen screw head with epoxy before assembly to avoid air pockets and get a good surface contact of the glue.
  • Let it dry. You can help with the alignment by drilling 1/2 in. deep clearance holes for the bullets and through holes for the screws in a piece of 3/4 in. scrap wood. Insert the glued assembly and let it dry in place.
  • Find springs that fit inside the shell, but are longer than the shell. I stretched mine a little just by pulling them apart.
  • Through testing I realized that I'll get best results when using a 3/4 in. piece of wood. 1/2 in. deep hole for the bullet (to guide the bullet well and prevent wobbling) and a through hole for the screw in the center of the larger hole. The side wall that I had for the controls was only 1/4 in. thick. I reinforced the section needed for the momentary bullet buttons with a small 1/2 in. thick piece of scrap wood.
    • Cut the wood.
    • Sand a nice radius into one side so it fit to the inside radius the router bit left behind.
    • Glue it into place with wood glue and a clamp.
  • Using a drill press, drill a clearance hole for the bullet shell (>10 mm) with a depth of 1/2 in. and a clearance through hole for the screw in the center.
  • Insert the screws together with bullets and spring into the hole and judge with the nut you are using what the height of the bracket approximately needs to be.
  • Find some scrap metal material. I had some steel perforated sheet metal.
  • Use some snips to cut a strip and start bending it with a vice, a hammer and some wood scraps as closely as possible to the required height to accommodate the nut and the height of the micro button switch.
  • Cut the brackets to the smallest size possible.
  • Glue some plastic onto the bracket to avoid accidental contacts of the switch leads to the bracket. I used some arbitrary plastic found in my recycling bin.
  • Solder wires to the micro button switches then glue them in place using a clothes pin or alligator clips.
  • Stick the bullet button without the spring into the hole, Press through the end and hold the nut you like to use next to it. Also (not shown) hold the bracket with the actual momentary button next to it. Mark the location where you have to cut the screw.
  • Cut the screws to length. I used a piece of scrap wood that I had drilled the holes in as a holder and cut it with a Dremel and cutting disk.
  • Assemble everything, hold the bracked with the momentary switch against it and adjust the position of the nut until the button works. Turn the bullet 360 degrees and insure in intervals that it works reliably at every degree of rotation. You can use the beeping function or in better words the continuity tester of your voltmeter for this test.
    • Adjust the nut if you have problems
    • Glue the nut into place if you have the right location.
  • Glue or screw the brackets into place.

STEP 10: Rotary Switch

  • Find a rotary switch of small dimensions that can handle the total currents of your setup.
    • The monitor board required a 12V / 2A power supply.
    • The raspberry pi is recommended to have a 5V / 2A supply.
    • I tried to find a 12V / 4A panel mount switch to shut both off at the same time.
    • This switch seemed perfect to me with respect to size and specifications.
  • Confirm the hole location after receiving the switch.
  • Measure the outside diameter of the mounting thread of the switch.
  • Drill clearance hole into the correct location with a drill press.
  • My switch came with a plastic knob. By pure luck the knob fit perfectly into the threads of the pipe cap. Lucky me.
  • Push the knob all the way onto the shaft of the switch.
  • Measure the distance d between pipe cap and wood.
  • Take the switch out and with a dremel cut "d-1.5mm" off the top of the shaft and deburr.
  • Fill the pipe cap with a good amount of epoxy and screw / press the plastic knob into it.
  • For good measure, ensure the alignment is right so that the cap turns on the switch without touching the wood anywhere.
  • Ensure that it stays as you want it to be and let it dry.

STEP 11: Final Assembly

In this step we'll tie it all together and get the assembly of monitor, power supply and computer functional and ready for testing.

  • If you haven't done so yet, glue the brackets with the micro switches exactly behind the bullet buttons.
  • Solder the cables from the monitor on/off bullet in parallel to the power on/off of the small monitor control board.
  • Whenever possible slide shrink tubing on the cables you are going to solder on.
  • Solder the power cables that go to the small regulator board and to the jack to the rotary switch.
  • Solder the jack to the power cables coming from the rotary switch.
  • Solder the cable from the shutdown bullet button to the resistors and the ground of the raspberry pi.
  • Shrink the shrink tubing of all connections.
  • Put the rotary switch in place and route the cables.

STEP 12: Functionality Test and Last Fixes

In this step we are testing the functionality, bring the computer up to date and fix the last things before we assemble it hopefully for the last time.

  • Connect an ethernet cable with internet on it and a usb keyboard to the raspberry pi.
  • Start the pi by switching on the power.
  • Check if the computer starts up and if the monitor shows a picture. (I am assuming you have gone through the software setup described in the downloadable txt file of step 2.)
  • Press escape to see the command line of the pi.
  • Update your pi to the latest version with:
    • sudo apt-get update
    • sudo apt-get upgrade
  • Test the monitor on/off bullet button. Switch the monitor off, then on again. Trouble shoot until it works.
  • Test the monitor shutdown bullet button. Shut down the computer with it. Trouble shoot until it works.
  • Once the computer is shut down, test the rotary switch. Restart the pi by turning the rotary first to power off the frame entirely, then switch it back on.
  • During the update which took quite a while for my raspberry pi, I noticed that the heat sink got pretty hot. I decided to make a larger one with more cooling capabilities.
    • Measure out the available space in the wood base for the heat sink.
    • Cut a piece of material for the heat sink.
    • Bend it at the appropriate angle using a vice.
    • The piece of metal I had was bent back on itself on both sides. I opened an airgap to allow for more cooling.
    • Mark the spot for the hole and center punch it.
    • Drill it out.
    • Dab thermal grease on the voltage regulator.
    • Screw the heat sink in place.
  • After everything was updated and confirmed working I glued the power jack into place and carefully mounted the boards into their spaces.

STEP 13: Final Thoughts

Thanks for hanging on for the entire instructable.

The built was quite a process and took some unexpected turns. For example when I realized that I couldn't screw on the last threading of the black pipe. It's obviously the little things that matter at times.

In any way, in retrospect I'd give myself at least a half inch extra in each direction.

Here some thanks to my fellow "Faraday Cage Fighters". Thanks for the good company, the consulting and for helping out with one or the other tools that I happen to not have. (One day I'll have them all, I promise.)

All in all I am very happy how the frame looks and feels. Another great little gadget to have around.

I am looking forward to your comments and questions.

Tschöhö

Superbender