Creality Ender-3 ButtonBox (for OctoPrint) 3D Printer Model

Author: @
License: CC BY-NC
File formats: stl,txt
Download type: zip
Size:962.0KB

The file 'Creality Ender-3 ButtonBox (for OctoPrint) 3D Printer Model' is (stl,txt) file type, size is 962.0KB.

Summary

SEE ALSO:

Universal Buttonbox (for example for enclosures)
Now also on Printables (Check it out if you are not familiar with Printables. It has a lot of potential to become the next big platform for 3D printable models and designs)

UPDATES:

22/03/2022:
Cold extrusion checking is now avoided during filament loading and unloading in the example GCODE scripts by disabling it, doing the load/unload and enabling it again.

19/06/2020:
After feedback, the 4_E3-BB_10Buttons_Mount.stl was modified to remove overlapping geometry as it was giving slicing problems in S3D.

19/12/2019: Resume is done via LCD in the M600 command when ADVANCED_PAUSE_FEATURE is enabled in marlin. I rotated the button and used it as filament retract button (for cold pull for example). More GCODE examples are added.


Ender-3 ButtonBox (for OctoPrint)

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?

  1. A couple of push-buttons as inputs for a Raspberry Pi running Octoprint
  2. 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/)
  3. 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)

  1. Print the parts for your setup (see images for which parts you need)
  2. Insert the tactile push-buttons (can be a little tight so you might need some post processing)
  3. Connect one end of all push-buttons together
  4. Via a current limiting resistor (resistance does not really matter, I used 1k Ohm) connect this side to the 3V3 of the Raspberry Pi
  5. Connect the other ends of the push-buttons each to a separate GPIO pin of the Raspberry Pi (remember which goes to which)

  6. Bolt the parts as shown in the images (bolt the tray to the cover using M3 bolts and nuts through the 2 holes)
  7. Install the Octoprint-Enclosure plugin in Octoprint (https://plugins.octoprint.org/plugins/enclosure/)
  8. Define your outputs (for example GCODE scripts and the ones I use, see the file section)
  9. Define your inputs as GPIO Inputs (Output Control, Input Pulldown, Rise) and associate them with a corresponding output

  10. 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
  11. Insert these printed buttons in the right places and you are done!


How to make your own buttons? (see images for visuals)

  1. 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
  2. If you want an inlay, design an icon and make it as high as your first layer height
  3. Cut the icon shape out of the button (boolean operation)
  4. Like described earlier, print the inlay first and over that the rest of the button by lining them up in your slicer
  5. 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.

1_E3-BB_5Buttons_Mount.stl 220.2KB
2_E3-BB_5Buttons_CoverNoTray.stl 194.9KB
3_E3-BB_5Buttons_CoverWithTray.stl 207.8KB
4_E3-BB_10Buttons_Mount.stl 205.4KB
5_E3-BB_10Buttons_CoverNoTray.stl 232.1KB
6_E3-BB_10Buttons_CoverWIthTray.stl 245.0KB
7_E3-BB_BlankButton_Square.stl 25.3KB
8_E3-BB_BlankButton_Round.stl 25.3KB
9_E3-BB_Tray.stl 142.2KB
E3-BB_My10Buttons.stl 760.9KB
E3-BB_My10Inlays.stl 508.1KB
E3-BB_My5Buttons.stl 361.5KB
E3-BB_My5Inlays.stl 234.1KB
Example_GCODE_Scripts.txt 2.1KB