Adding Reverse Spindle rotation to AvidCNC & Mach 4

I need to enable counterclockwise spindle rotation on my PRO4848 with Avid’s old 2.2kw spindle, so that M4 works correctly.

The machine only comes with CW rotation wired/enabled (M5).

@barunita mentioned that he’d done this with the S30 in another thread:

I added some relays and a few mods to the M4 macro and some screen additions. So, long story short; it can be done but not without a little work.

Can anyone advise me on how to go about doing this?

So far, I’ve had a look at the schematics and wiring of my Avid plug & Pray boxes , and it looks like the FWD spindle wiring runs from a dedicated ‘spindle relay’ output on the CRP850 breakout board. I can’t see that this goes to a relay though - it seems to run straight to the VFD and into the MI1 and DCM connectors of the VFD control terminals.

I presume I need to supply 24VDC to the MI2 “Reverse-Stop” terminal on the VFD control (lots of nicely terminated spare wires on the Avid loom - thanks Avid!)? I’m just not sure how I use the breakout board to actuate a relay (if that’s what’s required) to do this, and then configure M4 in Mach4 to use whichever output I use on the breakout board. Or even which pin/output I can use on the breakout board.

Pretty new at all this!

If someone could pad this skelington out with a bit of specific detail, I’d be grateful.

Delta VFD input wiring

1 Like

I will put together a little diagram and post it. Basically you add a relay between the Spindle relay controller board output (33 I think) and the VFD. By default the added relay feeds the controller signal to the VFD run forward pin. When activated the relay feeds the controller signal to the VFD run reverse pin. The M4 macro turns on one of the unused output pins on the controller board (Motor 6 Dir output) which is connected to the added relay coil.

So, M3 works as shipped from Avid but now through an unenergized relay, M4 energizes the added relay which causes the controller signal to command run reverse, and M5 turns off the added relay and turns off the controller run signal.

May be a day or two before I can post my mods and pinouts etc. I believe you meant “The machine only comes with CW rotation wired/enabled (M3).” As shipped by Avid M3 and M4 both spin CW, M5 turns the spindle off. Found that out the smokey way :wink:

If you don’t need to have the spindle run forward and reverse in the same gcode program you can simply add an A/B switch between the controller VFD run signal line and the VFD; no coding required.


Thanks Rob - that’d be great. And thanks for the M3/4/5 correction!

I need gcode control so it’ll have to be the relay rather than the switch.

I’d be keen to have the elements involved in an A/B manual switch illustrated, if able. Thanks!

Here is a quick set of diagrams for the A/B switch setup.

The switch that I got was from Amazon:

Fits nicely in the rubber knockout pictured above the big plug (I have modified this box for air lines for an S30 spindle)

Switch from Amazon with jumper. Orange wire from Pin 33 in controller goes to either 3 or 4 on the jumper side (left) making it the common side. 4 on the right can go to MI1 (Run forward) and 3 can go to MI2 (Run reverse)

Original setup with Avid Plug and Play system

With simple A/B switch

With the switch from Amazon

Hope this all makes sense.

1 Like

Excellent! Thanks Rob! I’m coveting the fittings around your air hoses where they enter the enclosure- got a link for those? (give a little, I’ll just keep coming back, it seems. Note to self: never feed a feral machinist)

Search for pneumatic bulkhead fitting. 1/4” in my case.

Hate to be a shill for Amazon but they just make it sooo easy to spend money :wink:


Here is a start. I will put together a text description of the mods and an overview of my screen over the next few days. Many of the changes in my screen are for ATC operation. Added a set of utilities to the screen. Be aware that some of these utilities, specifically the Park() routine, is hard coded to my machine size (48x48).

My screen set. File Ops tab now has current time displayed. No clock in my garage. ELO monitor is touch screen and is great. Craigslist strikes again.

Tool change tab.

Utilities tab. Some buttons are duplicated so they exist in multiple tabs.

Modified this post and removed link to the zip file and now out of date configuration photos. The files can be downloaded from a later entry in this thread.

Lots of stuff to throw at the community. If you have any questions between now and when I put together a text description of this setup drop a note. This code has not been fully cleaned up so there are a few places where variables are set but not used and code that is commented out and just need to be deleted. If anyone knows a cleaner way to wait for the spindle to spin up/down forward it on to me. Good luck!

1 Like

Fantastic! Thanks for the info.

So, purely for CCW rotation, port 1 pin 17 goes to a relay module to switch the spindle RUN signal between M11 = FWD (NC on the relay I assume) and MI2 = Reverse (NO, closed on P1-17 signal). ESS output 7 mapped to P1-17.

Did you use a 5V or 12V relay module (or other)? Both supplies available in the Avid box, so I’m not sure it matters? I was going to try a 12V tapped into the breakout board’s 12V supply.

And do you know what voltage the signal from p1-17 is? Again, possibly not important - I just don’t want to fry the relay module (the ones I have want a 5V signal I think).

I’ll have a look through the screens and macros and try to make sense of the software side…

Your post has piqued my curiosity. I am just a Hobbiest that does basic cutting so have just left my spindle in CW rotation. I only work with wood and when I am concerned about tear out, I just change from conventional to climbing cut direction. What kind of work are you doing where you want your spindle to rotate CCW? Thanks for taking the time to enlighten me!!!

Sounds like you have it. The control outputs are all 5VDC so you would use a 5V coil relay. Check out the schematics section of the attached Avid PDF. Good detail on pins, wire colors and the lot.

Your understanding of how the added relay is wired up is correct. The Run Forward terminal in MI1 and is the one in the VFD that has the orange wire attached to it currently. MI2 is behind is and if I remember correctly slightly to the left. Page 2-12 of the attached VFD manual. When I first looked into all this I just moved the orange wire from MI1 to MI2 and voila! the VFD ran in reverse. Well, as Bernmc notes later, the VFD needs to be programmed to allow reverse. Good confirmation of what I wanted to do. Added an A/B switch for proof of concept then opened up the whole software/relay can of worms. When I decided to go ATC then things really got interesting. Used the CNCDepot M6 as a starting place but that is not your current plan. What you want to do should be fairly straight forward.

I don’t think you will need the M6 macro. Mostly for tool change/pneumatic control. No real harm if you throw in the M6. You will just always use my setup as Manual tool change. This will make more sense when you look at the screen set.

Type at me if you need anything else


Plug_and_Play_CNC_Controller_Technical_Manual_21.2_v2022Q1_3.pdf (3.31 MB)

delta_vfd_el.pdf (3.63 MB)

1 Like

Some tools are designed for CCW rotation. We occasionally have supply issues here in Aus aka the butt-end of the world. eg I could only get hold of CCW boring bits for a while…

1 Like

One additional item. I put the relay for FWD/REV in the VFD box. That way you can take the orange wire that goes into the VFD and move it directly to the common of the new relay. No wire cutting etc.

Here is an example of a Left Hand cutting bit that Bernmc was talking about. Great bit style but many only come in LH.

1 Like

Superb- thanks so much for taking the time to put all of this together

Hey, I am currently trying to program my Delta VFD-EL, I believe the same as you are using. I am trying to read the 24V signal from the multi function relay output, RA and RC, by forcing an error, but have been unsuccessful. Do you have anything to share about your experiences with the RA and RC ports? Do you know a way to force an error to read the 24V signal from RA/RC?

I have not looked at those signals. I will take a look at the manual. You may want to start a new thread. Might get a wider group of people responding.

Made a couple of modifications to the macros and screen set which are included in the attached zip file. Made the Park function configurable through the editing of an external file, got rid of a few hacks, and cleaned up the CNC Depot break in and warm up procedures to match current recommendations from them.

Download of files can be found at the end of this thread

Rob, the new doesn’t have your screen.set file in it - not sure if you modified it when you did your tidy up, or if its still the same as the one in the original upload?

Too cold to think in the garage last night! zip file has been updated in the previous post. Thanks!

Rob, a few addenda to your pdf (I’m assuming it’ll be used as the definitive guide :wink: ):

  • on the last page: pins can only be assigned to one output at a time, so before you can assign P1-17 to output 7, you need to deselect it from the default assignment - I think it was Motor 5 Dir near the top of the outputs tab. You have to select the blank line from the dropdown - it’s not enough just to disable the Motor 5 Dir by unticking it. If you don’t do this, P1-17 won’t appear in the dropdown options for output 7.

  • M4 and M5 (and other if needed) macros need to copied to Mach4Hobby > Profiles > AvidCNC > Macros

  • (This one made me swear a bit) - Make sure the VFD is configured to allow both forward and reverse. My Avid-supplied Delta had reverse disabled by default. On mine, the parameter was 02.04 - set to 1 by Avid, and needed to be changed to 0.

Got mine up and running, so pretty happy. Thanks for your help.

Next, I think I’m going to configure mine to use Port 3 on the ESS - it’s unused at the moment, and has a bunch of free inputs and outputs. That’ll allow me to keep the motor 6 outputs for a motor which I have plans for later.