Note: A new wireless version can be found here: http://www.thingiverse.com/thing:2313781. Wireless version uses serial bluetooth modules.
This project is very much like using Pronterface or Repetier Host manual control to send gcode instructions to your printer while connected to the computer via USB cable, but instead using an Arduino Nano connected to a small keypad to send the Gcode scripts/macros.
Gcode sender is intended to work for 3D printers as well as a CNC mills and laser engravers. Any machine that uses gcode.
This setup allows one to send highly customized gcode scripts/macros to the printer with a push of a button. I've tested all of the scripts I included in the sketch. Any one of them can be replaced or edited.
In the sketch, i tired to include a lot of comments to make it easier to tweak the code to suit your own needs.
Communication between Gcode Sender and printer is through serial communication (Tx, Rx). On RAMPS style boards the AUX-1 port can be used. Specifics on wiring can be found in the Wiring.zip file. Be sure that Tx out wire on the Gcode Sender is connected to Rx on printer and Rx is connected to Tx. In Repetier firmware, I had to enable Bluetooth serial port to make use of the AUX-1 port.
The STLs print without support. NOTE: The STLs were designed to print with a low infill. The infill is basically the support for the body to keep its shape while printing. Keep the infill low to not waste filament.
Once assembled the Arduino Nano board is hidden inside the STL body in the cavity under the keypads. The kaypads have a sticky backing that is attached to the insert STL. The insert can be later removed (a print removal tools works great) if you need to reprogram the Nano at any time.
Fusion 360 file provided to further tweak the Keypad holder parts. PLEASE DO let me know if you create alternative designs for the Gcode Sender.
- (2x) 16 key 4x4 membrane keypad.
- (1x) Arduino Nano Development Board (it has enough i/o pins for two keypads without any additional shields). 1 keypad can be readily used instead of two.
- (1x) Desired length of 4 wire cable (I used a short piece of Cat5 cable and used the 4 twisted pairs since I had it readily available). To connect Gcode sender to Printer.
- (2x) short 8-pin jumper cables to connect keypads to the Arduino nano board.
Left keypad Explained:
- The idea is to first select which Axis to work with (e.g. x,y,z,e) then select the movement resolution amount (e.g. 0.1, 1, 10, etc), then the movement direction button (+ or -). Movement direction button can be held down to continue movement in that direction.
Big shout out to http://www.thingiverse.com/Slavulj who had a hidden gem on Thingiverse. His design http://www.thingiverse.com/thing:1563410 was the inspiration for this project.
STL Designed in Fusion360. Shetch is an Arduino sketch.