1 GRBL and G-code
2 Incompatible platorm for open-grbl
Here is the file structure for GRBL, this is for newest release of 1.1, previous version shows a little difference.
grbl
├── config.h
├── coolant_control.c
├── coolant_control.h
├── cpu_map
│ ├── cpu_map_atmega2560.h
│ └── cpu_map_atmega328p.h
├── cpu_map.h
├── defaults
│ ├── defaults_generic.h
│ └── ...
├── defaults.h
├── eeprom.c
├── eeprom.h
├── examples
│ └── ...
├── gcode.c
├── gcode.h
├── grbl.h
├── limits.c
├── limits.h
├── main.c
├── motion_control.c
├── motion_control.h
├── nuts_bolts.c
├── nuts_bolts.h
├── planner.c
├── planner.h
├── print.c
├── print.h
├── probe.c
├── probe.h
├── protocol.c
├── protocol.h
├── report.c
├── report.h
├── serial.c
├── serial.h
├── settings.c
├── settings.h
├── spindle_control.c
├── spindle_control.h
├── stepper.c
├── stepper.h
├── system.c
└── system.h
While this is for AVR core
and incompatible with SAMD core of MKR,
3 There are good software for g-code sender
One of the popular is laser-grbl
Here is another one engrave master.
It is good start to use one arduino UNO with hex download. This project needs MKR wifi 1010. That would take a great deal time to understand G-code and micro-core for this coding.