James B

3x4 and 4x4 Keypad Controller For Octoprint or CNC

by
JiMaker
Follow
Follow
Remix Model
JiMaker
JiMaker
|
Image 7 of 18
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
JiMaker
JiMaker
|
Image 7 of 18
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
2D
3D
Makes
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
3x4 and 4x4 Keypad Controller For Octoprint or CNC 3d model
This model is restricted by licensing terms. 

Model originally uploaded to Thingiverse at https://www.thingiverse.com/thing:3815645.

Overview

Ergonomic case for 3x4 or 4x4 membrane keypad to be used for 3D Printer Controls. All parts were printed in ABS except for KeypadBottom printed in TPU for grip. Print each file once and assemble. I'm using this connected directly to the Raspberry Pi GPIO pins with no additional electronics. I wrote an Octoprint plugin to interface with my printer, but my Python skills are limited and do not have full customization built into the plug-in yet.

Hardware Required:
  • 4x M3 Heat-Set Inserts
  • 4x M3 x 8-10mm Cap Head Screws
  • 3x4 or 4x4 Membrane Keypad
  • CAT6 or CAT5E (Sacrificed Patch cable recommended for more flexible cable)
  • Male-Male Header Pins
  • 2.54mm Single Row Female Headers (7-pin for 3x4, 8-pin for 4x4)
Octoprint Plug-In (WIP)
  • Not currently in the Octoprint Plug-In Repository, needs Python 3 conversion, which shouldn't be a problem I just haven't had the time. If anyone likes this idea and has the skills feel free to take it over or branch it.

  • Download Github repository and put into a folder called Octoprint-MembraneKeypad in your Octoprint plug-ins folder

  • Click Here For GitHub Repository

  • Once installed after restarting Octoprint you can find in the Settings page > Advanced options to change the default raspberry pi pins used by the keypad (just in case you are already using these pins for something else)

  • Requires RPi.GPIO and pad4pi python libraries installed by:

    • pip install RPi.GPIO
    • pip install pad4pi
Keypad Default Functions:

Other Notes
  • You can change the functionality or keys used for each function in init.py under "def pressKey(self, key)" by changing if key == 6: for example to a different number or symbol corresponding to the keypad.

  • It should be possible to change to a 4x4 matrix keypad by finding and replacing in init.py:

KPad = [ [1, 2, 3, 'A'], [4, 5, 6, 'B'], [7, 8, 9, 'C'], ['*', 0, '#', 'D'] ] Row_Pins = [self.RP1, self.RP2, self.RP3, self.RP4] Col_Pins = [self.CP1, self.CP2, self.CP3, PIN # HERE] Replace 'PIN # HERE' with the corresponding extra Coluimn Pin # Then in the keyPress function just add another elif key == 'A': for example with function underneath Updates / Changes
  • 4/25/2020: Updated GitHub repository, added instructions for testing plug-in

1 Likes1 DownloadsJune 30, 2023


1 Likes1 DownloadsJune 30, 2023
This model is restricted by licensing terms.