David,
Your best bet for use with ROS would be to go in a different direction for the interface for the current interface concept , for simplicity and ability to reuse the setup for any robotic arm would be to use a i2c stepper controller with gpio for input from an encoder for high resolution feedback positioning.
I would recommend the PCA9629W and then size your drivers to match the stepper motor requirements, using this arrangement will allow stepper motor and an encoder as a positioning sensor for high precision movements allowing all movement and sensor basis as an offloading design, will allow a flexibility for the controller for say a simple Raspberry PI 3 to operate in a headless mode but allow say opencv visual interfacing as a later add-on without causing a major redesign.
Cheers,
Kevin
BTW a quick reference if you wanted to make your own encoder and print the parts… ;http://meetjanez.splet.arnes.si/2015/10/03/cheap-easy-diy-optical-encoder-attiny-3d-printing/