CNC Lathe (EMCO PC TURN 50) LinuxCNC rebuild

So, after a while of other people looking at it, and always having other things to do, I’ve finally got the computer, and lathe all together. I thought the control board as well.

The electrical interfaces are in a manual, linked here: Re: I have a emco pc 50 turn and a emco pc 50 mill There should be a copy of it with the lathe, but I can’t find it.

A couple of notes/questions I’d ask for background:

  • Why not use GRBL?
    • GRBL is great, and for most (slower) mills, I think it’s easier and arguably better at that task compared to LinuxCNC or Mach. It could do some of the lathe, unfortunately it lacks a very important feature: spindle syncronization. Which means it can’t work with the rotation of the spindle to do things like threading, which is a VERY useful thing on a lathe. LinuxCNC also has scripts for controlling the tool changer that other people have written. (Not that it would be hard to write for LinuxCNC, for GRBL it would probably be surprisingly annoying.)
  • Why not replace the motor drivers with new ones?
    • New motor drivers are generally significantly better, however, the machine as it is uses a 5 phase motor. It could be done, but as I think the only major problem is the lack of interface card, I think it should work and be significantly easier. (It use an old ISA card, which I can’t locate.) Fortunately, It interally use a step/dir interface. (Theoretically it uses RS485, but I haven’t been able to get any response, nor have I found the software.)
  • Why not use a Pi?
    • Pis for all their wonderful uses aren’t great at accurate timing/high speed. This is due to a few things. One of them is the graphics processor taking over the memory bus for variable bits of time, the other is that generally the timing isn’t super great, and on the Pi, you couldn’t for example dedicate one processor to IO and just time it. (You kinda can, but there are some issues like not being able to disable the interrupts on a single core, which is problematic.)
  • Why not use a Beaglebone?
    • The things can work, but seem incredibly fragile. I may have some toasted simply because a serial cable at 3.3V transmitted something after the power pin was disconnected.
  • Pi Nano?
    • It could work, but it would need to be written. (I’d love for a high speed interface between a nano and Pi, because that would be the solution to the above. I don’t really want to write it though.)
  • So Why a parallel port?!
    • Because parallel ports are one of the few GPIO locations on PC computers. There are some, that do have some, but they are rare. So older parallel ports with 8 Outs, 5 Ins, and 4 in/out ports at 2MHz tend to be both sufficient for CNC and some of the lowest latency generally available. (Yes it’s only about 2MB each way, but the time interval is known, higher speed things generally trade off latency for higher bandwidth.)
  • USB?
    • USB is great for a lot of things, but it’s relatively high latency Depending on version can have (minimum) latency of 1 ms (1/100th) of a second, or 0.125ms (125us 1/800) of a second latency. Which sounds tiny. Until compared to the antiquated parallel port at 0.0005ms (0.5 us 1/2000000 sec) For reference, LinuxCNC expects it’s two main threads to be operating at 1ms (servo) and 25us (base) +/- some jitter, which with 125 us rules out usb)
  • FPGA?
    • The gold standard for control. If you want super precise control you can’t beat FPGAs for accuracy and flexibility.
    • Things like the Zynq & similar FPGA+ARM excel at things like this in theory since they run Linux on ARM cores and will in terms of using the FPGA IO run circles around just about anything for latency control. (The ones on the base Zynq-7010, each pin is theoretically capable of output at about 1,200 MHz, with 100 pins.) Unfortunately it appears the existing LinuxCNC FPGA code may have not been maintained.

Also: KISS

Note that for lathes, they use XZ, a little counter intuitively (at least to me) until you look at it from the perspective of the work piece. Z = height from chuck, X = distance from center (Y would be distance off center, generally not something you want in a lathe.)

Pins for control:
Spindle control:
Spindle DIR (OUT)
Spindle Enable (OUT)
Spindle PDM (like PWM, but with more switching, note in the documentation what would be called STEP is called CLK or CK) (OUT)
Spindle sync (2 IN, which may be SR/NI)
Z Axis Step (OUT)
Z Axis Dir (OUT)
X Axis Step (OUT)
X Axis Dir (OUT)
Estop (IN)
Master power cut (OUT)
Toolchanger (more later, may be subprocessed to an arduino) (1-2 IN and 1 OUT)

Which brings us to 9 OUT, 5 IN, (unless I forgot something) which will use 1 of the bidirectional pins as an output.

Spindle has two optical sensors one with a certain resolution (I took pictures so I’ll count) and a second which will serve as index.

If needed the toolchanger or other things not requiring realtime coordination can be offloaded to something like an Arduino.

@ssaner and I were able to with the wiring diagram and some tracing get many of those pins figured out, though it is a bit confusing since it’s under half English over half German (and substituting 120VAC for 230VAC everywhere) and my German is both very rusty and wasn’t that great to start with. I mentioned times and we’d mentioned next Wednesday at 6-7, if @saner is good with pushing that back, because there’s another meeting at that time?

This is also helpful, note that it’s for the mill version, not the lathe, but looks near identical electrically to understand the signals (and corrects one I got wrong.) emco pc mill 50 & similar - Page 15

We’ll need a new control board, the one I thought we had for it being good actually had stepper drivers built in, with no way to disable them. Ooops. So I’ll see about one that’s basically straight through.

Once we get it moving we’ll need to teach people all the wonderful things like tool offsets, and how to measure and set that sort of thing. (I plan to see about keeping many of the same tools in the machine normally, maybe 1 exterior, 1 interior tool left open/variable.)

TODO list:
Finish tracing wiring out, and confirm via multimeter.
Get straight through control board, or just directly hook into the cable.
Setup LinuxCNC via stepconf (pretty easy)
Fix the SMI (LinuxCNC Documentation Wiki: FixingSMIIssues which makes it go from bad to good in terms of latency)
Count number of holes on spindle interrupter disk.
Chips for single pin output to differential output (26ls31) and vice versa (26ls32) or (Ti’s SN65LVDS1, SN65LVDS2) or whatever. @james.a.seymour Thoughts on good chips for that?

Might be worth milling/drilling a quick PCB, rather than a premade one.

Any questions/thoughts? (Other than when will it be finished?!)


I volunteer to help with this project where I can.


Join us then next week! (If that time doesn’t work, post about it.)

1 Like

Just to remind people, we’ll be in the fablab at 7 working on this. (And probably after.)

My back isn’t cooperating today so I’m gonna have to stay home tonight.

Sorry if I’m “necroposting”(?) but I did not see the Emco PC Turn 50 on the list of operational metal shop equipment (Was it just left off the list?). When I ran across this thread (because of a “LinuxCNC” search), I wondered about the current status of the Emco lathe. Can someone catch me up? If it’s still unfinished (Waiting to figure out the best way to handle it?), I might be able to offer advice. Thanks.


It’s in the Fab Lab and isn’t currently functional. There’s been recent discussion about trying to revive it.


OK, thanks. If there is further discussion, and it is not held on Wed. night, Fri night, or Sat. morning to afternoon, I would like to attend. Would anyone else like to add any conflict times? When we find out the major conflicts, we can work toward getting this on the calendar (but I’m not a member, so someone will have to host this discussion.)


Hi I would like to talk about mini cnc machines and making them run i have many of them EMCO MILL, DENFORD 2 mills 1 lathe which is really a SHERLINE rebranded, Lots of other things related to cnc, call or text me 316 258 8620 thank you for your time!

1 Like

Let’s talk next time I see you.

1 Like

Sure! Glad to talk, text sent, we’ll set something up. Not sure when yet,

1 Like

OK. If mudbug and I set up a meeting, would you like to be included? Or just leave it to random bumping into? I’m in the stained glass class next three Fridays, 6pm-9pm, if that helps?

1 Like

I would be glad to meet with everyone on Friday, June 14, 21, and 28, at MakeICT before 6pm or anywhere after 9pm or both.

1 Like

Sure, let me know when you’re meeting and I’ll show up if I can.

Larry and I talked last night about the equipment that he has… but no plans were made. I’d just like to see equipment that is working and that classes can be taught on the equipment.

Please contact me if you’d like to step-up and help maintain our machines or teach classes. As the Fab Lab Lead, I’d ask that anyone interested in teaching classes take the ‘how-to teach a class’ so we have consistency in the quality of the classes. If you’re interested in maintaining the equipment, please come some of the regularly scheduled Fab Lab meetings so you understand what needs to be done and how to do it.


I’d be happy to help however I can.

I do not see this class on the calendar through the rest of 2024. Is it listed under another name?
The website does not mention it either:

I do not see these on the calendar either, through the rest of 2024. I searched for fab, do they go by another name?

Sorry to be the “new guy” that doesn’t “just know” all this stuff.

1 Like

Fab Lab Meetings, Metal Shop Meetings, Blender Meetups, ETC are
voluntary and don’t require registration or payments like a class! So they don’t show up as a class on the calendar! Best and quickest answers will come from
contacting area leads directly! Thank you for your interest!

1 Like

It’s mainly to go through MakeICT Instructor Training - MakeICT Wiki

@ladeana has been leading them recently I think.

We haven’t set FabLab meeting dates for this month (or the future). I think we had something more regular-ish but work schedules and sickness lately has thrown everyone off.

1 Like

Yeah… I have been remiss in getting my classes on the calendar… but I am also in the stained glass classes… so we can talk about when is good then.

1 Like