Skip to content

Communication Protocol

Nikos Siatras edited this page Feb 22, 2026 · 3 revisions

Rabbit GRBL communicates through a serial interface.
All interaction with the controller is performed over a serial port (USB-to-Serial), which appears on the host system as a standard COM port.

Rabbit GRBL’s serial protocol is deterministic, text-based, and fully compatible with GRBL 1.1-style communication, enabling standard G-code senders to communicate without modification.

Serial Communication

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)

Message Format

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.

Example

Sending:

G0 X10\n

Rabbit GRBL will respond:

ok\n

Key Rules

  • One command per line
  • Commands are case-insensitive
  • Each line must end with \n
  • The controller replies after each complete line

Real-Time Commands

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.

Clone this wiki locally