CNC Router Cart Design

Way back in February, soon after the build season ended, I ordered a Omio X8-2200L USB router after the glowing recommendations from people in the community. I have many ideas for projects and products to make and sell, and I figured it would be great to use during FRC season as well (my current team has 0 access to machine tools at the moment) and to familiarize myself so I can help other owners with any problems they may encounter with the machine.

Soon after I placed my order COVID-19 really began to hit and delayed shipping throughout the world, including the router I just ordered. My original plan was to use it throughout competition season for spare parts and start working on my own projects afterwards. Well, that didn’t quite work out as planned.

This week the first of the two boxes finally arrived! After assembling what I could with the top half I decided to design and fabricate a dedicated cart with power, guarding, and tool and stock storage until the other half arrived.

This is what I came up with:

Because so many people have this machine, and it can very easily be modified to suit various sizes of CNC routers I figured I’d share my design with the community as it would at least be a good starting place for those interested in making a nice, relatively mobile and robust cart. Below is the CAD with a mostly filled out BOM.

Manufacturing requirements for this specific design include:

  • Cutting and Drilling steel
  • Welding
  • Linear and Dado cutting of plywood

Optional: 3D printing (guard magnet mounts)

I made the frame and top shelf a composite part mostly because my dad currently has a lot of extra tubing I’m planning to use for this and loads of scrap plywood from various jobs. In hindsight I should’ve itemized them out individually so the BOM was more complete, but it’s easy enough to figure out the lengths.

A huge shout-out to my dad who gave invaluable feedback into the design to make it significantly more simple, cheaper, and easier to manufacture, as well as my sister who came up with some really creative solutions to a few of the problems I ran into.

As I begin to build this I will post some pictures and a few sentences about the progress and issues I ran into. Please feel free to copy the design to make your own and to give any feedback on the design.


This looks like a really neat design, good luck with it.

1 Like

Looks great! One issue I see (we have an X8), is the walls aren’t high enough. When we cut aluminum, the chips go much higher than where you have the tops of your walls. We actually use shower curtains hanging from the ceiling to prevent chips from getting everywhere.


Thanks for the tip! This is something I’m still considering, the enclosure, and I’m not convinced this will be the final iteration. I’ve toyed with the idea of a full enclosure but that would make the cart significantly larger than I would like.

One of my problems with the Omio design is that the X and Y drive steppers stick straight out from the machine, taking up significantly more space than the base of the machine takes up. I have limited space to run and work with, so I did my best to minimize the footprint without interfering with the drives. Other machines solve this problem with flipped motors and typically a belt run, but that’s obviously a more expensive route. That may be a mod I design and implement in the future, but for now I’m going to work with what I have.

To solve the problem of chips going everywhere I’m designing a dust shoe that I will make on the machine and attach a brush around the outer perimeter. The intention is it will be magnetically attached to the spindle and have a vacuum attached to it to clear dust and chips. I’ll release the design for that once I get to that point, but it’s fairly far off at the moment. I’ll try to make it 3D printable as well for people who would be more inclined to make it that way.

Edit: Btw, shower curtains are an absolutely brilliant idea to solve that problem!

My first thought was also about the walls/enclosure. When we first got our CNC routers, we were surprised that they cast off sharp chips much faster than our mills or lathes, and vaporized the coolant (filling up the machine room with a thick haze in no time). We’ve since built full enclosures for them and are much happier & safer. YMMV of course, I’ve also seen teams with CNC routers that didn’t give off either high-speed chips or toxic mist.


Strip brushes in your motor cutouts might help to increase the “enclosure” of flying chips while letting motor slide through if you go to put a top.

Great design!


To Sarah’s point, we keep our Omio fully enclosed, with a FogBuster running Koolmist 76 (a non-toxic coolant). We’ve never had issues with fog in the shop, and keeping the CNC very enclosed makes cleanup a lot easier, while protecting observers from the many chips flying. We do have different space constraints than you do though. Nice design!

Points all well taken. Thanks everyone for the feedback! Seems like a full enclosure is the way to go. I’ll be figuring that out in the next few days. This might make mounting the monitor and a keyboard easier as well.

I REALLY like this idea. I think I’m going to move forward with this. That will significantly decrease the footprint of this cart.

A question for the community while I’m here: I read in the Mach 3 installation instructions that a 32 bit version of windows is needed. Is this the case? I only have 64 bit machines, so I’ll either have to pick up a cheap one or just run a VM with win 32.

1 Like

We’ve had no issue with a 64 bit machine.

Keep the laptop away from the chips! (we lost one…)

also +1 for full or near full enclosure. We have found using compressor air without mist has been fine - and less messy. Ours is an x6 but very similar, just a bit smaller.


Pretty much no reason for a 32 bit program to not work on a 64 bit system, other than unrelated incompatibilities (or intentionally checking for a 64 bit OS and crashing itself if present). I’ve run Mach3 without issues on a few different laptops and desktops, 32 and 64 bit.

1 Like

I used a Chinese CNC Router software once that refused to operate on a 64 bit system. It would pop up an error message to that point. I had to reinstall 32 bit Windows to get it to even open.

Mach3 works fine on 64-bit, however.

1 Like

Thanks everyone for helping me set my mind at ease.

I started cutting metal today. Finished about 80% of the cutting and just need the verticals now. Another hour or so and onto grinding to prep for welding.

I have a few different ideas for the design of the enclosure, but I’m leaning towards a novel one I haven’t seen before on CNC enclosures (which I assume is for good reason).

Tabour Doors:

The movement would be virtually the same, but instead of opaque segmented panels, I think one single thin sheet of polycarbonate might just do the trick with a large enough radius and some extra gussetting. This idea prevents the door from swinging out while also allowing full access to the machine.

I have access to a lot of free UHMW from work that would work well for the guide surface, and with a few crossmembers I should be able to mount it pretty rigidly. Working on the details now, but would love to hear others thoughts.

Really quick mock-up:

Just imagine a handle bolted through the plexi inito the L-angle behind.


I received the second box of components which arrived in less than fantastic condition:

Fortunately all components inside were completely untouched and didn’t have a single ding or dent on them. The machine went together for the most part without a hitch. I finished the assembly in maybe 45 minutes.

Some of you who own this machine may notice I am routing the e-chain the opposite direction it is typically run, from the rear to the front. I’m doing this for a few reasons: primarily because I want to have the control box towards the front and below the machine. There isn’t enough extra wire given to run it to this position in the typical direction, so I decided to flip it. Doing this required drilling and tapping a few extra holes and caused a few other minor changes, largest of which is needing a longer wire run to the Y axis stepper (which I believe is a JST SM connector).

(If someone could help verify these are indeed 4-pin JST SM connectors that would be fantastic)

One odd thing about how the OMIO X8 is setup is the limit switches. In my experience the, “Home,” position on vertical 3-axis mills and routers are:

X axis Home: Furthest Negative (-X)
Y axis Home: Furthest Negative (-Y)
Z axis Home: Furthest Positive (+Z)

The limit switch on the Y axis seems to be in the positive position which I am far from a fan of. I’m planning on moving it to the front of the machine (Negative Y) which will require some re-configuring in mach3 but will in the long run make a lot more sense.

I ran around for an hour or so with a small file to clean all of the sharp edges on the extrusion and machined parts. There was one dent on the bottom edge of the gantry side plates (which came in the other package) that I spent some extra time on as it would have thrown the tram of the spindle off by at least a few thou. Some quality time with a fine file and then a quick india stoning and it was as good as new. I’ll be checking the tram once I get everything up and running.

I wanted to have a dedicated computer for this machine that takes up as little space as possible. While searching I stumbled on these little guys:

Aren’t they so cute? These seemed like the perfect application for this project, so I picked one up and got the peripheral to go with it: a touchscreen monitor. The reasoning behind the touchscreen is, in my experience, using a mouse while standing and working around a machine is far from convenient. A few of the CNC mills I’ve worked on in the past had touchscreen interfaces which really helped with speed and ergonomics. I’m picking up a cheap bluetooth keyboard and mouse as well, but when running the machine I plan to primarily use the touchscreen and handheld controller.

I started setting up the computer with Mach3, placing the omio settings into the correct folders and all. Everything was going fine until I ran into issues with plugins, well, at least that’s what the error said:


I’ve reinstalled M3 three times now with no success. It seems adding the remote controller .dll (Shuttlepro.dll) plugin seems to break all of the other plugins. I’m not sure what I’m doing wrong, so any help would be much appreciated.

Progress on the frame for the cart is going well.

My dad is far from a welder and only knows so much, so I spent some quality time in the weld shop at work with a few of the guys who MIG all the time and got a few fantastic pointers from them. Still endless room for improvement, but already better than when I started.

Side note: I highly suggest all future engineers spend time on the manufacturing floor before locking yourself away in an office. The people making the equipment see every single issue you designed into it and more often than not will happily tell you how you screwed up which will be both a humbling and educational experience.


The reason why +Y is the limit is because that moves the machine to the farthest extreme away from the user. It makes setup slightly easier to do it that way.


This was my assumption as well, and it is completely valid. I’ll probably keep it how it is for now and switch it if it ever becomes a problem.

Typically most of my setup time is spent near (0,0), and when I home the machine I would like it to be at 0,0. I guess it’s just as easy to throw in a G0 X0 Y0 after homing and getting the material in place.

That may still be the case. IIRC the Y-axis limits are set to (-900, 0) by default, so moving to 0,0 will send the machine to the back.

I see, so all Y values on the machine besides zero are negative until you create a new coordinate system. Definitely not a fan of that. I’ll almost certainly set it to (0,900). Constant negative axes values can lead to plenty of missteps in programming and manual commands.

Keep in mind that this is only the machine coordinate system. Normally you’d be making a local zero for any job and setting up global offsets (like for tube jigs) one time. We usually do our CAM assuming the part is in the 1st quadrant (+x and +y) and zero it accordingly.

You know what they say, “A grinder and paint makes me the welder I ain’t”

Keep up the good work


people aren’t gonna like this one, but I think its a good application for this suggestion;

You could make the design more accessible (not require welding) buy using 8020 (although hated in FRC), I think this is the correct application for it.