Here is a very useful DIY 3d printable control unit that can send custom g-code scripts and macros via 32 programmable keys. It can be used on almost any machine that uses g code, like CNC mills, 3d printers, laser cutters and other. It is powered with Arduino Nano.
The "Gcode Sender" was developed and released by James Sierra. Here is his description of the project:
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.
All files and instructions to make it yourself can be found at:
http://www.thingiverse.com/thing:2105847