My 48" X 48" CNC Router Table


Staff member
Jul 9, 2023

my "shop" (an old gutted out camper) is a mess, but there is a machine in back there.
Thought i would start with a sort of image progression, with available images.
first rendition, i think this was back when it was parallel-port controlled.

Mounted the Perske spindle back on, in place of the Makita RF1101 router.

Getting the Mesa 7i80HD-16 mounted and wired.

mounted in the new enclosure. wiring was pretty scattered. parallel-port connections just connect between the control enclosure and the machine junction box.

the new ATC spindle, parts laid out, closeup of spindle, and spindle mounted.

the spindle, as of current, is mounted, wired, air plumbed, and works quite well, though runs a little hot. i suspect i rushed the break-in procedure...
there is still a lot left to do...
  • mount spoilboard
    • needs a lot of room, so will have to wait for new shop completion
  • mount tool-length sensor
    • can be mounted direct to aluminum table for consistency
    • needs NPN -> PNP changer
  • build ATC changer
    • needs room, so will wait for new shop
    • will weigh Linear vs. Carousel
  • rigid-mount all home sensors
  • make enclosure around machine for laser protection
    • will wait for new shop
  • build vacuum shoe for spindle
    • must clear when changing tools.
      • could rise and fall on small linear rails
      • could use pneumatic piston to lift and lower
      • use hair strips around spindle-bottom
      • could also swing forward for extra clearance
  • build laser fume extraction
    • must not interfere with vacuum shoe, or tool changes.
    • possible to mount laser onto vacuum shoe
      • means shoe would need to be down for laser, so maybe not...
      • perhaps a second lift affair to move laser up and down
        • could use the Z axis from my old GRBL CNC
    • thinking i could vacuum air with either a small shop-vac, or a CPAP/BIPAP fan
      • will need to filter air very heavy, with carbon and a HEPA filter
Control Console
i really need to work on the Mesa 7i73 based control console, as it has some important functions on it, as well as future needs. thinking a 18" X 20" sloped console, built from wood, should be plenty. the front needs at least 2.5" - 3" of inside height, for the buttons and switches i have. the top panel can be a piece of 3/8" multi-ply underlayment. should be stiff enough, i think.
then it is only a matter of cutting in holes for the LCD display, encoders, switches, and buttons. and routing the wires in such a way that the opening and closing of the console will not pinch a wire.
one option, is if the back of the console is tall enough, i can mount the 7i73 on the back, with the breakout boards. then i can just make the bottom as a removable panel for access. probably 3/4" plywood, as i hope to mount the console on a movable pedestal. the pedestal could even be just an office-chair base, with fresh new wheels on it, and a post mounted to the console.

ATC Changer
i have re-worked the tool-changer script to go back to a linear rack, rather than a carousel. i think it will be easier, and cheaper.
i could possibly make a double tier rack, with the upper rack further forward, and offset so the tools will be between the lower tools, to prevent obstruction when sliding out. will have to be short-wide tools on bottom, and narrow-long tools on top, if there is even room to do it. will take some calculating and figuring... i could spread the tools a bit wider and crowed the upper deck down as low as possible. but i will have to build a mock-up rack with a few forks on it, and buy some tool-holders. i need at least 3 in-rack to test.
this will push my work area further up the machine, though. so it will restrict the size work i can do. if i am making mainly signs, it may not be a big issue, unless somebody wants a huge sign. i will just have to establish what the max size material will fit, and what the max size work area on that material is. i can draw some marks on my spoil-board to identify the limits. and the limits for my laser will be different than my router, because the laser is a side-offset. this will also offset my router center-of-work vs center-of-material. on the spoil-board, i could route a small groove that identifies the router work area. and then burn with the laser, the limits of my laser work area.
the changer will need some inductive proximity sensors to tell the machine if there is a tool there, or not. these will need to be as close to the ISO-30 ring as possible, so may have to come up from under, at an angle, to fall into the cut-out in the back of the forks. lower deck could angle down, and upper could angle up.
i had considered the idea of sliding the two decks in and out, but i don't think it would save anything as the tools sliding out need to clear the material and spoil-board. so the lower deck would have the tools nearly just above the metal table.
i just thought too, a second deck would really be a PITA to make stiff and work well... perhaps i will return the somewhat old idea of tools 1 to x are in the rack, and tools y to infinity are manual change from a numbered tool organizer rack. this will also require maintaining the LinuxCNC tool DB with accurate numbers for tool length, and diameter. it may be worth it to stamp or engrave tool pocket numbers into the tool-holders, though it could change balance.

Vacuum Shoe
i need the shoe to only move enough to allow tool changes. (the other reason a two-tier rack would not work) the part around the spindle nose could be mostly just brush. the shoe could be angle-aluminum, two pieces, parallel, and to the sides of the spindle. short brush on top, just to sorta seal around spindle nose. long brush on the back end to just clear spindle nose and catch flying dust behind spindle nose, and long brush down to keep the aluminum off the material. on the front, the shoe would have a sort of scoop to collect dust and feed it to a vacuum hose connector. 4" hose would be best. the design would then allow the shoe to move up and down for tool changes, as well as slide right out and off for maintenance. would use the air piston i have to actuate the shoe. the lower limit of the shoe/brush would be about 3/4" to 1" lower than the bottom of the collet. the brush would be a little too high when piercing the material, but would be fine for deep cuts, without the brush being in the way of the cut. i will just need a dust collector with a lot of vacuum to pull in the dust.
shoe will be in upper position when laser-mode is active.

Laser Shoe
no brush is needed. the shoe just sits on and sucks the fumes up, as well as visually blocking the laser. would suck through a small diameter hose, like a CPAP/BIPAP hose that could be bundled to the side of the dust vacuum hose, and suspended from above. fume extraction does not need powerful suction, but does need strong filters (carbon and HEPA). a good shoe may negate the need for laser ==> eye protection.

Tool Length Sensor
will be mounted direct to aluminum table, and be beside tool rack. will need one rack space, but is mandatory to be installed, for ATC to function correctly. i still need to attach a NPN to PNP changer to the signal.

must be firmly mounted at the four corners, and counter-bored to get the fasteners lower than the surface to prevent cutting into them. can mount with washers so thin remaining wood with be a little stronger. perhaps 1/4" remaining, should get the screw tops low enough. maybe i could make a G-code macro that i simply mark the hole center, and align it up, letting the machine make a nice pocket.
material attachment to spoil-board will be through simple screws down into spoil-board. no need for T-track, even though i have the hardware kit. i could route T-tracks into the spoil-board, if i need jigs. mostly just edge cam clamping, or screwing right through the material. i could saw a bevel on the material, outside the finish size, and use the bevel for firmer clamping. that way there are no clamps in the way of the machine and tools.

i still need to make sure the spindle is as close to perpindicular to the material as possible. the mount may be less than ideal, but i think i have room to tram. i will need a tramming gauge, and a bare table top. then i just need to rotate the spindle until left/right verticle, and either shim the top or bottom until forward/back vertical. then lock it down, and maybe use safety wire or something to prevent it from moving. either that, or setup a scheduale to check and correct the vertical.
ATC Changer
i did a little test, and mounted a fork onto a strip of plywood. then i clipped it onto a tool-holder in the spindle, and i took a second fork (ISO-30 fork, not a dinner fork) with a tool-holder loaded into it, and slid it along the strip of plywood. it touched the other fork before there was interference with the spindle nose and tool-holder. i spaced away enough for the fork to clip on and off the tool-holder, and came at a round figure of 3" fork center to fork center. though the dust shoe may change that...
Dust Shoe and Laser
if i change the dust shoe so it sucks from the back corners of the spindle, the laser could be mounted on front. i could put the laser on a manual slide, with a fixed stop at bottom to maintain focus. the dust shoe would need to flip up i front, and a bit on the sides, for the tool rack and changes. this change will eliminate the issue i just thought of where the dust shoe vacuum hose would occupy space in front, and would shrink the work area due to it hitting the tool rack when down.
so, the vacuum hoses with this idea, may not even need to move when changing tools. just the front nose will need to move.
when the laser is in position, i could arrange Laser Mode (from the control panel) to disable tool changes, or put in manual mode.
laser could be mounted on a dove-tail slide, or similar. with stops and a locking screw.
vacuum hoses could be hard-pipe down on the spindle, to prevent binding, and attach flexible hoses up above.
primary dust shoe could simply be made from plywood, with brush attached around it, and suspended from the Z-axis box, rather than the spindle nose. this may need spreading the tool rack pockets wider. if that is the case, i could just use the most common tools on the rack, with the lesser common tools on the manual rack.
this would be a good reason to have a stack-light on the machine. notify with a flashing light and a short beep when a manual change is requested.

Spindle Temperature
perhaps i could build a minimal Arduino UNO, with ModBus ability, for the spindle temp sensor... if it won't fit on a UNO, i will need a MEGA2560, and that seems like overkill on hardware, for just a temp sensor. will likely still use the K thermocouple module. hopefully i can make it in a small package... it will need a header for ICSP. the temp can be scaled to 5 digits, for ModBus transmission (ex: 125.42F would be multiplied by 100 to get 12542). that way i don't have to figure out how to send a decimal number. it would then be simple to multiply by 0.01 to get the original number.
changed the SERVO_PERIOD from 2,800,000 to 1,000,000, still seems stable. also added in isolcpus=3. max rapids are around 5340 mm/minute now, from 4000-something. i didn't even change the max velocity settings! so the SERVO_PERIOD from before must have been actually limiting my max rapids.
tested latency with latency-histogram --nobase, and was getting a max jitter of 58.2us. rather terrible, in my perspective, but it seems to run. only other thing i could do would be to change computers. i wonder how my Dell PowerEdge 1950 would fair... i bet not great on the video graphics, given the base SVGA adapter they have in them, with no chance of upgrade, really. may be worth testing out. i mean, it has dual Xeon CPUs, though that may be worse, who knows.
Probing Notes
ok, first i need to load the probe, and probe a constant, like the aluminum table surface, then back off fine, until the probe clears. then measure the distance from the tool-holder down to the table. then add this number to the probed number to get the distance from the tool-holder (constant) to the table.
now, probe with the 3D probe, down to the tool sensor, and back off fine, until the probe clears. this will give me the height of the tool sensor by taking the table height, and subtracting the probe to tool-holder length (#5403).
so, i think, if i know the table to Z origin height, and the tool sensor height, i can figure out he length of the tools in a macro and set them with G10 L1. i subtract the tool sensor height from the Z origin to table height, then subtract the probed Z position from that, and it should give me tool length, in theory.
in practice, who knows. it depends on how well i can measure the probe in the first test.
Probing Notes
it occurred to me, i would be probing wrong, above. all i have to do is probe the spindle nose to the tool sensor, record this number as the constant. then subtract that from everything else i probe with the tool sensor... easy. so to then probe my 3D probe, i probe it to the tool sensor, back off until it just breaks contact, and subtract the constant from it. tada, probe length!
Last edited:
Probing Notes

just thought i would mention, i was still wrong on probing.
the constant is the probing tool itself, and the offsets are the differences from that. so the probe is set as zero length. probe down to the tool sensor, with a back-off, and get the length from origin. mark this number down.
when probing tools, we take the probed tool length (#5063 in LinuxCNC), and subtract it from the marked down constant.

one thing of note, this is a large aluminum machine, and is very subject to temperature changes. this WILL affect probing accuracy. i have watched the machine grow as it warms up, while making repeated probes.
Not much progress lately, as my shop is currently snowed in, and due to medical reasons, i have had severe fatigue and migraines, so little interest in progress.
i am however still saving money when i can for the new shop, though not much is saved yet. i hope to get a little bit of a tax return, but not holding my breath...
when the machine gets into the new shop, i plan on consolidating the wiring more to the machine, so it will have just one (hopefully) plug. though with the VFD, that isn't exactly possible... but i will still try it.

the plan is to mount a piece of plywood on the back of the machine, and mount the control box onto it, as well as the VFD, and maybe a small breaker sub-panel. then the cord from that panel, to a wall/floor outlet that is secure (4-prong stove?). current will not be high, but it needs 240Vac for the VFD, and enough current to share for the CNC logic.
then i can drop the machine-side logic junction, and run the connections directly into the control cabinet.

the cabinet for the machine-side junction could possibly be used for the control panel, if i can make holes in the cover. may be easier to make a wooden insert... the LCD screen can just go behind some lexan. i need to find some 3.3v LED indicators that are panel mount, too.
Debating on a complete re-wire of the control cabinet when i move to the new shop.
My basis for this thought is for ease of debugging, and upgrades. when i mount the plywood on the back of the machine, i can isolate the power and VFD and Pneumatics, and then build a shallow control cabinet, shield it, and mount boards and route wires. i can have a relay section too. the idea is, if a component goes bad, isolate it quickly, and replace it. so each relay block will be labeled/numbered. and my master book will detail what each relay, for instance, is used for. and relay numbers, once retired, will not be used again, to prevent future confusion.
i need a similar system for wires. junctions will also be numbered, and located. wire numbers will not continue through a junction.

the machine right now is so hap-hazard wired, it is scary. i need to make it production.
it may be a good idea to layer the controls in a structured way. Power and stepper drivers, Master Logic, Analog, Input, Output and Relays. though, that would be just more of what i have now... better to distribute the controls in a visible and manageable way.
if i have power and air on the back of the machine, i can have the logic controls down the left side of the machine.

i need to make the cabinet so that is the roof leaks, the electronics stay dry (plus tarp the machine). so if i make a little "roof" over the doors, to direct water away from the doors, i should be fine, depending on wire entry style.

then i can make a shielded section for the stepper drivers (shielding tied to an earth ground, not electrical ground) in the back. followed by the master logic, also in it's own shielded cabinet, with all the Mesa boards in there. next shielded cabinet will be relays. then under the bottom and along the top will be raceways for wires.
the "roof" on top will be removable, as it will serve as the top raceway. the top raceway will route wires from logic to relays, and logic to machine. the bottom raceway will be for power wires to logic, and power to junction to the machine. the fuses will all be in one spot, in back of the machine, with blocks like i have now for 5V, 12V, 24V, and stepper drivers (48V). the VFD cable will NOT run in the logic raceway as it is much too noisy, even if it is shielded cable (needs an earth shield too).

i need to find a large 12V supply for my machine rather than the camper supply i am using now, so it is more reliable, and stable. if i wanted to be future-proof, i would get backups of the power supplies, but that would be very expensive. i wonder if just a computer ATX PSU would work... for all but the stepper and 24V. if it is high enough current on the 12V, i can just use my 24V boost converter i have. then i just need a toggle switch to trigger the PS-ON to ground, and it will power the machine. or i can just get a 24V PSU to run along side it, and when the ATX PSU powers on, toss a couple relays for the 24V PSU and 48V PSU AC supplies. or just wire the ATX full-on, and throw one master switch for all. it can even throw the power for the VFD at the same time.
I have decided the master book will be a spreadsheet. i want at least the following fields:
Wire Sheet
ID = non-retiring numeric ID number. so of wire 030 is replaced the new wire MUST be 030, and the spreadsheet color code changed if needed to reflect the new wire color.
COLOR = color of the wire. MUST be updated if wire is replaced.
SIGNAL = "M7i80-00 <- E-STOP loop" for example, states this wire connects the E-STOP loop to pin #00 of the Mesa 7i80. the arrow denotes signal direction, being an input in this case. i need a way to denote analog...
START = location of start of wire, "M7i80-00" perhaps.
END = location of end of wire, "JCT135" perhaps.

Junction Block Sheet
= "JCT..." non-retiring numeric ID number.
LOCATION = "logic cabinet, upper left" perhaps.

Relay Sheet
= "RLY..." non-retiring numeric ID number.
VOLT = required volts for relay coil.
AMPS = Current rating of relay contacts.
SIGNAL = "Laser power enable" perhaps.
a relay pin can be referenced by it's id, "RLY025-34", on the wire sheet start and end. i want to label connectors somehow, too. so the spindle power connector could be "CON-SPND-P", or similar. the Mesa connections will be as previously described, so as to not be confusing with connectors. or rather the signal comes from the Mesa pin, the wire START and END attach to the connector, "M7i80-P1-00", or even the breakout pin number assignment, meaning i need to label the breakouts. perhaps, "M7i80-BOB1-00".
at some point i will need to experiment with a dust shoe system. something that will not get in the way of the tool changer. i need some sort of dust shoe elevator, so that during tool changes, the shoe is up and out of the way. but when it is needed, it floats down to the wood surface, or a predefined stop. the easy way would be a pneumatic piston to move it. i happen to have one, though it lacks any attachment points on it. could drill, tap, and bolt something on. it is a double-acting piston with soft-endings. i think it has about 4 - 6 inches of travel. should be plenty to pull a dust shoe up and out of the way, depending on how much "lift" it has. at 100psi, around 1" on the forward side of piston, so about 100 pounds of lift i would say, if my physics are correct.
so the shoe will either need to be two part, or have enough suction that the back can be open. with a 4in hose, i think i can have an open back, and just have a shoe that sucks from the front of the spindle, and a little around the sides. the shoe brush will need to be long, i think, to make up for the tool holder length, plus bit length. but not so long that it gets wound up in the bit, or crushed between the work and machine with close work.

the laser will need to be remounted, and height adjusted. i want to adjust the laser height adjust script to check for a tool in the spindle after clear, just to make sure it does not crash the probe again. the height adjustment can be done with a 50mm piece of wood. i have only to run the script, remove the probe, and after it sets the height, i adjust the laser until the laser body is 50mm off the probed piece of material, using the 50mm block of wood. wood, because it forgives a bit.

i have some audio snakes i am not using i can use for analog signal lines for my CNC. from my 7i83 to my VFD (spindle RPM), from the 7i83 to a PWM converter (for the laser PWM), from my VFD to a 7i87 (spindle RPM feedback), from a pair of 0-5v/0-150psi sensors for compressor air charge and regulated air charge. i would like to swap these for 0-10v sensors at some point. currently my analog inputs are on my 7i70, but they are 8-bit only, and are pretty jittery. i need to save up to get a 7i87, before they are obsolete.
been thinking about the dust shoe... and i wonder if the shoe and lift would be too much for the Z axis to lift up. the spindle alone is quite heavy, and needs a brake. here is a thought, and it is just that... a thought. what if i make a dust enclosure over the whole machine? if i have a rubber boot to supply fresh air to the spindle head, with a hose, then i can suck off the air from the machine and run it through a dust separator. then at the end of the machine cycle, vacuum off the work piece. i could even pump air out of jets around the spindle head to keep the bit clear.
just happened to think as i posted just now... the laser air will want to come on when the CNC is running, just to keep the dust from clogging the port. i don't think it uses much air.

the air blower for the spindle could even come from a small blower fan, to save on shop air. like a CPAP style blower, or vacuum outlet...