Upgrade to a VFD Spindle
Upgrading the underpowered DC spindle to a proper VFD spindle is one of the best improvements you can make to a desktop CNC router. You get quieter cutting, better torque at low RPM, and full software control of speed and start/stop.
The guide refer to a Genmitsu 3030-PROVer Max controller and a MK100 VFD (as sold by Genmitsu), but the same ideas apply to many desktop CNC routers and VFDs.
The goal is to have your CNC controller command the VFD to start/stop the spindle and set its speed using a 0–10 V analog signal. As an added bonus, you can also power an external water pump or air blast using the VFD's integrated relay.
Key Components
CNC Controller
The Genmitsu controller which is mounted at the back of the machine has a 8-pin connector which runs to its external power supply. We will only need to use the 24 V and GND pins from this connector to power the controller and two more pins for spindle on/off and speed.
Genmitsu Pinout on Controller
Pins are numbered from top left to bottom right when looking at the connector on the controller board.
| Pin Number | Color | Function |
|---|---|---|
| 1 | Red | 0-48V Spindle |
| 2 | Black | 24V Power for Stepper Drivers and Logic Board |
| 3 | Yellow | Spindle ON/OFF Signal (Connects to Ground to turn ON) |
| 4 | White | Spindle Speed Control (0-13.2V for 0 to max RPM) |
| 5 | Green | Ground |
| 6 | Orange | Ground |
| 7 | Blue | 24V VCC Output |
| 8 | Brown | GND Output |
24V DC Power Supply
You can eliminate the external power supply and power the controller from a 24V DC power supply instead. Either get a new power supply or open the external power supply and remove the smaller of the two power supplies. The other power supply is for the 48V spindle which is now obsolete.
VFD (MK100)
Full documentation for the MK100 VFD can be found at https://cncdrive.com/downloads/MK100_manual.pdf. We will have to make some changes to the VFD parameters to get it working correctly with the CNC controller.
Important terminals:
AI1,AI1‑GND– analog input (0–10 V)X1–X5– digital inputs (optically isolated, 9–30 V)SEL– “external 24 V reference” for digital inputsCOM– common for digital inputs, isolated from analog GND10V,GND– VFD’s own 10 V reference (for a potentiometer, not used here)24V– VFD’s internal 24 V supply (disconnect bridge toSEL)TA,TC– relay which can be programmed to close when spindle is running
Spindle – 3‑phase AC motor connected to VFD U, V, W plus a protective earth.
- VFD
U/V/W→ spindle 3‑phase leads. - VFD earth/PE → spindle body → machine frame.
- Use shielded VFD cable (4‑conductor + shield).
- Connect shield and spindle body to earth on both ends.
- Keep this cable away from signal wiring.
Run Signal
The controller’s “Switch” output is an NPN transistor that pulls to ground when it wants the spindle ON. The VFD’s digital inputs are perfect for this.
- PSU +24 V → VFD SEL
- PSU +24 V → CNC Controller 24V in
- PSU 0 V → VFD COM
- PSU 0 V → CNC controller GND
- Ensure VFD SEL and 24V are disconnected
This means:
- SEL is the “high” reference for the X1–X5 inputs.
- COM is their “low” reference.
- The controller shares that same 0 V so it can safely pull things to ground.
Important: Do not connect your PSU to the VFD’s
24Vterminal. That is an internal supply. UseSEL/COMfor external 24 V.
- CNC controller Switch output → VFD X1
Inside the VFD, X1 has an internal pull‑up to SEL (24 V) through ~2.4 kΩ. So:
- Spindle OFF → X1 floats → pulled up to 24 V (logic “high”).
- Spindle ON → X1 pulled to COM (0 V, logic “low”).
Speed Signal
The controller outputs a variable voltage of 0-14V. This is not ideal because the VFD only supports an input range from 0-10V on its analog inputs. You can either bring the voltage down but adding a 5kΩ resistor or you can alter the maximum spindle RPM in the controller to be 33% higher than the actual maximum spindle speed. In my case, my spindle has a maximum RPM of 24,000 so I changed the GRBL $30 setting to 32,000 RPM. At 24,000 RPM, I now see a clean 10V.
Now that you control the speed of the spindle using the controller, make sure you allow the spindle to spool up before the machine starts moving. Add a G4 P5 command to your G-Code processor to wait 5 seconds after spinning up the spindle.
Lastly, some of the parameters in the VFD need to be adjusted.
| Parameter | Description | Default Value | New Value |
|---|---|---|---|
| P0-02 | Command Source | 0 (Panel) | 1 (Terminals) |
| P0-03 | Main Frequency Source | 4 (Potentiometer) | 2 (AI1) |
| P0-04 | Auxiliary Frequency Source | 0 | 4 (Potentiometer) |
| P0-17 | Acceleration Time | 10s | 5s |
| P0-18 | Deceleration Time | 10s | 5s |
| P4-17 | AI1 Filtering Time | 0.1s | 1s |
| P5-02 | Relay Trigger | 0 | 1 (Spindle running) |
VFD parameter settings
Again, exact parameter numbers vary, but you’ll set:
- Speed reference source = AI1 (0–10 V)
- Min analog voltage / speed (e.g. 0 V → 0 RPM or 6,000 RPM)
- Max analog voltage / speed (e.g. 10 V → 24,000 RPM)
- Acceleration/deceleration ramps appropriate for your spindle.
On the controller side, set your $30 (max RPM) value to match the RPM you assigned to 10 V in the VFD so the mapping is consistent.
Grounding and noise tips
VFDs are electrically noisy, so a bit of attention here saves you from weird disconnects or erratic behavior.
Earth
- Bond mains earth to: VFD PE, spindle body, machine frame, and enclosure.
Analog vs digital ground
-
The controller pulls the spindle on/off digital input from the VFD
X1to its ground. This means that we cannot use the built-in 24V source and the isolated ground. -
Cable routing
- Keep:
- Mains and U/V/W cables in one bundle/side of the enclosure.
- Signal and stepper cables on the opposite side.
- Cross power and signal cables at 90° if they must cross.
- Keep:
Commissioning checklist
When you power up for the first time:
-
No spindle connected yet.
- Verify VFD powers up without errors.
- Verify controller is powered up.
- VFD display is flashing.
- Check DC between SEL and COM: you should see ~24 V.
- With controller idle, measure X1 to COM: ~24 V.
- Close circuit between X1 and COM. You should hear the VFD's relay click and the display should stop flashing.
-
Connect spindle.
- Double‑check U/V/W and PE; ensure the spindle body is grounded.
- Start at a low frequency (say 50–100 Hz) and verify rotation direction.
- If direction is wrong, power down and swap any two of U/V/W.
-
Test speed control.
- Command different RPMs (e.g. 6k, 12k, 18k, 24k).
- Confirm the VFD’s displayed frequency / speed matches reasonably.
- Adjust VFD analog scaling if needed.
-
Run a dry test job (no cutter, air cut) to make sure the spindle turns on, reaches speed, and turns off when expected. Run a longer program with all axes moving. Listen for missed steps which could be a sign of EMI issues.
-
Test E-Stop Hit the e-stop button on the controller and make sure that the spindle stops.