-
Notifications
You must be signed in to change notification settings - Fork 3
Communication Protocol
Rabbit GRBL communicates through either a serial interface or a WiFi network connection.
All interaction with the controller is performed using the same GRBL-compatible text protocol, whether the connection is made over a serial port (USB-to-Serial) or over TCP via WiFi.
When connected over USB, the controller appears on the host system as a standard COM port.
When connected over WiFi, the controller is accessible through its IP address and TCP port.
Rabbit GRBL’s communication protocol is deterministic, text-based, and fully compatible with GRBL 1.1-style communication, enabling standard G-code senders to communicate without modification.
Rabbit GRBL supports the following communication methods:
- USB-to-Serial
- WiFi / TCP
Both interfaces use the same command syntax and response format.
Serial communication is text-based and follows a simple request–response model:
- The host (G-code sender, terminal, or custom software) sends ASCII commands.
- Rabbit GRBL parses the incoming line.
- The controller responds with a status message, result (
ok/error:), or structured feedback.
Typical serial parameters:
- Baud rate: 115200
- Data bits: 8
- Parity: None
- Stop bits: 1
(8N1 configuration)
Starting from Rabbit GRBL v1.6.0, Rabbit GRBL can also communicate over a WiFi network.
Once WiFi is configured and enabled, the controller becomes reachable over TCP using its assigned IP address.
Typical WiFi connection parameters:
- Protocol: TCP
- Default TCP port: 5001
The host software connects to the controller using:
- IP address assigned by your router
-
TCP port
5001by default
WiFi communication uses the same line-based GRBL-compatible protocol as the serial interface.
All commands and responses are line-based.
Each message must be terminated with a newline character:
\n
In most systems this corresponds to:
-
LF(Line Feed,\n) - or
CR+LF(\r\n)
Rabbit GRBL processes input only after receiving the newline character.
If a newline is not sent, the command will not be executed.
Sending:
G0 X10\n
Rabbit GRBL will respond:
ok\n
- One command per line
- Commands are case-insensitive
- Each line must end with
\n - The controller replies after each complete line
These rules apply to both Serial and WiFi/TCP communication.
In addition to line-based commands, Rabbit GRBL also supports single-character real-time commands (such as ?, ~, !) which do not require a newline and are processed immediately.
These real-time commands are supported across the communication interface in use, provided the client transmits them correctly.
Read more here--> https://github.com/SourceRabbit/RabbitGRBL/wiki/Real-Time-Commands
Copyright (C) Nikolaos Siatras / SourceRabbit
Rabbit GRBL is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later).
See the LICENSE file in the repository for full license text.
SourceRabbit® is a trademark of Nikolaos Siatras.
All other trademarks are property of their respective owners.