
gSender vs UGS vs CNCjs: Best Free GRBL Sender for Hobby CNC
A sender is the bridge between your CAM software and your machine:
Table of Contents
- What a G-Code Sender Does (And Why It Matters)
- gSender: A Beginner-Friendly Option
- UGS (Universal Gcode Sender): The Classic
- CNCjs: Web-Based Flexibility
- Other Options Worth Mentioning
- The Comparison Table
- The Real Recommendation
- Setup Basics for All Senders
- Probing and Auto-Leveling
- What We'd Buy
- Related Articles
What a G-Code Sender Does (And Why It Matters)
A sender is the bridge between your CAM software and your machine:
- You load a G-code file (generated by your CAM software)
- The sender connects to a compatible controller, commonly by USB; some setups support Ethernet
- You press start
- The sender streams G-code commands to the machine line by line
- The sender displays feedback: position, status, errors
You also use the sender for:
- Jogging the spindle to set up
- Setting work zero; homing is a separate operation
- Tool changes
- Pause and resume
- Software stop or reset; use the machine hardware for an emergency stop
Picking the right sender makes your life dramatically easier.
gSender: A Beginner-Friendly Option
gSender is Sienci Labs' free, open-source sender for grbl and grblHAL machines. Its interface and setup tools make it worth trying.
Pros:
- Excellent UI—modern, intuitive, not cluttered
- Built-in touch-plate probing wizards for setting work zero
- Tool change support—pauses, prompts, resumes cleanly
- Surfacing wizard for leveling spoilboards
- Spindle control built-in
- Actively developed with regular updates
- Works with standard GRBL and grblHAL
- Excellent documentation
Cons:
- Desktop app; large toolpaths can need more resources, with a Lightweight mode available
- Install on the host computer; a second device can connect through a browser
Best for: New hobbyists, anyone who wants the best user experience without thinking about it
Cost: Free
UGS (Universal Gcode Sender): The Classic
UGS is the OG sender—it's been around forever and is rock-solid reliable.
Pros:
- Established project; test the release and connection on your machine
- Lightweight, runs on older computers
- Cross-platform (Windows, Mac, Linux)
- Long-running open-source project with public documentation
- Good for manual control and tinkering
- Platform includes a visualizer, editor, designer and configurable modules
Cons:
- UI feels dated (functional but not modern)
- Classic and Platform differ; check Platform modules before comparing features
- Compare the current Platform interface and modules with your workflow
- Check the current release history when choosing a version
Best for: Experienced CNC operators, people who prefer simplicity, anyone on older hardware
Cost: Free
CNCjs: Web-Based Flexibility
CNCjs provides a browser interface backed by a host connected to the CNC controller; a desktop package is also available.
Pros:
- Clean, modern UI
- Plugin system for extensibility
- Works on any device (phone, tablet, computer) once set up
- Device-agnostic—control from anywhere on your network
- Supports several controller firmware protocols; post-processing stays in CAM
- Lightweight on system resources
Cons:
- Check the release history and supported host environment before installing
- Plugin quality varies wildly
- Setup is more complex than gSender
- Check documentation and support for your controller and chosen extensions
- Browser-based means you're managing a web server (not technically difficult but adds complexity)
Best for: Advanced users comfortable with network setup, people who want multi-device control
Cost: Free
Other Options Worth Mentioning
bCNC: Python-based, feature-rich, includes CAM capabilities. Good for advanced users, steep learning curve.
OpenBuilds Control: Specifically designed for GRBL and grblHAL, excellent UI, actively developed. Highly recommended if you're on an OpenBuilds system or just want a solid alternative.
The Comparison Table
| Feature | gSender | UGS | CNCjs | bCNC | OpenBuilds |
|---|---|---|---|---|---|
| UI Quality | Excellent | Fair (dated) | Good | Fair | Excellent |
| Learning Curve | Easy | Easy | Moderate | Steep | Easy |
| Probing Support | Excellent | Probing modules in Platform | Good | Excellent | Good |
| Tool Changes | Excellent | Manual | Fair | Excellent | Good |
| Cross-Platform | Yes | Yes | Yes | Yes | Windows/Mac/Linux |
| Active Dev | Yes | See current releases | Moderate | Yes | Yes |
| Setup Complexity | Simple | Simple | Moderate | Complex | Simple |
| Plugins/Extensions | Limited | Limited | Extensive | Some | Some |
| Hardware Requirements | Modest | Check current requirements | Low | Low | Modest |
| Best For | Beginners | Minimalists | Advanced | Technical users | OpenBuilds users |
The Real Recommendation
For new hobbyists: gSender. No hesitation. The UI is genuinely better, the probing wizards save time, and it's actively maintained. Start here.
If gSender does not fit your workflow, try UGS on a supported controller and verify a simple job first.
For advanced users: OpenBuilds Control or CNCjs. If you have specific needs (multi-machine control, network access, plugin extensibility), these make sense.
Setup Basics for All Senders
Regardless of which sender you choose:
- Install the sender software
- Connect your machine via USB
- Open the sender
- Select the COM port your machine uses
- Set baud rate to 115200 (standard for GRBL)
- Click "Connect"
- You should see machine status (Idle, position, etc.)
If you don't see status, check:
- Is the machine powered on?
- Is the USB cable working? (Try a different port)
- Is the baud rate correct?
- Is the GRBL firmware actually on the machine?
Probing and Auto-Leveling
gSender's probing wizards are actually useful:
- Z-probe: A compatible touch plate and configured plate thickness let the sender set Z-zero on the surface you reference.
- XY probing: Jog to the prescribed start position, then probe to set work zero
- Surfacing: Automatically generates a toolpath to level your spoilboard
Compare probing routines using your own controller and touch plate.
What We'd Buy
Sender software is free, so this is easy:
- gSender: Download and use it. It's the best experience.
- Keep UGS as an alternative if it supports your controller and operating system.
That's it. No cost.