Machine Posts

Pick the right controller

RotatoCAM writes a G-code file for your controller. Choosing the wrong entry in the Controller dropdown is the most common reason a rotary job refuses to post. This page covers which one to pick, and how to add a machine-specific post without waiting for a new release.

Genmitsu with a rotary axis

If you have a Genmitsu 4040-PRO or 3030 PROVer MAX with the 4th-axis rotary kit and you try to post a rotary or 3+1 job with grbl selected, RotatoCAM stops you with:

GRBL (3018/3040) is 3-axis only, but this toolpath has rotary moves.
That message is correct for a 3018, and wrong for your machine.
Genmitsu machines with the rotary kit do not run stock GRBL. Their controller is a 4-axis build, and the rotary axis is A. The grbl entry assumes a three-axis board and refuses anything with rotary motion in it.

Older builds — grblHAL-compatible output

Prefer the named genmitsu post when available. The grblHAL entry is an older workaround, not a claim that the firmware is grblHAL. Confirm the A-axis word and feed semantics for your installed firmware; simultaneous rotary remains experimental.

  1. Open RotatoCAM.
  2. Scroll the left-hand settings column down to the Post / Machine box.
  3. Set Controller to grblhal instead of grbl.
  4. Generate as normal. The output uses the A axis your controller expects.

Named Genmitsu post

Adds a clearly-labelled genmitsu entry to the dropdown, so you never rely on a generic controller label. It is already built into current releases; the download below is for older builds or custom-post development.

Download genmitsu.py All posts

  1. Close RotatoCAM if it is running.
  2. On Linux, put the post in ~/.rotatocam/posts/ (create the folder if needed). On Windows, press Windows + R, type this and press Enter:
    %USERPROFILE%\.rotatocam\posts
    A folder opens. If it does not exist, open %USERPROFILE% instead, create a folder named .rotatocam (keep the leading dot), and inside it create one named posts.
  3. Copy genmitsu.py into that folder. The finished path looks like:
    C:\Users\<you>\.rotatocam\posts\genmitsu.py
  4. Start RotatoCAM.
  5. Post / Machine → Controller now lists genmitsu (custom). Pick it.
  6. Generate your program.
Why a separate post? It pins the rotary axis letter to A, which is what Genmitsu firmware actually drives, and ignores the job's rotary-letter setting. A job configured for a C axis would otherwise emit words the machine cannot act on, and the rotary would stand still while the cutter moved.

HolzProfi CNC6090 on the HC-204A

Pick the hc204a controller, and in Machine setup set Rotary runs along to Y, because on this machine the chuck points down the Y axis rather than X. There is a HolzProfi CNC6090 (HC-204A) machine preset that sets both for you. Travels are not in the preset on purpose: the HC-204A manual describes the control, not the machine it is bolted to, so measure your own and type them in.

This post is built from the HC-204A manual rather than guessed at, and the manual is unusually strict about what it accepts. Its complete G list is G00 G01 G02 G03 G04 G17 G18 G19 G28 G43.4 G49 G50.1 G51.1 G53 G54-G59 G90 G91, and its M list is M03 M04 M05 M08 M09 M12 M13 M30 M34 M35 M60 M61. Three things follow from what is missing from those lists.

Yes, it does simultaneous four-axis. The manual's parameter table has a Speed ratio of rotating shaft setting described as applying "in 4-axis linkage", with an HC-204A default of 2, and the model list calls it a "single-head 4-axis handheld control system". Confirm how that parameter interacts with mixed-axis feeds on your installed controller. Its existence establishes a documented rotary mode, not a verified feed calculation for this post.
Experimental — inspect rotary positions in the final file. No machine-cut qualification is documented here for HC-204A output. Resolve the unknown controller behavior below before using the post for production. For output from any CAM system, inspect rotary words during indexed transitions and ordinary linear moves. An unintended return to zero with the cutter engaged can damage the tool or part. Check the exact post and output file rather than relying on the CAM product name.

Controller behavior still to qualify

The HC-204A documentation used for this post leaves the following behavior unresolved. A manual-derived post is not a machine-tested post. Do not assume that a clean preview establishes these behaviors.

Have a qualified operator establish these settings using the manufacturer's controlled commissioning procedure, with a clear motion envelope and appropriate limits. Record the machine, firmware, settings and observed results before qualifying the post. Report discrepancies with the job and final NC file.

Using RotatoCAM 0.69.2.223.13? The HC-204A post is built into 0.69.2.223.14 and later. On .13 it is not, so download the drop-in below, put it in %USERPROFILE%\.rotatocam\posts and restart. It is an older compatibility post, not a promise of identical behavior to the current built-in. This downloadable file refuses multiple operation spans; use the current built-in for its documented same-tool queue workflow, or export separate single-operation files. You still need .13 or later for the Rotary runs along setting.
Download hc204a.py View source

Which controller do I pick?

A built-in post means output is available; it does not qualify every machine with that controller name. No versioned machine-test reports are linked on this page. Match firmware, rotary mounting, axis letter, units, feed mode and limits before use.

Machine / postScope and evidence
3018 / 3040 · grblStock GRBL: 3-axis only. Do not use this entry for rotary motion.
grblHAL · grblhal3-axis and configured rotary output. Confirm firmware, enabled axes and inverse-time support; no machine-test report linked here.
Genmitsu 4040-PRO / 3030 PROVer MAX + rotary · genmitsuA-axis post. Simultaneous rotary is experimental; no machine-cut qualification documented here. Review indexed transitions separately.
AtomStack C4 Pro · atomstackExperimental rotary output based on an owner handoff. Confirm absolute turns and the post's per-minute feed convention.
HolzProfi CNC6090 · hc204aExperimental, manual-derived. A rotary mounted along Y; metric only. Turn behavior, mixed-axis timing and dwell units remain unresolved.
Makera Carvera C1 / Air / Z1 · makera_carveraExperimental native A-axis post. Confirm the specific machine, firmware and rotary configuration; no machine-test report linked here.
FluidNC · fluidncCustomer-driven rotary support. Match configured rotary letter and G93 behavior; no versioned machine-test report linked here.
RosettaCNC · rosettacncExperimental, customer-driven rotary support. Confirm the exact post selection and controller configuration, G93 and compensation state; no versioned machine-test report linked here.
LinuxCNC · linuxcncBuilt-in post; check configured axes, units and feed modes. No machine-test report linked here.
Mach3 / Mach4 · mach3 / mach4Built-in posts; check rotary configuration and feed interpretation. Comments are omitted; the viewer may need stock diameter entered separately.
Centroid Acorn / Oak · centroidBuilt-in post; confirm installed controller capabilities and rotary configuration. No machine-test report linked here.
MASSO G2 / G3 · massoExperimental. Confirm model, firmware and supported feed/rotary behavior before use.
Other machines / custom postsCompatibility must be established for the actual machine and firmware. A similar name or axis letter is insufficient.

Evidence levels: experimental = unresolved behavior; simulated = a documented software check; machine-tested = a recorded trial on a named setup. None of these labels alone guarantees another job or configuration. Verification scope →

Writing your own post

Anything you drop in %USERPROFILE%\.rotatocam\posts appears in the dropdown tagged (custom). The folder contains a README.txt with a minimal working example. A post that errors is skipped and logged; it will not stop the app from starting.

Only add posts you trust. Files in that folder are executed as code when RotatoCAM starts.

Before you cut

Air-cut every new post first. Follow the machine maker's controlled prove-out procedure with the complete tool assembly, stock, fixtures and moving machine bodies clear. Check direction, offsets, limits and feed behavior; resolve unknown controller semantics first.

Indexed 3+1 still requires clearance during rotation and re-entry. Fully simultaneous Genmitsu output has no machine-cut qualification documented here. Keep it experimental until the exact setup has been qualified, and tell us how it went.