Quokka-1

Created by [Evan Le] • Started on May 28, 2024

Open-Source 3 AXIS CNC MILL

The beginning

So, after building my infill printer, I still felt myself in that zone of constantly thinking about and designing cnc controlled machines. I saw the highway link and decided, im going to pitch a 3d printer. However after seeing the absolute flood of 3d printer pitches, and the fact that my infill printer was plenty functional, I decided, rather than make a 3 axis machine that does additive manufacturing, I decided to do something that uses subtractive manufacturing. That meant i had a few options:

Laser cutter/engraver

(Lasers are dangerous, and I dont quite feel like screwing with them at the DIY level, and there's only so many things you can cut with a laser without needing a higher power one)

Cnc Router/Engraver

(For pcb's and basic plastics, this seems decently simple to make and engineer, along with the added reliability of only having to handle 2 primary axes, as the Z axis is considered a 0.5, making this a 2.5 axis machine. )

Cnc Lathe

(These absolutely scare me, and while they're incredibly fast and efficient, there's a limited amount of parts they can make, along with the software required to make these work effectively is likely far out of my reach as of now.)

Cnc Mill

(This one doesn't seem so bad, except for the fact that these are insanely expensive, and proper CAMming requires skill, experience and carefulness as screwing up your fixturing or toolpaths basically means chucking the entire machine. These also scare the crap out of me. They also have numerous axes that can be utilized: 3 Axis: Simple, lower cost, easier to CAM but lack the ability to make extremely complex parts 4 Axis: Mechanically simple (except for the fact it needs to be made of metal), more costly, but can make much more complex parts, and requires complex CAM, code, and fixturing to support 4 axis) 5 Axis: Absolutely insane in the mechanical and software complexity, along with the cam required and the fixturing techniques.

Beware

This project is less cad-heavy and much more research and technique heavy. Numerous parts, components, and equipment involved in this project are outdated and possibly lack cad files due to their age. This log will include what little cad is involved for this machine, but mostly is here to cover my thought and research progress throughout this project.

Starting Off (Days 1-2, 5/27-28/25)

Frame (Day 1, 5/27/25)

I've decided to start with the frame, as most 3 axis cnc machines follow a modular style. I've decided that a small dremel/router spindle can be mounted to an ender 3, and for the drive system, as numerous people have been capable of utilizing the stock motion system and a simple dremel for the spindle.

Motion (Day 1, 5/27/25)

Thanks to attending RMRRF, I managed to acquire 2 geared nema 17 motors, with a ratio of 10:1 paired with a stepper capable of 0.48 Nm (Holding), which when going through the gear ratio approximately means 4.8 Nm of holding torque. Paired with the stock belts, and some redone mounts, should leave me an adequate amount of drive torque for lower speeds, as this will likely live it's life cutting polycarbonate and pcbs. image

Spindle (Day 2, 5/28/25)

For the spindle, i've managed to accquire a simple dremel that needs new brushes. It's incredibly simple and reliable, and can be controlled by a relay and has variable speed. Pairing this with a thin, ball-nose or small endmill should yield an adequate amount of precision given it's constraints. When it comes to PCBs, and polycarbonate for robotics, Using a paper for workpiece zeroing is plenty adequate. image An example of dremels being used with bedslinger style printers for cnc

Control system (Day 2-3, 5/28-29/25)

GRBHAL (Days 2-3, 5/28-29/25)

Control wise, there are numerous softwares and firmwares out there for cnc machines. GRBLHAL is likely the best choice firmware wise, it's somewhat akin to marlin, but for CNC machines. With a 3 Axis machine, there's no need for any sort of processor offloading in the CNC world as CNC machines likely will not be moving nearly fast enough to require high-speed calculations such as PA, IS, Bed Meshing, Cruise ratios, PID, or MPC like klipper does. With CNC machines, reliability is key, and GRBLHAL's integration and lack of nessecitation of a link between 2 processors allows for maximized reliability, similar to marlin in that regard. Thanks to infill's RMRRF trip, I also mamaged to acquire an FSYTEC S6 and a bucket full of tmc 2209 stepper drivers. That essentially lays out the motion control system, as the FSYTEC S6 is supported by GRBLHAL, and plugins for the firmware exist regarding TMC drivers. I can drive this on a simple 24V rail for both the board and the motor controllers.

UGS (Day 3, 5/29/25)

As nice as GRBLHAL is, Like any cnc machines, there still lies a small dependency. GRBLHAL still requires a GCODE sender. Unlike marlin, where startup sequences are simple, and can be pre written, a GCODE interface is still nessecary for Zeroing workpieces and controlling the machine quickly and easily. There are numerous GCODE interfaces, however with it's community support, UGS appears to be a quality choice. UGS still needs to run on a host device, this is as simple as a laptop running the software, or a rasberry pi. I have a windows laptop, which should be good enough considering the UGS requirements are just either linux, macos, or windows.

CAM (Day 3, 5/29/25)

Building this machine is going to be half the battle, as the other half means learning how to operate this machine safely, efficiently, and effectively. CNC programming/operation is still very much a relevant and growing profession, as cnc machines require skill, knowledge, and experience to operate when it comes to creating toolpaths and effectively fixturing workpieces. For cam, I still need to figure out a software, though fusion 360's cam suite is plenty adequate for simple 3 axis machines and it's one im relatively familiar with.

UPDATE (Day 4, 5/30/25)

Continuing my journey and research regarding this machine, I took a look at our school's engineering room and noticed 2 CNC machines sitting. Piled along with other supplies and collecting dust, it appears that they have not been used in years. I decided to ask my engineering teacher about the machines, and after a long conversation, it's been decided that I can take one of them home for the duration of highway and return it in the fall. The machine is a Servo Davinci 1419. They're incredibly old, featuring old, 48V servoes, a proprietary control system, and I cannot find any documentation regarding the machine. It's also been considered fair game if I reuse ONLY the frame of the cnc machine for my highway project, which coincidentaly is the hardest part to design and assemble on a CNC machine due to squaring and rigidity concerns.

The Davinci (Day 5, 5/31/25)

After Contacting TechnoIsel, the manufacturer behind the Davinci machines, I've found out that no CAD files exist regarding this machine, which makes my life really hard, however since I dont have to construct the frame, I can take a couple of measurements regarding possible mounting points on the machine and CAD an enclosure/terminal from there. Thanks to this amazing opportunity, I do have to discard a large portion of my previous progress, but this widens the window by a huge margin. From now on, This project will be split into 2 different pitches due to the extreme complexity of this machine, meaning that it will be financially backed by a 10-point grant, along with the standard 6 point highway grant, and it's also backed by a tertiary, external grant which I am not permitted to disclose ~(350usd). This should give me a decent amount of breathing room. image

Frame

I've decided to use the full range of motion on this machine, giving me a work envelope of ~14x19x4 inches, or ~355x483x102mm. That's decently large, and the frame is constructed of 80X160 extrusions for the gantry, and cast steel side plates, giving it a weight of 150lbs, or 68KG. That amount of weight isn't for nothing though, as it means this CNC machine is incredibly rigid and strong, especially considering it's driven by 3 ballscrews. That means this machine is strong enough to mill aluminum at considerable feedrates, and possibly steel, though that means everything needs to change, along with the fact that under these conditions, it's nearly unacceptable to use 3d-printed parts in anything functional regarding the CNC machine itself.

Motors

Because of the larger nature of this machine, the small, nema-17 motors will not cut it. Neither will a 24V system nor a tmc 2209. Looking at the budget and the stepperonline store, a NEMA-23 57x100mm motor is only 18 dollars, and stepperonline is a very much reputable brand, with considerable quality and performance rivaling LDO, or other suppliers. LDO motors makes slightly more expensive motors, though they tend to be much more reliable, temperature resistant, and also are known to have more torque at higher RPMS. Stepperonline motors are cheaper, though they arent as temperature resistant, can be slightly less reliable in build quality, though they do have much more lower-end and holding torque . I'll be picking stepperonline due to the price point. These motors are rated for 5A at 48V, which means a whopping 240W power draw per motor, though they provide 3Nm of holding torque. Fortunately, the servos that sit inside the davinci are also nema 23, meaning that the new motors should be somewhat simple to install physically.

Spindle

In it's stock configuration, the davinci 1419 is a CNC router. That means the spindle is an 800W, run of the mill router you would commonly see in the woodworking or carpentry world. This router would be acceptable for making wood carvings, or even low precision PCBS, however when it comes to the strain and the precise control required to get high-precision aluminum/steel parts, a router would quickly fail or ruin parts due to issues like runoff, imprecise control, or overheating under load. The solution is to install a proper, VFD (Variable Frequency Drive) 3-Phase 2HP (1.5kw) spindle. This spindle is designed to be much more precise and sturdy, making it suitable for cutting steel and aluminum, and it's watercooled, meaning that it can stay completely sealed, in contrast to an air cooled spindle that needs to draw in air to cool the motor. When it comes to endmill cooling, I'll be installing a subzero airgun to cool the bit and workpiece down while cutting. image

Control System

The default davinci uses a proprietary control box that requires an rs32 serial interface, with a proprietary communication protocol that requires a proprietary pcie card, which of course, requires a proprietary gcode sender software. Because this machine is going to be fully open source following this project, It needs to be converted. Thanks to the stepper-controlled nature of the machine, It can still be controlled with the fsytec s6 board, however the tmc 2209 drivers are inadequate for the motors, so they'll be substituded with biqu TMC 5160T Plus drivers, which can still run from the standard motor driver port, but use an external control board system to step-up the maximum amperage and voltage from 24v @2A (tmc2209) to 56V 10.2A. This is plenty adequate for the new motors. The VFD spindle requires a vfd controller, which I'll keep external, and use a conventional 750W driver. The FSYTEC S6 will still run GRBLHAL, and since I want this machine to be all-in-one to make it easy for students to operate, Ill integrate a rasberry pi 4b8gb, running the default rasberry pi OS and universal Gcode sender, and possibly a post-processor via a simple USB link. Similar to a all-in-one HAAS or equivalent machine, Ill also integrate a physical terminal featuring a 12-inch screen and a mouse and keyboard. image

Electrical and Hardware

Enclosure

Now that I have access to a much larger, more robust machine to work with, It will most definitely require an enclosure, and a proper electronics panel. The machine comes with an extremely bulky fridge-shaped, but well-built enclosure with thick polycarbonate panels and 8080 extrusion frames. Since this machine does need to be functional in an educational enviroment, the machine will need to be semi-portable and transportable, easy to access and use, and most imporantly, extremely safe. I'll be redesigning the enclosure to a more appropriate footprint, and putting it on wheels.

Electronics Panel

Looking at the BOM, the power-draw is no joke. Due to constraints regarding the undercity's electrical availability, the facility at my home to work on this machine, and the electricity at school, this machine will unfortunately be constrained to a standard US 120V system, and ideally function under a constant current draw of under 15 amps, however the hard limit being 20A. This amount may sound whopping, but in the cnc scale is considerably miniscule. with each axis pulling 240 watts, and the spindle system being capable of drawing over 1Kw, The wiring on this machine must be done properly and safely. To ensure this is done correctly and to have a guideline for my work, I'll be following the NFPA 79 standard as a basis, as I imagine another student, teacher, or person with similar intuition may come poking around the machine. Ill be using DIN rails to mount the electronics, which are a respectable standard as they allow for modular mounting of components and can handle high amounts of stress, shock, and vibration.