Introduction: OctoPrint Touchscreen Controller

Hello all Instructable Readers!!,

I made a housing for a touchscreen with a mount for the Raspberry Pi to serve as an OctoPrint Controller. I keep it next to my 3d Printer, or my laser cutter which also runs OctoPrint) for easy local control. It's super handy. And you can make one too!!

Step 1: Set Up OctoPi and Gather Materials

I figure there's really no sense in re-explaining the steps for installing and configuring OctoPrint. Since you're going to want a desktop environment, you'll need to set it up ever so slightly, but it's explained here:

Basically it's the latest build with the following code added:

sudo ./scripts/install-desktop

After configuring your RasPi with OctoPrint it's cleanest to set up the touchscreen just to make sure it works.

This is the touchscreen that I used that this Instructable is set up for:

It's also a good time to gather up all of the rest of the materials. Here's all of what I used (BTW, these are affiliate links, if you use these you'll be showing my some support and I'd greatly appreciate it):

Raspberry Pi 3:

Barrel Connector:


Toggle Switch:

Terminal Jack:

Power Supply:

4-40 Screw Assortment:

4-40 Tap Set:

HDMI Adapters (I didn't use this, but you may want to, more on this in a bit):

Step 2: Print Out Walls and Assemble

Print out the pieces from this Thingiverse Link:

I uploaded to Thingi such that you can select a couple different options. Easiest of all is to print the 5 sided piece with the holes for the linked pieces in the previous step.

Mount the barrel connector into the slot; it's intentionally a pretty tight fit. Use two distribution blocks one for + and one for - of the 5V to provide voltage for raspi, touchscreen and fan. All you have to to do is bring the wires from each piece and screw them into the block. I snipped off the end of a usb cord and stripped out the red and black wires.

Add front Switch if you'd like (I use it to turn off the screen and raspi when i'm not planning on printing for a while). I put the switch between the black from from the power supply and the terminal block. Mount the fan (if you decide to use one, I'm not sure how entirely necessary it is to have one.) I left it straight to the terminal blocks so when the switch is one the fan is on regardless of printing or anything.

Pre-mount the daughterboards on the VGA Adapter STL.

Slide the VGA Adapter board STL with all mounted equipment and toucscreen itself into front slots.Insert the two HDMI ends through the top and connect before fully connecting top to rest of box. (This is where you could use the adapters to completely conceal the HDMI controller inside the box.)

Flip the switch and enjoy local control!!

Step 3: Couple Thoughts and Notes

I almost always run a wide nozzle. For this print I was using a .8mm nozzle and at .4 layer heights and it was still an ~11 hour print, but it came out awesome. I use the heck out of this thing.

Supports are pretty minimal, only the span across the front for a switch and the mounts. I used PLA; I haven't found the heat to be too much for it.

I also installed TouchUI, shown in the image from this step, as an add-on to OctoPrint (I alternate between using it or not because I like the full access of the regular view.)

I made a Laser Engraver Controller, which you can read about here:

And on this one I added a relay board to turn on LEDs and fans inside my laser shielding box. it could be pretty easily added into the OctoPrint Controller as well.

This is my first instructable, hope y'all like it!! Check out my blog for more of my projects:


DIY Hacks and How Tos (author)2017-09-10

Great first Instructable. Very well written. Good luck in the First Time Authors contest.