I can afford a Shapeoko or other desktop CNC router, but I don't know much much I'd really use it. Building one adds an extra adventure for something I may not use much.
So, I built one with a mix of Actobotics/Gobilda parts and some rails and a few 3D printed bits. Using more 3D printed parts and could save a lot of money over Actobotics, but it would reduce the ease of tweaking the machine and make more waste. Using parts that I could potentially re-use elsewhere saves waste on this first round when I inevitably take it apart and/or upgrade.
I also don't have space to have it setup full-time somewhere, so it's designed such that taking the X gantry off of the Y rails involves just 4 screws.
I made some 3D printed parts to mount my rotary tool - available on Thingiverse. Time to test out milling / routing!
I had planned to use MGN12 linear rails for the X-axis, but shipping from China, they took awhile. I had some spare parts and used a V-groove slider and a 12mm linear shaft bearing:
This worked surprisingly well. I suppose I should expect that since X-Carve and many others use V-wheels. The biggest problems were not any issue to slack, but rather pitch wobble (around X axis) due to the flex of the shaft and the proximity of the shaft and extrusion. Also there was significant roll (rotation around Y axis) due to only using one linear bearing on each side of the Z slider shafts. The two linear bearings in use on the X axis were meant for the Z axis - I really needed them back there.
With the rails installed and all 4 linear bearings in use for the Z axis, it is dramatically more rigid. There is still some pitch wobble. In part due to the small size of the extrusion. But also the supports on each side flex a bit.
I've experimenting with a lot of CAM. bCNC (used for the spiral), JSCut, F-Engrave (for the face) and Fusion 360.
One goal is carving up insulation foam for prop making. Since it works fine on pine, I expect it to work just as well / better on foam.
It's quite noisy though, so I probably won't be experimenting much on the router/mill side of things until I have a real project for it ready. (Despite no Loctite, no screws have wiggled loose yet due the noise/vibration.)
I furnished a drag knife from some available parts (hence using the odd 1.5x2.25" piece instead of a 1.5x1.5" piece). At first I tried using a "swivel hub" which I thought would be perfect, but doesn't move nearly smoothly enough under the loads of the drag knife. So I switched to flanged axial load ball bearings holding a shaft with spacers and collars on each side. I have some trust bearings too, but opted not to add them, as no commercial designs seem to use them, so the load must not be too much.
I used bCNC's Drag Knife plug-in to generate paths for it. (Note to self: surface height of material properties is the depth of cut used)
It works...mostly. The squeeze on the blade isn't quite enough, and eventually it falls out of place. The drag distance isn't fixed/certain so getting sharp corners is tricky. And it's completely useless in corrugated cardboard.
I decided to 3D print a small part to attach to the Actobotics hub. This makes the drag offset more stable and it won't wiggle out of place.
Cutting paper works pretty well - you can see the sharp edges above. Cutting thin (~2mm) craft foam work well, using a 1mm lift swivel height. Cutting even non-corrugated cardboard does not work well - there isn't enough rigidity right now.
I suspect for corrugated cardboard and thicker craft foam, I'll need to try my hand at a tangential oscillating knife, or write a gcode post-processor to do the stabbing.
(ignore unattached Y bearings - it was just testing alignment)
The design is pretty simple, though it has one variation from most other designs I see. I didn't like the idea of the stepper's shaft handling all the load from the X&Y belts while supported on only one end. That seems like a recipe for a bent shaft and/or the belt jumping. So instead, the shaft for the bely pulleys are supported on both sides:
I'm using HTD 3mm belts - 3mm pitch GT2 would be more appropriate for lower backlash, but this is what Gobilda had parts for. Popularly available 2mm GT2 belts seemed like they might be too prone to skip under load.
Most of the parts were ordered during ServoCity Cyber Monday Sale, which made a ~25% reduction in cost for this project. I also bought some very under-priced SBR20 rails for the Y-axis on Amazon and reasonably priced MGN12 rails on Banggood for X-axis. The MGN12 rails are still the mail despite "ships from US" claims.
So, instead for the X-Axis I used Actobotics V-Wheels + a 12mm rod w/ linear bearings. (I only had one v-wheel set and one long enough rod) I suspected the Actobotics "X-Rail" (~2020 extrusion) would have too much give for a 2' (~600mm) span. It does have too much give for what I plan, so may wait for the MGN12 rails before trying to push it.
v0
Initial assembly I skipped the Z-axis shafts + bearings, and left only the lead screw + channel. I had an idea to use some springs and a screw to let the pen move upward in Z to account for an uneven surface / nonsquare bed, as seen here:
It worked, but very poorly - there was too much friction with the screw threads and too much wobble, so I added the Z-shafts...and it wouldn't move at all. It turns out order of tightening screws is very important. I tightened the shafts to the center channel first and then attached the parts to the linear bearings. Instead I had to loosen the screws on the connectors center column, then move the carriage to the bottom; tighten the bottom screws; move carriage to the top; tighten the top screws. Then tighten then screws on the carriage itself. Finally the Z-axis moved fairly freely. But there was still enough friction that the pen wouldn't drop with gravity. So, I added some springs. (The Z-screw is not directly connected to the carriage)
success!
There looks like ~0.5mm or so backlash. It's because the pen pressure is too high and the angle of the pen itself isn't rigid enough, not due to the belts. Less pen pressure yields better results. Ideally I'd just use gravity, and may someday improve it to not use springs. But being a plotter isn't the only plan for this.
I don't have an option I'm happy with yet for simple plotting. There many options and I think all are OK at best - none are great. I used bCNC for most of my tests so far. Today I discovered https://github.com/mahtDFR/inkscape-grbl which seem promising.
I've heard PyCAM can do SVG->gCode, but I don't have PyCAM working. I've also heard FreeCAD can do it, but while I've used FreeCAD for milling, I haven't tried it for plotting yet.
It depends on G-Code for what. For simple work and tweaking gCode, bCNC is very helpful.
For plotter, I haven't found something I really like yet - Inkscape gcodetools seems good but doesn't work at all some of the time.
For drag knife, bCNC.
For V-bit engraving, F-Engrave.
For for advanced milling, FreeCAD. (I haven't tried Kiri:Moto yet, but that's an option too)