Grbl is open source firmware voor een cnc-machine of 3D-printer. Een voorbeeld van een cnc-machine waarin Grbl gebruikt wordt is de in China gemaakte 3018. Grbl draait op een microcontroller of Arduino. Grbl accepteert opdrachten die via een usb-poort (emulatie seriële poort) worden aangeboden vanuit een pc waarop een programma draait zoals Grblcontrol, Candle of UGS en stuurt de stappenmotoren van de machine aan. De opdrachten, ook wel genoemd G-code, betreffen o.a. het uitvoeren van een beweging in X, Y of Z-richting en het aan- of uitzetten van de spindel-motor. Grbl heeft een kleine buffer voor enkele opdrachten vooruit maar het gehele programma bevindt zich normaliter op de pc. Losse opdrachten kunnen ook door de gebruiker rechtstreeks worden ingevoerd. Grbl meldt voortdurend de actuele toestand (waaronder de actuele positie) terug aan de pc.
Opdrachten die Grbl accepteert zijn:
G0: Snelle beweging G1: Beweging met een gecontroleerde snelheid in een rechte lijn G2: Kloksgewijze beweging in een cirkelsegment G3: Beweging in een cirkelsegment tegen de klok in G4: Pauze G10 L2: Instellen werkcoördinaten voor G54 t/m G59 G10 L20: Instellen werkcoördinaten; huidige positie wordt de opgegeven positie G17: Werken in het x-y vlak G18: Werken in het x-z vlak G19: Werken in het y-z vlak G20: Werken in inch G21: Werken in mm G28, G30: Ga naar voorgedefinieerde positie G28.1, G30.1: Definieer een positie G38.2: Voelen waar het werkstuk zich bevindt (Probing) G38.3, G38.4, G38.5: Probing G40: Uitschakelen compensatie snijstraal G43.1, G49: Dynamische gereedschaplengteoffset G53: Werk in absolute coordinaten G54, G55, G56, G57, G58, G59: Werk-coordinaatsystemen G61: Padbesturingsmodus G80: Opheffen bewegingsmodus G90: Absolute modus G91: Incrementele modus G91.1: Incrementele modus voor parameters I, J en K G92 en G92.1: Instellen van de oorsprong van het coördinatensysteem G93, G94: Instellen van de snelheid van beweging M0, M2, M30: Programma pauzeren en beëindigen M3: Spindelmotor aan, beweging met de wijzers van de klok mee M4: Spindelmotor aan, beweging tegen de wijzers van de klok in M5: Spindelmotor uit M7: Koelnevel aan (opdracht alleen beschikbaar indien indien aangezet in de code) M8: Koelmiddel aan M9: Koelmiddel en -nevel uit M56: Parking Motion Override Control (indien aangezet in de code)
Grbl is tussen 2009 en 2019 geschreven in C door Simen Svale Skogsrud en Sungeun "Sonny" Jeon Ph.D.
Externe links De actuele versie van Grbl (1.1) is beschikbaar op Github. Zie ook de uitgebreide beschrijving van G-codes op: .
Categorie:Software geschreven in C Categorie:Software in het publiek domein