
I did also look at Github but to be quite honest it confused the hell out of me so i might just update the instructable (If you want to put it up on Github be my guest). it might be usefull for me to put up a video of how I use the keypad so people can see all the functions. If I remember correctly that is why I had to put the serial.end command after every button push. It may not be a big issue for you as you are only using it to test limits switches but I find it usefull for setting my datum points (ie z 0 by moving the cutter down till it touches the surface using the keypad). it also means I can mix button pushes with commands from the software. my program also links to the grbl software (In my case BCNC and Laser GRBL) and displays the x,y and z coordinates on screen as it moves from keypad presses. I think i have noticed one difference between your program and mine.

I also have a Guzzi (750 Breva) not as classic as yours. I really like you talky toaster, Red Dwarf is one of my favourite series. There is some slight delays when you push the axis movement buttons in quick succession. You will quickly pick up by looking at the code that I am not a programmers arsehole so if you can improve the code please feel free to do so. I use BCNC as my software controller and it works well for that. (I think it is to do with the ground connection). You must plug the GRBL controller and the arduino into connected usb ports for it to work (either both into the computer if you want to use the offline controller and a g code program together or into a powered USB powerpoint if you want to just use the controller by itself). You need to load the arduino code (Attached) and you are good to go for testing it out. The SCL pin goes to A5 pin on the Arduino Nano The SDA pin goes to A4 pin on the Arduino Nano THe GND pin goes to the ground pin on the arduino Nano

VCC goes to the 5 volt connection on the arduino Nano There are 4 connections on the back of the the lcd screen
