GreatLight CNC Machining Factory logo
CNC Machining
Rapid Prototyping
Materials
Industries
News
About GL

Get Instant Quote

GRBL control basics

How Works Candle Program for CNC Machines

Candle is an open-source sender that sits between your G-code file and a GRBL controller. This guide is for engineers and shop owners who need to know what it actually does, where it stops being useful, and how to run it without scrapping parts. Read it and you can decide whether Candle fits a given job.

GRBL 1.1 serial linkG-code validationLive jog and feed overrideRun logs for QC
how works candle program for cnc machines
Quick answer

Key takeaways

Candle is a sender, not a CAM systemIt streams G-code to a GRBL board over USB. Toolpath strategy still comes from your CAM software.
GRBL is the hard limitThree axes, step and direction pulses. No rotary table, no tool changer, no 5-axis kinematics.
Validate before you cutThe built-in checker catches syntax errors and unsafe moves that would crash the tool into the vise.
Feed override is your safety netYou can drop the feed to 10% mid-cut without stopping the program, then bring it back up.
Logs matter for repeat runsMachining time and mid-run adjustments tell you where the next setup can be tightened.
How it fits

What the Candle program for CNC machines actually does

Candle is a small desktop application that sends G-code to a GRBL controller. That is the whole job. It does not generate toolpaths, it does not know your stock, and it has no idea what material you are cutting. You import a file, it streams the lines over a serial connection, and the GRBL board turns each line into step and direction pulses for the stepper drivers.

That narrow role is why it is popular on small routers, desktop mills, and benchtop lathes. The software is free, it runs on Windows and Linux, and it does not need a license dongle. The trade-off is that everything above the motion layer is your responsibility: speeds, feeds, tool offsets, work holding, and the order of operations.

GRBL itself runs on an 8-bit or 32-bit microcontroller. It has a small look-ahead buffer, typically 16 to 24 blocks. When that buffer is full, Candle stops sending until the controller frees space. This flow control is what keeps the machine moving smoothly instead of stuttering line by line, and it is the reason a slow USB link usually is not the bottleneck.

One thing to be clear about up front: Candle is not a substitute for a machine controller on a production VMC. It has no tool changer logic, no pallet scheduling, and no closed-loop feedback from the machine. It is a manual-operation tool for machines that run one setup at a time.

  • 1
    Supported inputG-code files, plus SVG and DXF for simple 2D paths generated inside the tool
  • 2
    ConnectionUSB or serial, auto-detects GRBL controllers on standard baud rates
  • 3
    Not includedCAM strategy, tool libraries, post-processors, collision checking against fixtures
File prep

Preparing design files before Candle sees them

Candle accepts G-code directly and can also read SVG and DXF for basic 2D work. Reach for those two formats only when the job is a simple profile, a pocket outline, or an engraving path. As soon as you need roughing and finishing passes, rest machining, or a tapered tool, generate the G-code in CAM and import the .nc or .gcode file instead.

The typical chain for a real part is STEP or IGES from the customer, imported into CAM, toolpathed, then posted as GRBL-flavored G-code. STL works for mesh models but you lose feature history, so hole diameters and flat faces become approximate. If a drawing calls out ±0.005 mm on a bore, build that bore from a solid model, not from a mesh.

Before posting, check three things in your CAM setup. First, the post-processor must target GRBL, not a Fanuc or Haas control, because the modal codes differ. Second, the work coordinate system must match how you will touch off on the machine. Third, arcs should be output as G2 and G3, not as thousands of tiny line segments, unless your CAM has a good reason to linearize them.

A quick sanity check on the posted file: open it in a text editor and look at the first twenty lines and the last ten. You want a safe Z height before any XY move, a spindle start with a dwell, and a clean retract at the end. If the first rapid move goes to X0 Y0 at Z0, fix the post before you fix the part.

Validation

G-code validation and what it will not catch

Candle includes a visualizer and a basic G-code checker. The visualizer draws the toolpath in 3D so you can see the shape before cutting. The checker flags unknown commands, malformed lines, and moves that exceed the machine's configured travel limits. Both are useful and both are shallow.

What the checker will not catch: a rapid move that passes through your vise, a tool that is longer than the clearance height, a fixture clamp sitting inside the toolpath envelope, or a feed rate that is wrong for the material. Those are setup errors, and no sender can see them. You catch them by simulating in CAM with the fixture modeled, and by doing an air run with the spindle off.

Set your soft limits in GRBL before you trust the travel check. If max travel is set to 500 mm but the real machine has 480 mm of usable stroke, the checker will pass a move that stalls the axis against a hard stop. Measure the actual travel, then update the GRBL settings to match.

Keep a habit of running the first article in the air. Raise Z by 20 to 30 mm above the stock, run the whole program, and watch the path. It costs a few minutes and it catches the mistakes that cost a part or a spindle.

  • 1
    Caught by the checkerBad syntax, unknown G-codes, moves past configured soft limits
  • 2
    Not caughtFixture collisions, wrong tool length, material-specific feed errors
  • 3
    Best practiceSimulate in CAM with fixtures modeled, then air-run the first article
Troubleshooting

Common problems and how to clear them

The most frequent complaint is that the machine stops mid-program and the status line shows an alarm. GRBL raises an alarm for a hard limit hit, a soft limit violation, or a lost connection. The machine then ignores every move until the alarm is cleared. Read the alarm number in the console, fix the cause, then send the reset sequence and re-home. Do not clear the alarm and keep cutting without finding the cause.

A second common issue is stuttering motion. If the machine moves in short jerks instead of smooth passes, the look-ahead buffer is starving. Causes include a slow USB hub, a background process eating CPU, or a G-code file full of very short segments. Move the cable to a direct port, close other applications, and consider re-posting with arc output enabled.

Step loss shows up as a part that is dimensionally correct at the start and drifting by the end. That is usually mechanical: a loose coupling, a belt that is too tight, or a driver current set too low. Check the coupler set screws first. If the drift only happens on long rapids, reduce the rapid rate in GRBL settings.

Finally, if the preview looks right but the part is mirrored, the axis direction is inverted in the GRBL configuration. Fix it with the direction mask setting rather than swapping the motor wires, so the change stays documented in your settings file.

  • 1
    Alarm on startUsually a homing failure or a soft limit set smaller than the actual travel
  • 2
    Jerky motionBuffer starvation from USB hub, CPU load, or too many short segments
  • 3
    Gradual driftMechanical: coupling, belt tension, or driver current
  • 4
    Mirrored partInvert the axis in the direction mask, not in the wiring
Limits

Where Candle stops and a full CAM plus VMC workflow begins

Candle is a good tool for what it is. The moment a job needs four or five axes moving at once, a tool changer, or probing, the workflow has to change. Those features live in the machine controller and in CAM software that understands the kinematics, not in the sender.

For our own work at GreatLight, Candle and similar senders are not the production path. We run 127 high-precision CNC machines across three plants, including 16 simultaneous 5-axis machining centers, 12 four-axis mills, and 16 mill-turn centers. Those machines are programmed through CAM with post-processors matched to each control, then verified with simulation before the first cut.

The capability difference matters when tolerances tighten. Our standard machining tolerance is ±0.005 mm, and we inspect 100% of parts before shipment. A GRBL sender on a benchtop router cannot hold that across a batch, and it was never meant to. What it can do is prove a design, cut a fixture, or make a one-off bracket without tying up a production machine.

If a part needs a rotary table, a Ø400 mm envelope, or a 4,000 mm long bed, the decision is already made. Send the model to a shop with the right platform and skip the workaround.

Runbook

Step by step: running a job in Candle

  • 1
    Connect and confirm the controllerPlug in the USB cable, open Candle, and pick the correct COM port. Set the baud rate to match GRBL, usually 115200. Click Connect. If the status line stays idle, the port is wrong or another program holds it. Close any other sender first.
  • 2
    Home the machine and set zeroSend the homing cycle if the machine has switches, then jog to the work origin. Touch off X and Y against a known edge, then set Z on the top of the stock with a feeler gauge or a touch plate. Zero each axis in Candle and confirm the DRO reads 0.000.
  • 3
    Import the G-code and check the previewOpen the file, wait for the visualizer to draw it, and compare the shape against the drawing. Check that the path sits inside the work envelope and that the Z moves clear the clamps. Rotate the view to look at the part from the side.
  • 4
    Set feed override to a conservative startFor a first article, start at 50% override. Bring it up in steps once the cut sounds steady. If the spindle bogs or the chips change color, drop back immediately rather than finishing the pass.
  • 5
    Start the spindle and runTurn on the spindle, confirm the RPM with a tachometer if you have one, then hit Send. Watch the first 20 to 30 seconds closely. That is when a wrong zero or a bad retract shows up.
  • 6
    Pause, jog, and resume when neededUse Feed Hold rather than the emergency stop for a controlled pause. Jog away, clear chips, then Return to the exact position before resuming. Do not jog while the program is running.
  • 7
    Finish, retract, and check the logAfter the last move, let the spindle stop, then retract Z and move to a safe park position. Read the run log for total machining time and any override changes you made. Note them for the next run.
Fit check

When Candle fits the job and when it does not

Use this as a quick filter before you commit a setup to Candle.

Job characteristicCandle is a good fitUse a machine controller instead
Axis count3 axes, X Y Z only4th axis or simultaneous 5-axis
Tool changesOne tool per setup, manual changeAutomatic tool changer with offsets
Batch sizeOne-off, prototype, or a few partsProduction runs with pallets
FeedbackOpen loop, no scale feedback neededClosed-loop scales and thermal comp
Fixture complexitySimple vise or clamp setupMulti-station fixtures and tombstones
Accuracy targetGeneral machining, Ra 1.6–3.2 μmTight bores at ±0.005 mm on a VMC
Operator skillManual touch-off is acceptableProbing cycles and offset macros

The short version

Candle is a solid sender for three-axis GRBL machines and one-off work. When a part needs four or five axes, a tool changer, or ±0.005 mm across a batch, move it to a full CAM and VMC workflow.

FAQs

Frequently asked questions

Is the Candle program for CNC machines only suitable for small machines?

In practice, yes. Candle talks to GRBL controllers, and GRBL runs on small stepper-driven machines: desktop routers, benchtop mills, and small lathes. That covers a large hobby and light-production market.

You can wire a GRBL board into a larger frame, but you inherit the limits: three axes, open-loop steppers, no tool changer. For production work above that class, a dedicated machine controller is the right answer.

Can Candle handle 3D or 5-axis machining?

It can stream a 3D surfacing toolpath, because that is still three linear axes moving in a coordinated path. The file just has a lot of short segments, so watch the look-ahead buffer and keep the segment length reasonable.

Simultaneous 5-axis is out of scope. GRBL has no kinematics model for a rotary or trunnion table, so the CAM post cannot output a rotary move that the controller will interpret correctly.

What file formats does Candle accept?

G-code directly, plus SVG and DXF for simple 2D paths created inside the tool. For anything with roughing and finishing passes, post the G-code from CAM and import the resulting file.

STEP, IGES, and STL are not read by Candle. Convert them to G-code in CAM first. If a mesh model drives the part, expect faceted curves unless you refine the export.

How do I keep part accuracy consistent across a batch on a GRBL machine?

Control the variables the sender cannot see. Warm up the spindle, keep the same touch-off method for every part, and re-check Z zero after any pause longer than a few minutes.

Log the run time and any override changes. If a batch drifts, the log usually shows whether it was thermal growth, a dulling tool, or a loose work stop.

When should a job move off Candle to a production shop?

When it needs more than three axes, an automatic tool change, tight bore tolerances, or a documented inspection report. Those are signs the part belongs on a VMC or a mill-turn center.

Prototypes and fixtures can stay on the small machine. Production parts that carry a tolerance callout should go where the process capability is measured and repeatable.

Send us the parts that outgrow the benchtop

Upload a STEP file and we will return a quotation and a free DFM analysis within 12 hours, with production able to start within 24 hours.

12-hour quoteNo minimum order quantity100% inspection before shipment

Follow

More from the shop floor

We publish setup notes, tooling trials and inspection data from the factory floor.

FacebookTikTokYouTubeLinkedInInstagramThreadsPinterest

Trusted by engineers and manufacturers worldwide

Tesla Ford Motor Company BYD Auto Denso Magna International Boeing Airbus Medtronic KUKA FANUC