Mach Discussion > Mach SDK plugin questions and answers.

Step2Mach - My DIY ethernet controller for Mach

(1/2) > >>


Some time ago I have started topic about sharing knowledge about motion controllers :,17612.0.html
Few monts passed, nobody joined. Since then I have converted virtual idea to real motion  controller.

I spent quite some time on it, copied code from my other projects and got it working. Originally I wanted to share only hardware design and sell licenses for plugin, but after long discussion with Scott “Poppa Bear” I decided to go different way.
I decided to share most of the code ( while keeping all my copyrights) under special license:
-  If you use my device and you are happy with it - please pay 35$  ( in EU 35$ + VAT) to my paypal account. You will find link in the code and in the configuration web page for the device
-  If you want development license ( to reuse my code for your professional product) - it is also possible, see license code for details. In such case you will get full source code plus free consultancy to get most from it.
-  If you just want to examine the code - feel free to do it.  The Mach SDK is poorly documented and the examples are messy, so it may help you with your Mach development.

About the device itself:
- 4 axis support
- 100 kHz step/dir frequency
- LPT DB25 connector (as it emulates PC parallel port)
- Easy to assemble hardware design ( main components are DIP, all passives are SMD – 1206
or bigger, possible to make on single layer PCB)
The ethernet connection provides following features:
- Web interface for configuration
- DHCP client/server support
- NetBIOS support ( for accessing device by its name)
Known limitations:
- No slaving support ( not yet implemented)
- No threading support for lathes ( not yet implemented)
- No spindle support ( not yet implemented)

It still requires a lot of testing ( I am preparing few units for my friends for serious testing in real production environment). I have successfully run it on my simple gcode, homeing, jogging but  I am sure there will be issues on some specific configurations. Especially that motion plugins are left alone for jogging and homeing ( so I had to implement it myself) and I am not sure that it is 100% compatible with e.g. LPT operation.  Please let me know if you find something - I will fix it.

I will always post latest code and documention in finished plugins section:,19698.0.html

Excellent work Jarekk.


Well, I decided to release it like that. But still - there was not much interest, so the project ended up in a drawer collecting dust :-(

But I hope it helped others to understand motion control plugins.

Is the connection transformer coupled? tell us more about the actual connection, especially about the electrical isolation if any.

One parallel port or several? These days just one port is rarely enough.

Tell us a bit more about the DLL mach plug-in which converts the Mach output to the ethernet data stream, please!


Ethernet connection is *always* trafo coupled. I use jack with embedded trafo. Current version of plugin supports just one "converter" - if you need more then you can either connect two ( needs software modification, also only one would provide step/dirs ) or use bigger chip ( with more io,also needs software changes)

About the plugin - see the link in the beggining, there is a link to source code so you can check for yourself.


[0] Message Index

[#] Next page

Go to full version