Hello Guest it is January 27, 2022, 06:33:08 PM

Author Topic: Anybody interested in Mach3 plugin for Nucleo-F429ZI board as motion controller?  (Read 3221 times)

0 Members and 1 Guest are viewing this topic.


Few years ago I have made small ethernet controller for Mach3. At that point there was no interest.
Recently I got some some questions whether I could review it ( after 8 years :-) ) and put for others using one of cheap eval boards.

I have made some archeological digging in my copies and found out that I can still compile the code ( VC 2010 Express + DDK)
I would use this one as platform:
25Euro ( in my place locally), it even has Arduino connectors on top ( so you can  use some shields locally)

My guess is it would run about 150..250kHz

I have placed some refreshed code here:

I would release it under beerware-like license ( so you can use it and if you appreciate it you can send my 'Paypal' beer )

Last time it worked it used dsPic processor from Microchip. Not all was yet implemented ( like scannig , axes slaving) , but ordinary operation and jogging worked.

So please let me know if there is real need for it ? ( I do not use Mach anymore, I do not know how alive Mach3 is and what is the demand)

Hi Jarek

Thank you very much for your efforts on this. I for one, and others that I know of in my country, will be very happy to see this kind of development.

I believe that there are many users out there that are very happy with Mach3 and that have machines that run on them. There are also some suppliers that have their own products that make use of the legacy LPT ports. As we know now it has become impossible to purchase a motherboard that can run Windows XP anymore and therefore it has become very difficult to use our own products. It is also very difficult to support the hundreds of customers that have these legacy installations.

There are many USB CNC controllers that can be purchased but using USB on plasma machines has never been successful. This leaves the Ethernet solution as the only way to go.

When building a new machine one can choose from many products but keeping existing users alive will require this work. I will also expand this into a new product by adding some interface hardware but right now I thing having the two simulated LPT ports will go long way.

P.S. I have been a distributor for Mach3 for a long time and I dont see Mach3 going away very quickly.

Maybe you should move this topic to this forum https://www.machsupport.com/forum/index.php?board=28.0
« Last Edit: April 07, 2019, 03:17:30 AM by mariusl »

Offline Tweakie.CNC

  • *
  •  8,881 8,881
  • Super Kitty
    • View Profile
I have moved this Topic here at mariusl's suggestion.


My company designs professional CNC controllers ( not for Mach) and at some point we had USB controllers for lasers  - with galvanic isolation. But it was still tricky. Now only ethernet - it is cheap and easy these days.

I have ordered that Nucleo board and port my code. I hope people will join and test it - I promise to fix bugs and expand functionality once it is needed ( like probing and axes slaving).

The board has so many I/O that dual port emulation will not be a problem - as long as there are no more then 4 axis.

Simple shield will be needed - I can help with that if somebody makes the design. There are also ready made designs - e.g. https://www.tindie.com/products/Ron/arduino-grbl-to-db25-cnc-shield-kit/

« Last Edit: April 07, 2019, 11:58:37 AM by jarekk »
In many configurations especially for routers and plasma (larger machines) there are four axis of which one is slave to either X or Y. On a mill the fourth axis will be rotational.

I will look at the shield design. I would take it we need the two DB25 ports at least. I will look at taking those pins to some screw terminals as well if needed.
Let me know what you need to have on the shield.
It is easy to use very cheap CNC breakout boards for the buffering and relays.
Like these: https://www.amazon.com/SainSmart-Breakout-Board-Stepper-Driver/dp/B0093Y897A
Well, the shield would need just routing from port signals. I usually add buffers made from 74AHC familly gates with resistors - this allows immunity to higher voltage then supply ( as long as current is limited with resistor)   
The second port can be programmed to be either output or input for pins 2 to 9 in Mach3. This means one has to be careful to not limit them with hardware design.
Example:- We use a breakout for all the axis on the first port and then we use the second port with 2 to 9 as inputs to connect the THC hardware. This is just one configuration. The THC hardware will have the buffers on.
The alternative is to put bi-directional buffers and enable the direction to coincide with the Mach setting. Just for the second port.
This device will only ever work on Mach so we might as well conform strictly to Mach requirements or features.
« Last Edit: April 07, 2019, 01:42:58 PM by mariusl »
Well, simple diodes with resistors would do as well - then you get bidirectional operation with no extra work ( just more components)
I like the buffer idea as it will also give some drive for longer cables to the drives. The longest cable I ever put in to the drives was 30m and that was driven with a cmos buffer.

There is a nice programmable buffer that uses I2C. I will look into that before making a decision on the buffer.
Jarekk absolutely amazing thread.  Just what I was looking for.  Hoping you will keep up development and distribution of this information. 

Did you ever port the code to the Nucleo-F429ZI board and post the results/code?
« Last Edit: May 07, 2020, 11:06:36 AM by bigmoose »