Table of Contents

Jaxen CNC Operating Guide

Visit Jaxen's homepage here.

This page documents procedures on Jaxen that should be followed when doing any projects. Purposes of this guide:

This page is specifically for Jaxen, although lots of general info about milling applies to other VHS CNC machines.

Started 2026 March by ColinL

See other member-written guides.


Jaxen Training Program Overview

The Training Program for Jaxen will teach you all the following skills:

Housekeeping:

Milling:

CAM:

CNC:

————————–

General Process of Using Jaxen For Your Projects:

The roadmap:


Basic Reminders

Startup Procedure

  1. Sign in by writing your name and date on the paper log. This is so you can see what else is happening with this shared machine.
  2. Boot the PC
  3. Power on the electrical panel (Plug in the cord)
  4. Power on the spindle driver system (Plug in the cord)
  5. Turn on the enclosure lights.
  6. Check that the enclosure is free of obstructions- NO STORAGE is permitted in the enclosure.
  7. Check that the vice, table, and slides are clean of chips. Wipe them away if not.
  8. Login to the PC
  9. Open UCCNC from the desktop shortcut, so that the profile “Jaxen Metric” is loaded.
  10. Click the red/yellow reset button in UCCNC
  11. Home the machine
  12. Continue to mount your workpiece as you see fit…

Shutdown Procedure

If you don't do this after you're done, you will be slapped on the wrist :)

  1. Move the Z axis up and away from the table.
  2. Clean up! Vacuum and/or wipe the vice. There should be ZERO chips on the jaws or top of the vice, and clean to the touch.
  3. Shutdown PC
  4. Power off the CNC (unplug)
  5. Follow the setup in reverse order…

Basic Milling Procedures

Jaxen is really just a manual mill with electrical controls added. Most mill skills won't be covered in this guide, but here's some important ones:

Installing Collets

It is very easy to drop bits when doing this. They chip when they fall! You need to touch 3 points of contact when installing collets:

  1. Hand on the draw bar bolt head (coming out of the top of the spindle).
  2. At least 1 finger on the collet.
  3. At least 1 finger on the bit inside the collet.

Put lower fingers on the bit, upper fingers on the collet. When installing a collet/chuck:

  1. First hand tighen the bolt on the top of the “draw bar”,
  2. Then 1/4 turn the screw with wrench and allen key,
  3. Then REMOVE the allen key immediately!!

Always ensure the allen key is out of the top screw of the drawbar after tightening!!!

The “draw bar” mates with threads on the top of the collet.

Squaring Stock

Identify the flattest faces to use as clamping faces, then face the roughest first. Next, put this newly faced face against the jaws, and face the next face, 90* from the first. However, when clamping, use a round stock (rod) against the unfinished face to prevent it from altering squareness. Continue using these principles. For the last 2 sides, can use an endmill bit to make faces perpendicular to the spindle axis.

Top-hat method:

Good for when you don't need fully-faced sides, but complete top and bottoms. (Technically this method cannot perfectly face the full sides, but it's practically unnoticeable)

Can use a chamfering tool for final step as an alternative to de-burring.

Facing/Surfacing

If you climb-cut a face around the edges, it won't produce a burr, because the burr is sucked inwards and naturally cut off.

Speed and feed resources

TODO need to link a metric version!!

https://www.autodrill.com/resources/recommended-tool-speed-chart Notes: above assumes: HSS tools, appropriate coolant (although says you can reduce RPM by 25% to not use coolant in “most metals”, stainless requires more reduction).

https://www.carbidedepot.com/formulas-turning.htm

Slots

For plunging, you need an endmill with center-cutting ability (no center hole). When plunging, the bit will vibrate, causing hole size to be slightly larger than the bit's size. Width of slot is dependent on rigidity of machine. Blondiehacks example: 1/4“ cutter, 1/8” steel plate. For ideal finish, make a slot in 3 passes: 1 smaller rough pass, then go back around the edges to get final dimension (3thou is a good amount to take off)

Blind Slots:

'Blind' means a hole that does not go all the way through the material.

These are tricky, because chips fill up the hole, and ruin the quality of the cut. You need good coolant/chip removal. It gets worse for deeper slots.


Workholding System

Like any mill, there's infinite ways to hold your workpiece. Here are some examples on Jaxen:

Why not always use the vice?

If you're going to be milling most sides of your part to be non-flat, you can't clamp your part in a vice. You'll need to hold it by it's middle somehow.

Examples: gears, oddly-shaped flat parts, decorative items, etc.

By using a standard hole, this has 2 functions:

  1. holds the part using a bolt,
  2. but also serves as accurate positioning to easily place the part, even preparing for repeated jobs.

You MAY need a custom mount if:

You will definitely need a custom mount for your part if:

The standard mounting method currently is M6 threaded holes spaced 10mm apart, passing through non-threaded holes in your workpiece. Recommended to use hex bolt heads so that the head can be as large as possible without needed to use a wrench because it would hit adjacent bolt heads.

Preparing workholding for your project:


Bits:

Examples of types available for Jaxen:

Hobbyist generally shouldn't use carbide tips, has stricter limitations for feeds/speeds. Instead, use high-speed steel.

4 flute is better for cutting steel, 2 flute is good for alum,brass Corn cob bit is for roughing, can feed faster.

Recommended setups:

R8 collet > 1/8 bit - examples: V bits 20deg, gold corncob endmills,

R8 collet > 1/4 bit - examples: yellow ball nose

R8 collet > 1/2 bit - examples: endmills

R8 collet > 5/8 bit - examples: endmills

R8 Tormach adapter > 3/4 bit - Tormach type toolholding - examples: Tormach edge finder

R8 Tormach adapter > ER20 Tormach nut. > ER20 6mm collet > 6mm bits

ER16 collet > 6mm bit - examples: 6mm endmills

ER20 collet??? > 3/16 bit - example: V bit 90deg


Cutting Fluids:


Materials:

316 Medical Grade stainless steel is used for food/body safe items.

Flat stock has internal stresses that cause a phenomenon where the part may warp in a direction parallel to the surface. Cast stock avoids this problem.


Machine Maintenance:

Grease goes in harder-to-reach places, oil for ways.

High-pressure grease, for lubricating gears or parts that have high forces between them, but typically sealed. Blondiehacks reccommends: MAG1 High Temp Disc Brake Wheel Bearing Grease Lithium Complex https://www.youtube.com/watch?v=x8tx-cBulno

Oil the machine before every long-use of the machine. (frequency to be determined for Jaxon)

Never use acidic cleaners (Clorine, bleach) because it causes rust!!


CAM in FreeCAD

The following is a general process for setting up CAM for your project.

Very detailed video including CAM operations, which these steps are mostly based on:

https://www.youtube.com/watch?v=7nBCaV5J0Ts

After building your “body” in FreeCAD, you're ready for CAM!

Jobs

  1. Switch to the CAM workbench.
  2. First, you need to create a new job using the “Job” button. You'll then have a docked wizard menu “Tasks” on the right to setup the overall job.
  3. In the lower right corner of the window, make sure the units are set to “Metric small parts CNC”. (You may get a warning about this if not).
  4. Recommended to order by operation and Split output. This makes troubleshooting easier when you're actually running the GCode later.
  5. You need to pick a point on your model or the stock bounding box to specify the origin! Click and then Setup > Set Origin.
  6. Also note the position of your model in the stock- make sure this is set correctly.
  7. You can now close the Job wizard.

Tool Setup

Next, you need to setup “tools” (such as a milling bit) you are going to use. You should already have specific tools in mind, since your model features need to be constructable, and will depend on the tools.

  1. In the left model organizer pane, delete the default tool added by the Job wizard.
  2. In the toolbar, click the “Add Toolbit” button.
  3. In the Toolbit selector window, you'll see all the bits loaded in the library for this FreeCAD installation.
  4. When picking a bit, be sure to check ALL properties of the bit you choose to make sure that it's what you expect! Right-click on the bit, then click “edit” to view the detailed properties.
    1. The bits commonly used on Jaxen will already be in the library- it is a global list.
  5. Click “Add to Job”

Job Milling Parameter Entry

  1. Double click “SetupSheet” in the Model organizer
  2. Scroll to bottom, set the “step down” to your desired depth of cut: probably something like 0.2mm - 0.5mm
  3. Single click “SetupSheet” and set the Clearance and Safe heights both to 5mm, or whatever you deem to be safe. Notice how this will update the fields in the right pane. Note that this distance will be travelled by a G1 move, so it'll take a long time if you make it too big!
  4. In section “Tool Controller” set the rapid speeds to Jaxen's standard Rapid speeds (note Rapid speeds are for when you're NOT cutting).
  5. TODO verify if this actually overrides UCCNC's G0 feed rates….
  6. Again, confirm that the rapid speeds update in the right pane. You may need to click in each box.
  7. Click OK to close the right pane (SetupSheet tasks view).
  8. Back in the Model Organizer, click your tool (the parent item starting with “TC”)
  9. Set your Feed rates: this time for cutting. Refer to Jaxen's job log, or the linked tables in Jaxen's Operating guide page for what to put! For steel, 30mm/min is a good safe minimum for Horiz feed.
  10. Set your “Spindle speed”: again, refer to Jaxen's job log, or a public feed-speed chart. 1000 RPM is typical for Jaxen.

Now to make your operations / toolpaths!

In this tutorial, we are going to create a simple surfacing/facing job, to prepare stock for a later project.

  1. Select the geometry of your model that will be relevant to this operation. In this case, select the face you want to surface!
  2. Then click “Face” button in the toolbar.
  3. For a nice finish on stock, suggested settings: stepover 80%, Clear edges, perimeter.
  4. Click OK to exit the Task creation. You should now see your toolpaths in the viewport.
  5. View the simulation of your job: click the “CAM Simulator” button in the toolbar. When done, be sure to CLOSE the simulator before going back to editing in FreeCAD or it may crash!
  6. Export your GCode: Click the “Post Process” button. Click OK in the window to save your code to a file (default is same directory as the FreeCad file).

Jaxen training demo project

Skills/operations that will be part of the demo project:

General Tips


CNC

After you completed your CAM setup, you'll be left with a bunch of G-Code programs. What are we supposed to do with that? Read on!

We first have to do some setup to bridge the physical and digital worlds:

Manual Positioning with G-Code

You'll be doing a lot of manual G-code to setup the machine.

MDI = Manual Data Input box.

There are two types of linear moves that you can do:

A G0 is used for a “rapid move” (at the machine's native feed rate). The controller will decide the best way to get to destination. For example, it will always move Z up first before X/Y.

A G1 is used for cutting (interpolated).

Note that all GCode distances depend on what mode you're in. Either:

In UCCNC, you can see the current mode in the white text just above the MDI box.

Cheatsheet

The most used G-Codes you'll need for typical operation are:

First specify your positioning mode if not already:

Then move:

Workspace manipulation:

Spindle set to 1000 RPM:

Workspaces:

Before you can run GCode, the most important concept is telling UCCNC where your workpiece is relative to the machine's coordinate system. You have to do this every time you move your workpiece! (unless you have a system that positions it automatically).

WARNING: when axis is homed, any error corrected will cause all workspaces to shift by that amount!

DO NOT HOME the machine between operations!

This is because all user-defined workspaces are relative to/nested inside Workspace #0.

However, they are not all nested within each other consecuitively. Example: Workspace #2 is not affected by workspace #1, only Workspace #0.

Currently, the hard-limits on Jaxen are providing about 0.005mm repeatability. You can see this when you see the machine coordinates being non-zero as the machine stops on the limit switches during homing.

There is one more offset: the “tool offset” which is nested in every workspace. It only affects Z.

Note that this is not the same as “tool radius compensation”.

In UCCNC:

In the “Main” window 3D view, the blue pointer represents the origin of the SELECTED workspace.

The yellow is the actual toolbit location relative to the selected workspace.

Setting Workspace Coordinates:

This concept is the core of CNC. There's many ways to do this, but the key concept is moving the spindle manually to known positions relative to your workpiece (like the same point as the origin in CAD), then saving that position in UCCNC. This is how you tells the machine where your workpiece is. It must be done before you can execute CAM GCode.

You will be setting your workspace often! Generally, every time you move your workpiece, or change G-Code jobs with different origin points.

Almost always, we only need to setup workspace #1, which is referred to as “G54”. In the CAM software, usually it will say what workspace # you are exporting for (you can't easily change after you export to GCode).

Touch-Off Procedure

This process is more of a hands-on skill that will be taught in person. It takes practice. You must be slow and careful not to crash the machine while doing this. The exact method will depend on:

The general steps are:

  1. Pick an axis to find
  2. Jog the spindle to a few mm away from the workpiece surface you want to use as your reference.
    • This may not necessarily be your origin. You can apply math to offset from any point.
  3. Insert an object of a known thickness between the tool and workpiece, such as a shim or paper.
  4. Move the tool to close the gap very slowly (1% of default jog speed) until the object is pinched.
  5. Apply math to convert the tool's current position to the origin point:
    • Spindle position + Tool radius + shim thickness = surface position
    • Instead of actually doing the math, you can jog the spindle to a safe place laterally, then manually jog with G0 commands to cancel out the 2 constants (after you move the spindle laterally to a place that's safe to do so!)
  6. Save this position:
    • If you moved the spindle, you can zero that axis using the small blue “ZO” buttons in UCCNC.
    • If you're able to move the spindle to the actual origin you want to set, you can click the ZERO ALL button. The current position is now set to be the origin for Workspace #1, you're done.
    • If you can't move the spindle for some reason, you can set the axis to a non-zero value without actually moving:
      • Use command G92 x0 y0 z0 but omit any axis you are not setting, and use non-zero values.
  7. Repeat for the other axes.

Now, your workspace coordinates match what you have in CAD, and you can move on to executing your operations!

Variations:

Practice!

How to get to the Tool Setter position

This little procedure is for using the tool setter. TODO to be put into a UCCNC macro

First, home all axes.

G54 (choose workspace #1 to be active)

G92 x0 y0 z0 (set workspace #1 origin to home position)

G90 (absolute positioning)

G0 x358 y112 z-150

More G-Code:

Great G-Code reference:

Marlin Firmware G-Code Reference

UCCNC G-Code Execution

It is highly recommended to first, raise the Z axis above your workpiece, then temporarily set the G54 workspace Z zero to this raised space. Tip: if you already set your Z zero when setting up your workspace, you can “copy” this into G55 (workspace #2) and then come back to it after testing your code! Alternatively, you can use a G0 command to translate Z by an exact amount that you can undo easily.

Whenever running your code in UCCNC, always do the following:

  1. Scroll all the way to the top
  2. Click REWIND FILE
  3. Double check the work area is clear to begin automatic movement
  4. Click the CYCLE START button.

BE CAREFUL that the CYCLE START button actually starts from the current selected line! If you scrolled your file, or partially ran your code before, it will resume unpredictably, not restart!!

Using the 'RUN FROM HERE' Button in UCCNC

This button is really useful, because it allows you to run an operation/Gcode part way through, then resume it. You can even manually jog the mill between GCode, then resume. Or you can skip whole parts of files! This is really useful when you need to change workholding part way through an operation.

For best results, you should resume at the start of a line of GCode. For example, you shouldn't resume part-way through a line segment (a single G1). You can try, but it may not do the same thing as what was intended by the CAM job.

Think of the button like an inserted G1 command to “get setup for the next highlighted line”. UCCNC will move the tool to the start of the selected line. If you click CYCLE START without clicking RUN FROM HERE, the tool will simply move in the direction it was going before, but there's no guarantee it will follow the right path (if you moved it for example).

Steps:

  1. During your operation, click CYCLE STOP when you are just at the boundary of 2 lines of G-Code operating. Doesn't matter whether you're at the end of one or beginning of the one you want to resume in.
  2. Do whatever you need while the machine is paused. Move workholding/workpiece, or manually jog the machine.
    1. HOWEVER: be careful of executing G-Code in this state! Your program may be depending on mode G90 or G91, and any other settings, and won't know if you change them!
  3. Jog the machine back to the start of where you want to resume.
  4. Scroll in the GCode window to highlight the line and feature you want to resume at the start of.
  5. Click RUN FROM HERE. A message will be printed in the console to confirm.
  6. Click CYCLE START. A window will appear.
    1. Check “switch spindle on first”
    2. Check that feed rate is the same as what the GCode was doing.
    3. When you click OK, UCNC will do a G1 move from wherever you are to the start of the operation.
  7. Wait for the setup move to complete.
  8. The tool is now in position at exactly the start of the GCode line.
  9. Click CYCLE START again to resume your operation

Other GCode Commands

M6 = Tool change. Usually exported by FreeCAD, but ignored for our machine.

M3 sNNNN = turn on spindle AND set spindle RPM

Jaxen Exam

All answers to these questions are above on this page!!

  1. Where are three buttons you can push to stop the machine?
  2. What is the most important thing to prevent when installing/removing collets?
  3. What is the most important thing to prevent after installing/removing collets?
  4. What type of collets go directly into Jaxen's spindle?
  5. Why shouldn't you home the machine between operations?
  6. Why do the steppers appear to jump when changing direction?
  7. What kind of precision can you expect to get with Jaxen?
  8. You want to move the spindle 5mm to the right. You type “G0 x5”. What should you do before this?
  9. What does G54 mean?
  10. When doing a touch-off procedure for the Y axis, what's the formula to convert spindle position to position of the workpiece edge?
  11. What happens if you jog the X axis all the way to the left? All the way to the right?
  12. You are planning a surfacing operation in CAM. What resources can you consult to figure out a feed rate of the tool?

  Temp job log notes:

Climb cutting even for side-milling makes a noticable difference. Always climb cut side faces.

Sep 6 facing steel plate. Should be all same specs as before, but this time plate is flat, so depth is even across whole operation. 1000 rpm, 30mm/min. No lip between passes!

2nd half: switched to 1400 rpm result: no visible difference, may cause finish to change faster

observations between climb and conventional: there may be a relationship to the time into the pass. The circular swirl pattern gets more significant later on during the pass, maybe due to buildup of chips.

The actual left/right side of pass does not seem to matter- the overlap of the swirl pattern appears to be due to minor changes in surface height.

Making passes in the same direction each time does seem like it would provide better finish.