Jaxen CNC Operating Guide
This page documents procedures on Jaxen that should be followed when doing any projects. Purposes of this guide:
- keeping users safe
- prevent damage to the machine
- use documented experience from others to get your project done faster or with higher quality
- reference material for training
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:
- General policies, access scheduling, and group communication when using Jaxen CNC.
- What to do when things go wrong.
Milling:
- Examples of tools to use for certain jobs
- Installing and removing collets/bits safely
- Basics of Milling (for advanced milling, get milling training from the machine shop group)
- Awareness of “milling strategy”: cutting at max depth for bulk removal, then final finishing pass.
- Workpiece holding
CAM:
- What values need to be specified (and where in FreeCAD)
- Relationship between design choices and tooling choices
- Basic examples of what type of CAM job to use to achieve design features
CNC:
- Startup procedure
- How to “jog” Jaxen manually/precisely with UCCNC
- Awareness of hardware and software axis limits, and E-Stops
- G-Code Workspaces
- Tool depth calibration and “touch off” procedures
- Mapping G-code to physical workpiece coordinates
- Understanding basic G-Code commands for troubleshooting and manual data entry
- Running “cycles” (G-code files)
————————–
General Process of Using Jaxen For Your Projects:
The roadmap:
- Sign up for Jaxen training
- Study the training material on this page
- On your training day 1:
- Practical supervised training where the trainer walks you through everything.
- Ask as many questions as you like.
- Do the exam verbally at the end of this page.
- You pass with 10/12 correct answers.
- The trainer will review what you got wrong so you have correct knowledge
- Training Day 2:
- The practical exam portion, where you make the “demo part” under supervision. Ask any questions you want while doing it.
- If you make the part correctly, you pass training!
- Your name is added to the list of trained people TODO where will this be???
- Your first personal project:
- For your first project, you must discuss your project plan with a CNC committee member who is currently offering training. This is to help you apply the skills you learned from the training to new scenarios. Also, experienced members can help you get what you want: either fast production, or high quality. Be sure to tell them what you want.
- Your 2nd and later projects:
- On your second and later projects, you are encouraged to ask for advice, but you can begin using the machine without the need for permission, while still minding other's access to the machine. By then, you'll have enough experience, you'll probably be teaching us!
Basic Reminders
- Sign in on the log book before you start working!
- If you're a committee member and modifying the machine, check and update Jaxen's homepage!
- Wipe the vice before clamping. Chips between metal cause dimension errors.
- Wipe calipers before measuring. Same reason.
- Tap the workpiece into the vice- must be resting on parallels- this eliminates “vice-lift” (Jaxen's vice is pretty resistant to this, but it's still good practice).
- Don't let the cutter bit fall out! Remember the 3 points you must touch while doing this. Refer to training.
- Chip control- don't cut chips. Chips dulls bits and scratch your surface finish. Get them out of the path of the bit somehow (coolant to be added).
Startup Procedure
- 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.
- Boot the PC
- Power on the electrical panel (Plug in the cord)
- Power on the spindle driver system (Plug in the cord)
- Turn on the enclosure lights.
- Check that the enclosure is free of obstructions- NO STORAGE is permitted in the enclosure.
- Check that the vice, table, and slides are clean of chips. Wipe them away if not.
- Login to the PC
- Open UCCNC from the desktop shortcut, so that the profile “Jaxen Metric” is loaded.
- Click the red/yellow reset button in UCCNC
- Home the machine
- 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 :)
- Move the Z axis up and away from the table.
- 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.
- Shutdown PC
- Power off the CNC (unplug)
- 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:
- Hand on the draw bar bolt head (coming out of the top of the spindle).
- At least 1 finger on the collet.
- 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:
- First hand tighen the bolt on the top of the “draw bar”,
- Then 1/4 turn the screw with wrench and allen key,
- 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).
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:
- Vice bolted to the table
- The workholding bed held in the vice with M6 bolts holding your workpiece
- T-nuts bolting your work directly to the table; vice removed.
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:
- holds the part using a bolt,
- but also serves as accurate positioning to easily place the part, even preparing for repeated jobs.
You MAY need a custom mount if:
- You need to mill more than 1 side (having a custom mount allows flipping and matching the alignment)
You will definitely need a custom mount for your part if:
- Your part does not have at least 2 parallel faces that are rigid enough to be load bearing.
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:
- You will need to drill an exact-sized hole in your stock to fit snugly on the M6 bolt. Recommended: 15/64 in == 5.95mm.
- The M6 bolt should be snug, but just barely slide through the hole in your workpiece.
- Then, you'll need to use the existing threaded mounting holes in the bed, or make new ones:
- First drill pilot holes with a 1/8 bit in the mill for accurate pilot hole locations.
- Then a 13/64in (5.16mm) bit on other machine/drill to prepare for tapping, (because it's harder to find a collet for)
- Or you can use the R8 drill chuck to directly drill this hole on the mill.
- then tapped using an M6 tap.
Bits:
Examples of types available for Jaxen:
- End mill
- Chamfer/bevel
- Ball mill
- Arbour/Shell mill
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:
- Aluminum: WD40 (optional)
- Steel: Tap Magic
- Stainless-Steel: Anchorlube Metalworking Compound
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
- Switch to the CAM workbench.
- 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.
- 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).
- Recommended to order by operation and Split output. This makes troubleshooting easier when you're actually running the GCode later.
- You need to pick a point on your model or the stock bounding box to specify the origin! Click and then Setup > Set Origin.
- Also note the position of your model in the stock- make sure this is set correctly.
- 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.
- In the left model organizer pane, delete the default tool added by the Job wizard.
- In the toolbar, click the “Add Toolbit” button.
- In the Toolbit selector window, you'll see all the bits loaded in the library for this FreeCAD installation.
- 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.
- The bits commonly used on Jaxen will already be in the library- it is a global list.
- Click “Add to Job”
Job Milling Parameter Entry
- Double click “SetupSheet” in the Model organizer
- Scroll to bottom, set the “step down” to your desired depth of cut: probably something like 0.2mm - 0.5mm
- 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!
- In section “Tool Controller” set the rapid speeds to Jaxen's standard Rapid speeds (note Rapid speeds are for when you're NOT cutting).
- TODO verify if this actually overrides UCCNC's G0 feed rates….
- Again, confirm that the rapid speeds update in the right pane. You may need to click in each box.
- Click OK to close the right pane (SetupSheet tasks view).
- Back in the Model Organizer, click your tool (the parent item starting with “TC”)
- 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.
- 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.
- Select the geometry of your model that will be relevant to this operation. In this case, select the face you want to surface!
- Then click “Face” button in the toolbar.
- For a nice finish on stock, suggested settings: stepover 80%, Clear edges, perimeter.
- Click OK to exit the Task creation. You should now see your toolpaths in the viewport.
- 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!
- 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:
- Experience with milling steel
- Getting good surface finish
- Verifying dimensions
- Profile, with midway pause and resume
- Through-hole opening
- Pocket with controlled step down
- Engraving
- Chamfer
General Tips
- Work from the inside out, because the outer material is what typically touches the vice, and also the perimeter is usually more volumeous than the inner parts, so it makes the part more rigid for longer during the job.
- Do blind pockets in steps, because the deeper any single pass, the more the bit will vibrate, and this makes the walls rough.
- The final pass should always be very thin for the best finish. 0.1mm finishing pass usually works well.
- When designing your CAD, inside corner radii are limited! Keep in mind the radius of your toolbits.
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.
- G0 always uses the machine's built-in feed rates.
A G1 is used for cutting (interpolated).
- G1 uses the last feed rate specified (in the loaded GCode, or manually entered).
Note that all GCode distances depend on what mode you're in. Either:
- Absolute: G90
- Relative: G91
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:
- Absolute positioning: G90
- Relative positioning: G91
Then move:
- Interpolated move: G1 f20 x50
- Rapid move: G0 x50
Workspace manipulation:
- G92 x0 y0 z0 (set workspace #1 current coords to these values- can omit axes to leave others untouched)
Spindle set to 1000 RPM:
- s1000
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).
- G53 = Workspace #0 - Machine Coordinates, where 0,0,0 is the position set by the homing position (Note that the offset from the hardlimits is set in UCCNC config).
- G54 = User defined #1
- G55 = User defined #2
- G56 = User defined #3
- …
- G59 #6 = User defined #6
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 shape of your stock
- Whether your CAD origin is accessible
- How the workpiece is being held
The general steps are:
- Pick an axis to find
- 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.
- Insert an object of a known thickness between the tool and workpiece, such as a shim or paper.
- Move the tool to close the gap very slowly (1% of default jog speed) until the object is pinched.
- 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!)
- 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.
- 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:
- Skip the shim- advance with spindle running and listen for the chips! (not good if you care about ruining your surface finish)
- Use an edge finding tool.
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:
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:
- Scroll all the way to the top
- Click REWIND FILE
- Double check the work area is clear to begin automatic movement
- 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:
- 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.
- Do whatever you need while the machine is paused. Move workholding/workpiece, or manually jog the machine.
- 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!
- Jog the machine back to the start of where you want to resume.
- Scroll in the GCode window to highlight the line and feature you want to resume at the start of.
- Click RUN FROM HERE. A message will be printed in the console to confirm.
- Click CYCLE START. A window will appear.
- Check “switch spindle on first”
- Check that feed rate is the same as what the GCode was doing.
- When you click OK, UCNC will do a G1 move from wherever you are to the start of the operation.
- Wait for the setup move to complete.
- The tool is now in position at exactly the start of the GCode line.
- 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!!
- Where are three buttons you can push to stop the machine?
- What is the most important thing to prevent when installing/removing collets?
- What is the most important thing to prevent after installing/removing collets?
- What type of collets go directly into Jaxen's spindle?
- Why shouldn't you home the machine between operations?
- Why do the steppers appear to jump when changing direction?
- What kind of precision can you expect to get with Jaxen?
- You want to move the spindle 5mm to the right. You type “G0 x5”. What should you do before this?
- What does G54 mean?
- When doing a touch-off procedure for the Y axis, what's the formula to convert spindle position to position of the workpiece edge?
- What happens if you jog the X axis all the way to the left? All the way to the right?
- 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.

