← All guides
G-code senders comparison - CNC control software interface on computer screen - CNC Dance review

G-Code Senders Compared: UGS vs Candle vs bCNC vs ChiliPeppr

Reviews

A G-code sender is the software that connects your computer to your CNC machine as covered in our Fusion 360 CAM Tutorial. It reads G-code files and sends commands to the motion controller which drives the motors. Without a G-code sender your CNC machine cannot run programs.

There are many G-code sender options available for hobby and small shop CNC users. The best choice depends on your controller type, operating system, and preferred workflow. This guide compares the four most popular G-code senders for GRBL-based machines.

Universal Gcode Sender

Universal Gcode Sender also called UGS is the most popular G-code sender for GRBL controllers. It is open source and runs on Windows, Mac, and Linux. UGS supports GRBL versions 0.8 through 1.1 and the latest GRBL 1.1 with advanced features.

UGS provides a complete control interface including manual jogging, G-code file loading, toolpath visualization, and real-time position display. The toolpath visualization shows the cutter path in 3D which helps verify programs before running them. UGS also supports pendant control for users who prefer a physical control wheel.

The built-in probe functionality supports Z probing, edge finding, and corner finding. These features automate the setup process and improve accuracy. The probe wizard guides through the probing process step by step.

UGS includes a visual editor for basic G-code modifications. The editor highlights syntax errors and shows the toolpath for each command. This is useful for making quick adjustments to programs at the machine without returning to the CAM software.

The main limitation of UGS is its performance on large G-code files. Files with millions of lines can cause lag in the toolpath display and may buffer incorrectly. For most hobby work this is not an issue but production users with complex 3D toolpaths may notice performance problems.

UGS is the best choice for users who want a full-featured sender with broad platform support across Windows, Mac, and Linux systems. It works well for most hobby and small shop applications. The active development community provides regular updates and bug fixes.

Candle

Candle is a lightweight G-code sender designed specifically for GRBL controllers. It has a clean, simple interface that focuses on the essential functions without unnecessary features. Candle runs on Windows only.

The main advantage of Candle is its simplicity. The interface shows the toolpath visualization, position readouts, and control buttons on a single screen. There are no complex menus or configuration screens. This makes Candle the easiest sender for beginners to learn.

Candle supports manual jogging with keyboard shortcuts and a virtual joystick. The jogging controls are responsive and intuitive. The program displays real-time position updates and machine status including feed rate, spindle speed, and limit switch states.

The toolpath visualization in Candle is less detailed than UGS but sufficient for most work. The visualization shows the tool path in 2D and 3D views. The rendering is fast even on older computers.

Candle does not support as many advanced features as UGS. There is no built-in probe wizard or pendant support. The macro functionality is limited. For users who only need basic send and control functionality these limitations are not significant.

Candle is the best choice for beginners who want a simple, reliable sender that just works. It is also good for users who run Candle on dedicated shop computers because the light weight does not slow down the system.

bCNC

bCNC is an advanced G-code sender designed for users who want maximum control over their CNC machine. It runs on Windows, Mac, and Linux. bCNC is written in Python and uses a terminal-style interface.

bCNC offers the most comprehensive feature set of any GRBL sender. It includes advanced probing, auto-leveling, 3D surface mapping, and custom probe macros. The auto-leveling feature probes the workpiece surface and adjusts the toolpath to compensate for surface variations. This is valuable for PCB milling and engraving on uneven surfaces.

The terminal interface in bCNC provides direct access to GRBL commands. Users can send custom commands, view raw responses, and debug communication issues. This level of control is useful for advanced users who need to optimize machine performance.

bCNC supports multiple GRBL controllers connected simultaneously. This allows users to control multiple machines from a single computer. The software can also be controlled remotely over a network connection.

The main disadvantage of bCNC is its complex interface. The terminal-style layout is less intuitive than GUI-based senders. New users may find bCNC difficult to learn. The documentation is also less comprehensive than UGS.

bCNC is the best choice for advanced users who need the full feature set. It is particularly strong for PCB milling and any application that requires surface mapping and compensation.

ChiliPeppr

ChiliPeppr is a web-based G-code sender that runs in a browser. It connects to GRBL controllers through a serial port using the Chrome browser Web Serial API. ChiliPeppr runs on any operating system that supports Chrome.

The web-based approach has advantages. There is no software to install. Updates are automatic. The interface is accessible from any computer with Chrome. ChiliPeppr also includes widgets for probing, job control, and workspace management.

The workspace view in ChiliPeppr shows the toolpath on a virtual work area. The view can be zoomed, panned, and rotated. The job control widget provides start, pause, and stop buttons with feed rate override.

ChiliPeppr supports a modular widget system. Users can add or remove widgets depending on their needs. Available widgets include a probe widget, a tool library widget, and a camera widget for visual verification.

The main limitation of ChiliPeppr is its reliance on Chrome and the Web Serial API. If Chrome updates break compatibility ChiliPeppr may stop working until the developers release a fix. The web-based approach also means ChiliPeppr cannot run without an internet connection.

ChiliPeppr is the best choice for users who want a modern web-based interface and value easy access across multiple computers. It is less suitable for production environments where reliability is critical.

Comparison Summary

Feature UGS Candle bCNC ChiliPeppr
Platform Win/Mac/Linux Windows Win/Mac/Linux Chrome browser
Ease of use Good Excellent Fair Good
Toolpath view 3D 2D/3D 2D 3D
Probe support Yes Limited Advanced Basic
Auto-leveling No No Yes No
Pendant support Yes No Limited No
Multi-machine No No Yes No
Performance Fair Excellent Good Good
Best for General use Beginners Advanced Web users

Choosing a Sender

The best G-code sender for you depends on your experience level and the type of work you do. Beginners should start with Candle for its simplicity. The learning curve is minimal and the interface is intuitive. As your skills grow you can switch to UGS or bCNC for more features.

Users who run a variety of work and need a balanced feature set should choose UGS. It offers the best combination of features, platform support, and active development. UGS handles most hobby and small shop needs well.

Advanced users who need auto-leveling, custom probing, or multi-machine control should choose bCNC. The learning curve is steeper but the capabilities are unmatched. bCNC is the go-to choice for PCB milling and advanced applications.

Users who prefer a modern web interface and work across multiple computers should try ChiliPeppr. The web-based approach is convenient for users who do not want to install software. For production environments with reliability requirements choose UGS or Candle instead.

Setting Up a G-Code Sender

Setting up a G-code sender is straightforward but there are a few common issues to understand. The first step is connecting your computer to the CNC controller. Most hobby controllers use a USB serial connection. The computer sees the controller as a serial port. You need to identify which serial port the controller is connected to.

On Windows the controller typically appears as COM3 COM4 or a similar port number. On Mac and Linux it appears as a device path like dev ttyUSB0 or dev ttyACM0. The G-code sender has a port selection menu where you choose the correct port.

The baud rate must match between the sender and the controller. The standard baud rate for GRBL controllers is 115200. Some older controllers use 57600 or 9600. If the baud rates do not match the sender cannot communicate with the controller and you will see a connection error.

After connecting you should test the communication by sending a simple command like a question mark which requests the controller status. The controller should respond with the current machine state position and status. If you get a response the connection is working.

GRBL Compatibility

All four senders support GRBL version 1.1 which is the current standard for hobby CNC controllers. GRBL 1.1 added support for coolant control, spindle direction, and improved homing sequences. Some older controllers still run GRBL 0.9 which has fewer features but is supported by all four senders.

GRBL 32-bit is a newer version that runs on 32-bit microcontrollers with more memory and processing power than standard GRBL. GRBL 32-bit supports higher step rates which allow faster feed rates on machines with high-resolution stepper drivers. UGS and bCNC support GRBL 32-bit. Candle and ChiliPeppr have limited support.

FluidNC is a modern replacement for GRBL that runs on ESP32 microcontrollers with WiFi connectivity. FluidNC supports all standard GRBL commands plus additional features like WiFi control, SD card support, and advanced probing. UGS and bCNC support FluidNC. Candle and ChiliPeppr have partial support.

Offline Controllers

Offline controllers are standalone devices that read G-code from an SD card and run the program without a computer connection. They are popular for users who do not want to keep a computer at the machine. Offline controllers are not G-code senders but they serve the same function of sending commands to the motion controller.

The most popular offline controller is the GRBL 32-bit offline controller available from several manufacturers. It has a small screen and control buttons for jogging, file selection, and feed rate override. The offline controller reads G-code files from an SD card and runs them independently.

Offline controllers are convenient but have limitations. The screen is small and difficult to read from a distance. Editing programs on the controller is not practical. The toolpath visualization is not available. For users who need these features a computer-based G-code sender is the better choice.

Choosing Based on Workflow

Your workflow determines which G-code sender is best for you. Users who design and program at a desk and then walk to the machine to run the program benefit from an offline controller or a simple sender like Candle. Users who work at the machine and make frequent program adjustments need a more capable sender like UGS or bCNC.

Users who run many short programs benefit from a sender with good file management. UGS has a job queue that can hold multiple programs. bCNC has a file browser that integrates with the operating system file manager. Candle and ChiliPeppr have basic file loading without management features.

Users who need to probe parts or set work offsets frequently should choose a sender with probe support. UGS has the most complete probe wizard. bCNC has the most flexible probe macros. Candle has basic probe support. ChiliPeppr has a probe widget with moderate functionality.

Installation and Setup Tips

Installing a G-code sender is usually straightforward but a few common issues can cause problems. The most common issue is selecting the wrong serial port or baud rate in the sender settings. If the sender cannot connect to the controller verify that the correct port is selected and that the baud rate matches the controller configuration. Try disconnecting and reconnecting the USB cable to reset the connection.

Driver issues are another common problem especially on Windows. Some USB serial adapters require specific drivers that are not included with Windows. If the computer does not recognize the controller when it is plugged in install the appropriate driver for the USB serial chip. The most common chips are CH340, FTDI, and CP2102. Each requires a different driver.

Firewall and antivirus software can block the serial connection on some systems. If the sender connects intermittently or disconnects during a job temporarily disable the firewall or add the sender to the allowed applications list. This issue is most common with UGS and ChiliPeppr because they use network protocols for some features.

Troubleshooting Communication Problems

If the G-code sender connects but loses communication during a program there are several possible causes. The USB cable may be too long or of poor quality. USB cables longer than 6 feet can cause signal degradation especially in noisy shop environments. Use a shielded USB cable that is as short as practical.

Electrical noise from the spindle motor or stepper drives can interfere with the USB communication. Route the USB cable away from motor cables and power supplies. Use ferrite cores on the USB cable to suppress high-frequency noise. If communication problems persist a USB isolator can eliminate ground loop issues.

The computer processing speed can cause communication problems on large G-code files. If the sender cannot send commands fast enough the controller stops and waits for more data. This causes the machine to pause and restart repeatedly which leaves visible marks on the workpiece. Reduce the buffer size in the sender settings or use a faster computer to resolve this issue.

Alternative G-Code Senders

In addition to the four main senders there are several alternative options worth considering. OpenBuilds Control Software is a fork of UGS with additional features for OpenBuilds machines. It includes a pendant interface and simplified setup for common OpenBuilds controllers. The interface is clean and well-organized.

LaserGRBL is designed specifically for laser engraving but can also be used for CNC milling. It includes image processing features that convert images to G-code for engraving applications. LaserGRBL has a simple interface and good performance on large files. It is a good choice for users who do both laser engraving and CNC milling.

gSender from Sienci Labs is a modern sender designed for the LongMill router. It has a clean web-based interface with built-in probing, toolpath visualization, and feed rate control. gSender is available for Windows, Mac, and Linux. It is designed to work with GRBL controllers and supports most GRBL-based machines.

Software Comparison Best Fit

User Type Best Sender Reason
Complete beginner Candle Simplest interface, easy to learn
General hobbyist UGS Best feature balance, broad support
PCB milling bCNC Auto-leveling and surface mapping
Multi-machine shop bCNC Multiple controller support
Web-based workflow ChiliPeppr No installation, cross-platform
Laser engraving LaserGRBL Image processing features
LongMill owner gSender Optimized for the machine

For more CNC software guides see our [Fusion 360 CAM Tutorial](

G90 G54 G00 X0 Y0
G01 Z-0.1 F10
G01 X1.0 F20
M30

/posts/fusion-360-cam-tutorial/) and our CNC Router Bits Guide.

Tags:#cam#programming#router#mill#comparison