GRBL GRBL32 6-Axis CNC/Robotics Controller F46 – 550KHz


6-Axis 32-bit ARM based CNC and Robotics Controller. STM32F407.

SKU: G32F46 Category:

The F46 is well suited for complex CNC or Robotics where motion control requires more than 3 coordinated axis of motion. Advanced features include: high pulse rate (550+ KHz), additional PWM (8X), digital inputs (8X), and digital outputs (8X). Additional controls are available via I2C and SPI. Applications include CNC, Pick-and-Place, and Robotics. With the faster pulse rate, more advanced stepper drivers can be used (featuring up to 256 micro-steps/full-step) without sacrificing feed rate.

The F46 is running GRBL32 (an upgrade from the popular GRBL firmware running on an Arduino 328p processor). The GRBL32 firmware is a fork from GRBL version 1.1f, running on the 32-bit STM32F407VET6. With a 32-bit Arm Cortex-M4 core overclocked to 240MHz, the STM32F407VET6 (192kB RAM, 512kB flash) brings professional grade CNC control to the world of GRBL.

The hardware design for the F46 features 12 RJ-45 “ethernet” connectors for connection to all peripherals. Connections for each axis go through one RJ-45, featuring 9-pins (including shield); allowing more flexible setup for larger systems with longer cable runs. Wiring through flexing cable carriers (chain) is simpler with industry standard flat CAT-7 cables. CAT-5 and CAT-6 cables can be used where the shield connection is not required. CAT-7 is recommended for longer cable run. With CAT-7, cable length of up to 10 meters has been tested.

F46 with Enhanced GRBL32 features:

  1. 6-axis of coordinated motion. The axis are: XYZ ABC.
  2. Up to 550KHz pulse rate for each axis while under 6-axis coordinated motion, 750KHz max pulse rate when running 3-axis or less (more than an order of magnitude from 30KHz for Arduino based GRBL).
  3. Smoother Acceleration/Deceleration (0.2 ms accel/decel step).
  4. 240MHz timer for flexible PWM output control (Spindle or Laser). Default is 10KHz PWM at better than 14-bit resolution : 24000 steps in the 0 to 5V range.
  5. Multiple connectivity options: USB (onboard CH340), External UART, WiFi (ESP-01), or Raspberry Pi Zero W (WiFi). Running at 921600 baud-rate (115200 firmware available).
  6. Separate input pins for positive and negative travel limit switches for each axis, allowing the use of active high optical photo-interrupters (typical GRBL systems have both limit switches on one input pin).
  7. Eight (8) AUX TTL outputs (M-Code control: M62, M63)
  8. Eight (8) Digital Inputs (wait for input M-Code control: M66)
  9. Eight (8) additional PWM outputs. One application is driving PPM devices such as RC Servo motors (M-Code control: M67)
  10. Custom Acceleration Scaling (custom M-Code control: M100), allow in-code changes in the acceleration parameter for each axis individually.
  11. I2C and SPI Controls for expansion (via M-Code controls).

See here for standard GRBL features.

Connection breakout modules:

  • To Motor Drivers : AD1, AD2, AB1.
  • To PWM Devices: PW4, BB1.
  • To Digital Outputs, I2C/SPI, Spindle Control, CNC Control: BB1.


Demo Video

GRBL GRBL32 6-Axis CNC/Robotics Controller F46 – 550KHz


3.92 x 3.92 in. (100 x 100mm)


STM32F407VET6 overclocked to 240MHz

Maximum Pulse Rate

550 KHz under 6-axes motion, 750 KHz under 3-axes motion

Peripheral Connections

RJ-45 for output to breakout boards for Spindle Control, PWM Outputs, Digital Outputs, SPI and I2C Interface. Male pin header for Digital Input. 10-pin Female Header for Raspberry Pi Zero W. 8-pin Female Hader for WiFi.

Stepper Driver Connection

RJ-45 for Axis. Breakout boards available for Pololu-style driver or External driver.


6V to 12V DC. 5.5 * 2.1 mm tip positive connector.


USB mini (on-board CH340). Optional Raspberry Pi Zero W, WiFi ESP-01. External UART via header pins. 921.6K baud-rate standard. 115.2K optional.

Programming Interface

Serial Wire Debug (SWD) pins using the USB ST-Link V2 programmer.

Scroll to top