Problem with Omio CNC router

We have recently acquired an Omio CNC router and wanted to use it with Autodesk Inventor/HSM Ultimate plug-in or Autodesk Fusion 360. I am new to CNC router, so bare with me for my ignorance in this area. I have created our team logo as our first CNC engraving project using Fusion 360. When trying to generate G code, Fusion 360 was asking me to pick a machine from its list. And of course, Omio is not on the list. I have played with an old Shapeoko CNC router (from Sparkfun) before so I pick Carbide 3D from the list (Shapeoko is basically a Carbide 3D machine). My rationale for picking Carbide 3D is that I used CarbideCreate software and created the same team logo project on it. I fed the resulted G code generated by CarbideCreate directly to the Omio CNC router and it executed the G code beautifully. So I know the G code for the Shapeoko is perfectly compatible with Omio. But when I finally using Fusion 360 to create the same logo, the resulted G code caused some issues with the Omio machine. When it executed the G code, the machine first executed the “HOME” command (G28). When the machine was “homed”, all three limit switches (X/Y/Z) were engaged and the machine stopped. Then the machine proceeded to move to the “zeroed origin”. It moved in the Y axis less than an inch and the whole machine stopped with a non-stop beeping with the X and Z limit switches still engaged. From previous experimentation, the same non-stop beeping would happen if I manually control the gantry to move to the extreme left (X-axis) and engaged the X limit switch. I even commented out the G28 command (“HOME”). The machine doesn’t “HOME” any more, but when trying to move the zeroed origin, it stopped again and gave me the non-stop beep. Then I thought may be I shouldn’t pick the Carbide 3D as the machine in Fusion 360. But then what should I pick since Omio is not on the list. I found an entry “Othermill” on the list. Don’t know if it is actually a brand name or it meant “any other milling machine”. In any case, I picked that and regenerated the G code. The same thing would happen. The machine stopped with a non-stop beep after the HOMING operation.

Does anyone know what is causing this issue? If it helps and you have an Omio machine, I can send you the generated G code so you can try it and let me know what’s wrong with the code.


I’m certainly not the most informed individual who should be responding first. My experience with CNC routers and machines has been very limited with my experience on 973. However, I will take a whack at it.

Did you happen to “zero” the axes on the machine to a specific location within your table bed space (horizontally & vertically) to confirm that your home / zero position is in fact within the constraints of your router? I know for the Mach3 CNC machine controller that you have the capability to jog the x, y, and z stepper motor independently to set your own zero position. It seems like right now it’s trying to move to a home position that has been set outside of the table and spindle travel limits.

Yes, I have done the proper calibration including moving the gantry to the zero position and press the “set zero” buttons and also use the probe sensor to properly set the Z axis to zero. And I can prove the zero position is valid because I can press the “2nd/Goto Zero” buttons and the gantry will move and stop at the set position.

Ah well that stumps me.

Adam Heard and a few others who have a wide breadth of experience with the Omio units will certainly be able to help you out. We should be getting one or two soon so I’ll bookmark this if we end up having issues with the homing as well.

Can you post the first 20 lines or so of each program?

FYI any machine running mach3 will be the same more or less, so there is a fair amount of information/guides online for them.

1 Like

Assuming that you’re running your Omio with Mach3, Fusion 360 has a Mach3 post. This is what we used for this build season with very little issue. We like to use adaptive-clearing toolpaths occasionally, so we modified our post to switch Mach3 into constant velocity mode allowing much smoother operation. You shouldn’t need to do this if you just want to get the machine running. However, we did experience some weird issues with G28 when first using the router, in the heat of build season we just stopped using G28 and haven’t tried to figure out what was going on since. I have attached an image of our post-processing window in Fusion 360, let me know if you have any further issues.

Here is the first few lines of the G code that was generated by Fusion 360 and caused problem:

(T1  D=3.175 CR=0 TAPER=90deg - ZMIN=-4.658 - spot drill)
(T3  D=3.175 CR=0 - ZMIN=-5.54 - flat end mill)
G28 G91 Z0

T1 M6
S10000 M3
G0 X-241.609 Y-117.58
G1 Z-1.001 F762
X-241.246 Y-117.217 Z-1.364
X-241.071 Y-117.455 Z-1.126
X-240.976 Y-117.58 Z-1.001

BTW, being a beginner in CNC milling, I had defined two different tools for different part of the engraving and was assuming the machine will stop and prompt for tool change. It didn’t. It just kept going with the origin tool all the way to the end. It looks like the only way to achieve tool change is to generate one G code file with only the first tool and then generate another G code file with only the 2nd tool. Is that correct?

Here is the the first few lines of G code generated by CarbideCreate that got executed without any problem:

M6 T102
M3 S9375

Thanks for the reply. We just got the Omio for a few weeks and it came with very little documentation so I don’t know what you meant by “running the Omio with Mach3”? Do you mean I have a choice in the “Param” page to choose what G code it can execute? I don’t recall seeing that. I will go to the shop tonight and go through the param page carefully to check out the options.

I believe that is correct.

Mach3 allows the setup of tool libraries so that you can prompt a tool change and insert a tool with a known offset, however I’m not certain it will prompt for a tool change and allow you to set z-zero before continuing. We’ve been posting our programs by tool so each new tool gets its own program, and we haven’t had a problem with it. If you want, there are toolholder systems for ER collets that allow you to insert a tool with a known offset.

Mach3 is the software you are using to open your g-code and run it. This is what interprets your g-code and translates it into signals sent to the controller box provided with the router that runs the spindle and stepper motors. So any issues with how g-code is being translated into movements with the machine usually has to do with Mach3.

It looks like this:

This is the software that came with the router.

You have the Orange box, -EPL Omio, right?

sorry, but you should have bought the -USB model. that way you could run your own pc and mach3, which is a much more versatile controller software than whats in the orange box, which is a repackaged Dream DDCNC (google for pdf).

remove the first line and the G28. its not obvious and it doesn’t follow traditional gcode rules. it can only understand basic, really basic, code. cannot do any O command lines either. that will freeze it too.

I would also avoid that M6 tool change too. it can handle it, there are entries buried in the menu to set your tool length and diameter offsets. but honestly its just difficult to program and keep track of because of the limited GUI.

Ah, I should’ve asked for the exact model of the router, forgot Omio sold those.

I’ll search around and see if there is a post out there for that controller.

Yes, we have the orange box. So it doesn’t require a computer hooking to the machine. We decided to go that route because the shop is full of debris from building robots, so we don’t want to place a desktop computer to literally collect dust/debris. Sure, we can use a laptop and put it away afterwards but most of our team laptops are not powerful enough to run Inventor and if we run Inventor on a computer somewhere else and then transfer the generated G-Code to the shop computer then it is the same thing as the orange box. Besides, we don’t really want to design robot parts while standing next to the CNC machine. We would normally run Inventor on a powerful machine somewhere comfortable and then transfer the G-Code to the CNC machine. Therefore, the orange box seems to be the logical choice.

Ok, here is my latest experiment.

  1. In Fusion 360, I now picked Mach3Mill as my machine in Post Process to generate the G code (the first few lines attached below).
  2. I commented out the G28 line as well as the M6 command.
  3. When the Omio executed the code, it didn’t home the machine but it moved to the extreme left (x-axis) and touched the limit switch, then the VFD shut down and non-stop beeping. The status showed that it was either executing the line (14: G0 X-82.123 Y-10.243) or about to execute that line.

(T1  D=3.175 CR=0. TAPER=90DEG - ZMIN=-2. - SPOT DRILL)
G90 G94 G91.1 G40 G49 G17
; G28 G91 Z0.

T1 ; M6
S10000 M3
G0 X-82.123 Y-10.243
G43 Z15. H1
G1 Z-1.001 F762.
X-82.106 Y-10.223 Z-1.014
X-82.09 Y-10.211 Z-1.028
X-82.064 Y-10.2 Z-1.053
X-82.027 Y-10.191 Z-1.087
X-81.98 Y-10.184 Z-1.132
X-81.856 Y-10.176 Z-1.253
X-81.692 Y-10.174 Z-1.415

This should solve your problems. The “Orange Box” EPL Controller will not work with Mach3 or GRBL(shapeoko) post processor. Also make sure to home the machine before zeroing your part.

Thank you so much. I followed the instructions and installed the Omio post processor. I selected Omio in Fusion 360 Post Processing dialog and generated the G code (the first few lines attached). I then proceeded to calibrate the machine to the zero origin of the stock and also used the probe to calibrate Z-axis. After all that, I started the machine. It again moved to the extreme left until the X limit switch is touched, but it’s a big improvement. It did not stop and proceeded to move to somewhere and started to cut. Unfortunately, it seems the G code generated is cutting to the left of the X origin (i.e. negative X). Do I need to do something in Fusion 360 about the “origin” of the stock piece? I created the piece with the lower left corner being the X and Y origin.

M03 S10000
G00 X-82.123 Y-10.243 Z15
G01 Z-1.001 F762
X-82.106 Y-10.223 Z-1.014
X-82.09 Y-10.211 Z-1.028
X-82.064 Y-10.2 Z-1.053
X-82.027 Y-10.191 Z-1.087
X-81.98 Y-10.184 Z-1.132
X-81.856 Y-10.176 Z-1.253
X-81.692 Y-10.174 Z-1.415
X-81.487 Y-10.178 Z-1.618
X-81.241 Y-10.19 Z-1.862
X-81.102 Y-10.199 Z-02
G02 X-81.112 Y-10.378 I-0.999 J-0.037
G01 X-81.651 Y-10.359 Z-1.467
X-81.781 Y-10.353 Z-1.342
X-81.889 Y-10.342 Z-1.237
X-81.947 Y-10.329 Z-1.18
X-82 Y-10.307 Z-1.124

You wouldn’t need to conduct your CAD work on that machine, or even run Inventor on that machine. That machine would simply need to run Mach3. CADing elsewhere and transfering is not the same as the “orange box,” because you get access to the Mach3 interface and Mach3 post-processor.

Well, that’s too late for us. We have the orange box now so we would never know how wonderful Mach3 is comparing to the orange box. So what is the workflow for Mach3? It sounded like you don’t need to do Post Processing in Fusion 360? So what do you feed to Mach3? Since you mentioned Mach3 is doing the Post Processing, I assume you are not feeding G code to Mach3.

It looks like the Post Processor thinks the origin of the stock piece is right at the center. So if I calibrated the center of the stock piece as zero, it will cut correctly. So I should always design things with the origin of the stock piece as the origin in the Fusion 360 build space, is that correct?

You need to set your WCS orientation. This should help.

By default it’s the same as the orientation of the build space but it’s easy to change.