GRBL is general purpose firmware that expects to get G-code supplied to it from an SD card or a PC. It allows a machine such as a 3D printer to do many different jobs. If your machine is going to do a single specialized task, GRBL is probably overkill, although you could likely hardcode the G-Code to command it in progmem.
For your purposes, you can just command the stepper directly and read the buttons and micro-switches in code much simpler than GRBL.
A while back I helped someone here to program a device doing something similar. You might be able to adapt the code, but even if you don't use it directly, it'll illustrate the concept.
Read about it Here.