Creality Ender-3 ButtonBox 3d model
3dmdb logo
Thingiverse
Creality Ender-3 ButtonBox

Creality Ender-3 ButtonBox

by Thingiverse
Last crawled date: 5 years, 11 months ago
UPDATES:
19/12/2019: Resume is done via LCD in the M600 command when ADVANCED_PAUSE_FEATURE is enabled in marlin. I will be thinking of another button and function to take it's place. More GCODE examples are added.
18/12/2019: 10 button version is uploaded! Also, both versions now have the option to add the tool tray.

Ender-3 ButtonBox
This is for the people who prefer to use Ctrl+S over jumping into menus to save something. On my Ender-3 I got tired of scrolling through the LCD menu to use basic functions like homing all axes, preheating for PLA and firing up filament loading and unloading scripts. I needed a quicker and simpler solution to perform these tasks so I could focus on slicing and printing actual models. What is more basic than some good old push-buttons?
Feel free to remix it as you wish. It would be nice if you upload the remix so we can all benefit. Also feel free to comment with button ideas, ideas in general or your custom GCODE scripts so I can add them to the example document.
CREDITS:
The button mechanism is based on a design by rublin (thing:1850685).
The tray is based on a design by BlaiseD (thing:4032383), which is based on a by Kiesling (thing:3577931)

How does it work?
A couple of push-buttons as inputs for a Raspberry Pi running Octoprint
Inputs are processed by the Octoprint-Enclosure plugin to activate an output. In this case send your own GCODE to the printer (https://plugins.octoprint.org/plugins/enclosure/)
The printer does what you want it to do (hopefully)

What do you need?
Check the images for which files you need for your preferred setup
4x M3 bolts (5-15 mm long)
If you want a tray: 2x M3 bolts (more than 23mm long) & 2x M3 (lock)nuts
Printed buttons
Tactile push-buttons (6x6x5mm)

How to make it? (see images for visuals)
Print the parts for your setup (see images for which parts you need)
Insert the tactile push-buttons (can be a little tight so you might need some post processing)
Connect one end of all push-buttons together
Via a current limiting resistor (resistance does not really matter, I used 1k Ohm) connect this side to the 3V3 of the Raspberry Pi
Connect the other ends of the push-buttons each to a separate GPIO pin of the Raspberry Pi (remember which goes to which)
Bolt the parts as shown in the images (bolt the tray to the cover using M3 bolts and nuts through the 2 holes)
Install the Octoprint-Enclosure plugin in Octoprint (https://plugins.octoprint.org/plugins/enclosure/)
Define your outputs (for example GCODE scripts and the ones I use, see the file section)
Define your inputs as GPIO Inputs (Output Control, Input Pulldown, Rise) and associate them with a corresponding output
Print the button parts. To get the orange icon inlays like on mine, I lined up the orange icons with the black button parts in the slicer, printed the orange part first (one layer) and then over that printed the rest in black. For more detail on how to do that check out the "First Layer Inlay" section of this article: https://www.matterhackers.com/articles/how-to-print-two-colors-with-one-nozzle
Insert these printed buttons in the right places and you are done!

How to make your own buttons? (see images for visuals)
Take one of the two blank button files depending on whether you prefer round or square or create your own shape on the button mechanism
If you want an inlay, design an icon and make it as high as your first layer height
Cut the icon shape out of the button (boolean operation)
Like described earlier, print the inlay first and over that the rest of the button by lining them up in your slicer
You can also just write on them or stick some paper or a sticker on them

Disclaimer: This was a quick little project I did because I found a need for it. A lot of people on the Ender-3 Facebook group liked it, so therefore this Thingiverse upload. For those who want to edit the files, the topology is less than optimal for this reason.

Tags