dave-in-nj:
this sounds like an XY problem.
control the stepper motor and the DC servo motor and input values into the PC directly.
it has gobs (a technical term) of memory compared to an Arduino.
the lab equipment, running over a serial port could connect to the PC.
Ah, but this isn't what I want.
I want (specifically) a USB-connected peripheral device that itself connects to a few other devices. There are several reasons for this, ranging from trivial (cable management) to non-trivial (portability, usability with computers that lack serial ports).
I have built such a device with a different USB i/o board but it has some limitations and, for lack of a better word, inelegances. As I mentioned previously, it can't produce the roughly 1000-2000 microsecond square waves to control a servo motor. So it's stuck with a 2nd board with a 555 timer IC and a couple trimpots to tune its output for setting the left/right position of the servo. Works, but ugly.
This isn't a commercial product, but I'm making more than one, for me and several other people to use at different locations. There isn't any standardization of the computers, except the PC operating system. This needs to be a device that plugs into the USB port of a Windows PC and just works when the program is run on the PC.
Briefly, the lab equipment is a scale with a serial data port, and the device I'm building has various mechanisms for dispensing material onto the scale, first quickly in large rough amounts and then slowly with the motors, ultimately to milligram precision. The basic approach is quite simple; continuously monitor the scale weight, and tell the motors what to do based on that reading, and some customizable parameters related to the material being dispensed.
dave-in-nj:
learning a new language to run the Arduino as an extension of the PC, and then write a program in the PC to talk to a (comparatively) crippled piece of equipment seems a bit silly.
The need to write code to upload to the Arduino when what I wanted all along was to have code run on the PC is what led me to dismiss Arduino in the first place, when I started this project. It's only now, that the shortcomings of the i/o board I've got are becoming apparent, that I'm re-evaluating Arduino.