Mark,
Welcome to the forum!
I don’t have a Primo but have used LinuxCNC on several machines I’ve built. I have a couple of “Inexpensive LinuxCNC Interface…” threads on this forum… one for PC parallel port and the other for running LinuxCNC on RPI4 and GPIO. Since you’re using a parallel port and breakout board, you should be able to use LinuxCNC’s StepConf utility to initially set up the parallel port pinout and setup and test each axis. IIRC running StepConf creates a config file which you can then simply edit for things like SCALE, which sets the steps/mm for the machine.
While I’ve sometimes gotten mild, good-natured, pushback on using non-round numbers for steps/mm (SCALE)… I maintain that if you are making/engraving rulers with your machine, you will need to go where a calibration procedure takes you to get the accuracy you expect from a good ruler. It does make a difference…
The procedure I use to adjust the SCALE value in the LinuxCNC configuration file (or steps/mm in GRBL or Marlin) requires that your machine be as mechanically and electrically sound as you can make it (grub screws are tight, etc ) and that it consistently and predictably moves the exact same amount each time it is commanded. It’s as easy as rubber-banding a skewer (or other pointy thing) to the carriage and closely aligning the point above a major division on an accurate meter stick or tape laying on the bed and in line with the axis you’re moving. Start with small movements for safety and finally make moves as large as that axis allows for maximum accuracy.
For example, my X and Y values for SCALE, in the .ini file, were initially set at 80… and the units are “steps/mm”. So, commanding a G0 move for a specific distance and measuring the actual distance moved should yield an adjustment factor for the current SCALE value… i.e.
( commanded / actual ) * current SCALE
gives a new SCALE value to be put into the .ini file.
Specifically, I sent “G0 X900” and X moved just 898.5 mm, therefore the new SCALE is (900/898.5) * 80… or 80.134.
I sent “G0 Y300” and Y moved just 299 mm, therefore the new SCALE is (300/299) * 80… or 80.268.
With these adjustments, both X and Y now move the commanded distance… and allow me to make quite useful and accurate rulers.
And, of course, if engraving rulers isn’t your “thing”… stick with round numbers for steps/mm and it will be “good enough” for 99% of the tasks we typically use our machines for…
– David