Pro version users: You need to log in to your account on jmscnc.com for the Pro version download. The free Community Edition download is not the Pro update.
Spin the stock.Read the signal.
4- & 3-axis CAM built for DIY CNC. Real roughing & finishing toolpaths from an STL — simultaneous rotary, wrapped & flat engraving, and a material-removal sim.
Free Community Edition or Pro, on one core engine. Portable Windows ZIP or Linux AppImage: no install, no expiry. Your controller's rotary status is in the grid below.
64-BIT WINDOWS / LINUX · ~300–400 MB
Toolpaths, compiled.
Simultaneous 4-axis rotary
Orient the part along the configured rotary axis. Spiral finishing and radial roughing are free; more finishing styles are in Pro. Handles, finials and wrapped forms are typical candidates; hidden undercuts need a different approach, and RotatoCAM measures your model and warns you before you generate.
Rough, finish, engrave
Queue rough → finish on one tool into a single continuous program — no tool change within that program. Review the links between operations. Surface-following finish pass and spring passes included. Engrave system-font text flat or wrapped around a bar with a real V-bit profile — rapids and cutter shape come straight from the actual .nc.
See it before iron does
Backplot, feed checks and material-removal simulation are in both editions. Read exported G-code, inspect the modeled cut and scrub the estimated timeline. These checks help review a job; they do not establish clearance for every holder, fixture or machine component.
Controller compatibility, at a glance.
grblHAL · FluidNC
LinuxCNC · Mach3 / Mach4
Centroid Acorn / Oak
Output is available; verify firmware, enabled axes, units and feed mode on your setup.
Genmitsu (simultaneous)
AtomStack C4 Pro · MASSO
HC-204A · Carvera · RosettaCNC
Posts exist, no machine-cut qualification yet. Prove out before production.
Stock GRBL (3018 / 3040)
Flat + engraving jobs are in scope. Do not use the grbl post for rotary motion. Custom posts: drop a file in ~/.rotatocam/posts/.
A controller name alone does not establish compatibility with your machine. Full table, evidence levels and setup notes →
RotatoCAM only writes G-code — it does not run your machine. Every program it makes is a suggestion: inspect it, simulate it, and air-cut it before you commit. Provided AS-IS, no warranty — you accept all responsibility. Read the safe-testing guide →
Watch the stock come off.
Run the sim from the exported G-code and inspect modeled stock removal and surface deviation. The timeline and feed readout help locate suspect moves; time is an estimate. Check the simulation detail and your actual setup separately. What the checks establish →
Already have G-code? Meet RotatoVIEW.
See the path before the chips.
The focused 4-axis viewer for supported rotary programs. Inspect the wrapped path, follow the source G-code, and scrub through estimated machining time.
Windows + Linux · $29 standalone · already included in RotatoCAM Pro.
Explore RotatoVIEW →Free to keep. Pro for the deep toolbox.
Community Edition
- Spiral rotary finishing + radial roughing
- Wrapped & flat 2D engraving
- STL · OBJ · PLY · 3MF + DXF/SVG import
- Controller posts with documented limits and experimental status
- Guided machine + job setup wizards
- Backplot + material-removal sim
- No license, no nag, no expiry
Pro
- Raster + axial/flow finishing · helical roughing
- 3+1 indexed surfacing · pencil cleanup · V-carve
- Conversational (no-CAD) suite · adaptive roughing
- Laser / plasma 2D cutting
- Built-in 4-axis G-code viewer (RotatoVIEW)
CE isn't a crippled trial — it's genuinely useful on its own and always will be: take a suitable rotary part from model to G-code for review and simulation with the four core strategies and the full safety + setup workflow. The advanced strategies are where most of the late-night development went, so they live in Pro to keep the lights on and the work going. If RotatoCAM saves you time or money, Pro is the way to back it — if it doesn't, the free edition is yours to keep.
Lighter, smarter, made to last.
.223 — a build tag, not a version bump. Light, modular, strippable by hand, built to outlast the fashion that fights it. CE ships the four core strategies plus the full safety and setup workflow; the advanced strategies land in Pro.
Roughing stopped cutting air
Every radial and helical roughing level used to ride the finished surface across each column a shallower pass had already brought to size: touching, removing nothing, at feed, for the full length of the pass, on every deeper level. Those spans are skipped now. The cutter retracts, rapids across, and drops back in where there is material again. Measured against the material-removal sim on a stepped shaft, air fell from 47% of cutting distance to about 1%, and the program went from 5,764 cutting moves to 3,308. Same part and stock allowance. These are simulated path-distance and move-count results for that example, not a measured machine cycle-time reduction; results depend on the job.
Reserve a support nub at the chuck
New in Stock setup for rotary jobs: Chuck guard. Give it a length and a core diameter, and cutting inside that zone at the chuck end is clamped to the core radius before the backplot, the sim, and the G-code ever see it, to reserve a holding core in the programmed geometry. Its strength and grip still depend on your actual material, tooling and workholding. The sim shows the nub honestly, the warning tells you exactly how many moves it held back, and you part it off after the job.
Rotary mounted along Y
Most rotaries are bolted down along X. Turn yours a quarter turn on the table and the Rotary runs along setting rotates the finished program to match: the part's length comes out on Y, its cross-section on X, and Z and the rotary word stay exactly where they were. The setting applies a rotation rather than an axis swap. Y-mounted rotary output remains experimental: confirm direction, zero, clearance and the final NC on your specific setup before cutting.
FluidNC and RosettaCNC speak RotatoCAM
Two named controllers join the list, both driven by customers running them. fluidnc: grbl-flavoured output with G93 rotary feeds, whatever rotary letter your config names, and Z-first rapids built in. RosettaCNC (experimental): Fanuc-flavoured RS-274 with G93 rotary feeds, and the post pins RTCP off (G49) because RotatoCAM output is already fully resolved machine motion. Customer-driven support is not a qualification for every configuration. Check the controller software, feed mode, offsets and clearance on your setup.
HolzProfi CNC6090 / HC-204A
A post for the HC-204A handheld control, whose rotary runs along Y. Written from the controller manual rather than inferred, which matters here because its accepted command set is unusually small. It does do simultaneous four-axis: the manual has a rotary speed parameter that applies "in 4-axis linkage". Experimental until somebody has cut with it. Setup notes →
AtomStack C4 Pro support
Its rotary is treated as a real fourth axis in plain degrees, not a substituted Y and not a circumference conversion, and absolute angles past a full turn are kept so a continuous spiral keeps counting up instead of resetting every revolution. Built from a live-machine handoff by a C4 Pro owner who read his own controller rather than the documentation. Marked experimental until somebody has cut with it.
Tapered cutters, planned properly
Pick taper, give it an included angle and a tip diameter (or a corner radius for a tapered ball nose), and a fine-tipped tapered bit — the standard tool for 3D relief — plans as the shape it is. Scallop height is a geometric planning target for the selected cutter model. Inspect the simulated deviation; actual finish also depends on tooling, material and machine behavior.
Operations chain
Queue rough then finish and the second operation begins from what the first one really took off, so the finish cuts the leftover instead of skimming the whole part again. Use one tool per program and review every operation transition. Stock-based retract planning still needs clearance checks against your workholding and machine; older custom posts may restrict operation chaining.
A French option, where it matters
Settings ▸ Language translates the safety gate and the getting-started guide, the two places where a misunderstanding is expensive, and Windows' own file dialogs follow along. Menus and parameter names stay in English on purpose.
Custom posts + more controllers
Drop a post file into ~/.rotatocam/posts/ to add your own controller — no rebuild. See the controller table for operation scope and known limits. Genmitsu simultaneous rotary, AtomStack C4 Pro, HC-204A, Makera Carvera, MASSO and RosettaCNC are experimental; qualify custom posts for the exact machine and controller.
RotatoVIEW
Just need to view 4-axis G-code? The standalone viewer that actually works. Loads supported rotary .nc files, draws the interpreted wrapped toolpath, and scrubs by estimated machining time. Windows and Linux versions use the same RotatoVIEW license. License key and downloads are delivered at checkout. (Also bundled inside Pro.)
Did it earn its keep?
Maybe RotatoCAM saved you a CAM subscription. Maybe it cut something your old software couldn't — a wrapped nameplate, a clean 4-axis finish, or the roman columns for the miniature gladiator stadium you built in the garage over winter. CE stays free no matter what — if it made your machine do something worth doing, a coffee helps fund the next fix.
Pikachu, cut on Linux.
Recorded on Ubuntu with an i5 and Intel graphics. Two partial simulations: indexed rotary and a face-up 3-axis cut limited to 0.75 inch (19.05 mm) below the block surface.
Columns, cams and chess.
Fresh captures from RotatoCAM on Ubuntu: rotary finishing and wrapped engraving, replayed from posted G-code. Synthetic software demonstrations, not physical machining tests. Coarse simulation surfaces are not tolerance checks.






Pick your look. Read the cut.
Four themes — Amber CRT, Light, Dark and Green. Every frame below is the real app: real cutter shape, real rapids, straight out of the exported .nc.
STL in. G-code out. Watch it cut.
A chess pawn goes from model to simultaneous 4-axis G-code to a spinning material-removal simulation, every frame captured from the real app. This is a software demonstration of toolpaths and modeled stock removal, not a physical machining trial.
Send me what you made.
Help document real cuts: include your machine and controller version, material, tool, strategy, RotatoCAM version, machining time and measured result. The slots below invite submissions; they are not completed test reports.
+ their name & machine
phone photo, chips and all
not shown above
removal sim running
The F word changes every line
Posts using G93 inverse-time express a target block duration: 1/F minutes. That lets the planner coordinate rotary and linear motion toward a surface-feed target. Some controllers require a different feed convention; consult the post notes. Axis limits can lengthen the actual move.
Degrees pretending to be millimetres
Rotary timing under G94 depends on the controller. Some configurations combine rotary degrees and linear-axis distances; others use different rules. Reusing a G93 inverse-time F value as a G94 feed can produce a very different duration. Match the post to documented controller behavior.
A720 is not a typo
A continuous spiral may count through A450, A720 and A1080. This requires a controller and rotary setup that support the commanded turns. Resetting angles independently can cause unwanted reversal; confirm wrap behavior and travel limits before using a continuous spiral.
One radius per ray
A wrapped pass stores a single radius for every ray out from the rotary axis, so it can only ever describe shapes that are star-shaped about that axis. RotatoCAM measures your model and tells you the percentage before you generate, because the part it cannot describe is not recoverable with a smaller tool, a finer scallop or more passes.
From STL to G-code: load, generate, cut.
Use these six stages for a first job; the required setup and checks depend on the strategy and controller.
Load
File ▸ Open model… for an STL/STEP — or just type your text / load a .dxf · .svg drawing for engraving.
Pick a strategy
Choose one from the Strategy menu — the four Community Edition strategies are described below.
Tool + stock
Pick a ball/flat end mill or a V-bit and set its diameter. Set the stock: Auto, a round bar, or a box billet.
Machine setup
Controller (grblHAL · GRBL · Genmitsu · AtomStack · HC-204A · LinuxCNC · Mach3/4 · Centroid · MASSO), surface feed and Safe Z. Confirm every limit, feed and clearance against your machine and tooling.
Generate + simulate
Click Generate toolpath to see the backplot, then Simulate / Play to watch it cut and check for gouges.
Export
Export G-code… saves the .nc / .ngc. Verify the exported file, then follow your machine's controlled prove-out procedure before cutting.
Don't build a job from scratch — open a ready-made one. Help ▸ Open example projects…, then File ▸ Run job file… and pick a .yaml. The model, tool, stock and strategy are already set — just Generate, Simulate, Export.
Don't want to hunt through panels? Two wizards fill them in for you. The machine setup wizard (Settings ▸ Machine setup wizard…, and offered automatically the first time you run it) records your controller and machine limits; verify the values and revisit them when the setup changes. The job setup wizard (Strategy ▸ Job setup wizard…) walks a single job end to end — what you're making, cutting tool, feeds and speed, clearance, work zero — and ends on a summary before it writes anything. Both write through the same panels as manual setup, so nothing is hidden from you afterwards and nothing is locked in.
What each one is for
4-axis finish (spiral)
A smooth helical finishing pass over a rotary part from an STL. Pick a ball end mill and round stock, then lower Scallop height for a finer finish.
4-axis rough (radial)
Hogs material off a round bar in radial layers before finishing. Set Depth per pass and Stock to leave; tick Finish pass to chase it with a spiral.
2D engrave (flat)
Engrave text or a DXF·SVG drawing into flat stock. Type your text (or load a drawing), choose a V-bit, set Engrave depth, Generate.
Wrap engrave (rotary)
Wraps text or art around a cylinder. Type text (or load a drawing), set Bar diameter and Engrave depth, Generate.
Safe testing: crawl, walk, run.
CNC machines are dangerous. RotatoCAM only writes a G-code file — it cannot see your machine and it does not press Go. You are solely responsible for inspecting every program and operating your machine safely. Never blindly trust generated G-code — confirm it does what you expect on your machine, with your setup and your tools.
On the PC first — no machine
Open a model (or the bundled examples\), pick a tool + strategy, click Generate. Review the 3D backplot, run the feed check and the material-removal sim. Check rapids vs feeds, depths and units (G21 mm / G20 inch).
On the machine, dry — no material
Confirm the post, work offsets, tool length and rotary orientation. Follow the machine maker's controlled prove-out procedure with the tool and all moving bodies clear of obstructions. Raising Z alone does not establish rotary clearance. Resolve unexpected motion before cutting.
First real cut
Use a simple, previously reviewed job and material/tooling appropriate to your machine. Select conservative cutting conditions from the tooling and machine guidance. Verify workholding, inspect and measure the result, and resolve discrepancies before a more complex job.
4-axis / rotary — extra care
In Machine setup, set your machine's max swing radius (spindle-to-table clearance); 4-axis jobs whose part radius exceeds it are blocked on purpose. Check the post's feed convention and the rotary's direction, turns, limits and clearance. A passed feed check or swing-radius check does not establish clearance for the complete assembly.
Pre-cut checklist — every job
- Dimensions checked (measure thrice, cut once)
- Backplot + feed check + sim look correct
- Correct controller and units (mm/inch) selected
- Tool length & G54 offset set; stock clamped solid
- Air-cut done; motion matched the backplot
- E-stop in reach; eyes & hands protected
Found a bug? Tell me.
Serious issues (crashes, wrong G-code, anything unsafe) get priority. Include what you did, what happened, your edition (CE / Pro), your controller, and attach the STL/job + the generated .nc if you can. Or in the app: Help → Report a bug. If you'd rather talk it through, there's a small Discord.
Choose your platform. Run. Cut.
Python and application dependencies bundled. Windows: unzip and run; SmartScreen may say "Windows protected your PC" — click More info → Run anyway. Linux: mark the AppImage executable and run it. If FUSE is unavailable, use --appimage-extract-and-run.
Community Edition
Free. The complete free toolbox — runs forever, no license needed.
Pro — $99
The full strategy set (indexed 3+1, pencil, conversational, adaptive, V-carve, laser/plasma & more). Pay once for this version — major upgrades are a separate $99. Windows ZIP and Linux AppImage downloads are available through your account after checkout.
RotatoCAM Pro uses the same product license on Windows and Linux, within your existing activation limit. Download either build from your account. Standalone RotatoVIEW also has Windows and Linux builds, with its own product license. Linux packages target modern 64-bit distributions; Debian 12 is not supported by this build.
System requirements
Minimum: 64-bit Windows 10/11 or Linux x86_64 (Ubuntu 24.04+ / Debian 13, glibc 2.39+) · 4-core CPU · 8 GB RAM · GPU with OpenGL 3.2+ (integrated is fine) · ~2 GB disk.
Recommended: 6–8 core CPU · 16 GB RAM · SSD · a basic discrete GPU (e.g. GTX 1650) — for big models, fine sim detail, and the "Max" render look.
RotatoCAM is CPU-bound, so CPU clock matters most; the GPU mainly drives the 3D view.
RotatoCAM only generates a G-code file — you verify it. Inspect the backplot, simulate it, and air-cut every program on your own machine before you cut anything. We can't see your setup and we don't hit Go. Provided AS-IS, no warranty.