Hey at all,
the last weeks i work on a small project called ZyklenAutomatik for Arduino (Mega2560). This project starts in the German CNC forum "CNCECKE.de"... The idea is to have a electronic gearbox on a lathe to cut threads , taper, balls... i have designed a small shield for the Arduino to make it easier to handle.

All the components, layout PCB, Software is open source... but we are just at the beginning .
Functions PCB:
- Motor A, Step, Dir, En, Status Input ( Z Achse ) Optoc.
- Motor B, Step, Dir, En, Status Input ( X Achse ) Optoc.
- Ext. Encoder A,A'/B,B'/Z,Z' (Spindel) Int. Diff. driver
- 3x I/O + A/B/Z (Spindel)
- Ext Encoder A,A'/B,B' + 2x Ext. I/O(Handwheel, Encoder X,...) Int. Diff. driver
- Potential free Output Relay
- 8 I/Os for Keypad or other functions

KS108 LCD in 70mmx78mm and the connectors on the Top. Like this 128*64 12864 128x64 Character LCD Module Display Screen LCM IC KS0108B #104 | eBay. 2x AM 26LS32 CN for differential signal, and 4x HCPL 2630 optocoupler.

I have make a small video to show the first software parts and the PCB, but i am not the best Programmer and my English is a bit funny . But i think it shows the idea and the way it works.

Working operations starts at 10m30s

ZyklenAutomatik, electronic lead screw with Arduino - YouTube

Here is a test Video with a look at a thread with 1,5mm pitch, 200rpm
1. Test - YouTube

I hope in the future we can control the X and Z axes, in the video i use only Z for threading, grind and move operations. And i hope it works with the GRBL and G-Code in the future.

For the synchronization we use the Bresenham algorithms and for the stepper operations the AVR446 Lib.

greating Malte