Thanks, I have considered using an mbed board for this, but the 12-bit resolution on the adc is not enough and would require an external adc and probably a dac too, although the STM uC on the Nucleo board I have seems to have a 16-bit dac (not sure how many channels - I need at least two at 14 bit and would like another two with at least 10 bit resolution). Then there is the complexity of programming the thing and interfacing it with matlab, so that is why the USB NI and Digilent modules are much more attractive to me. Raspberry Pi and Beagleboard have other complications IMO. I have just ordered the NI module and will have to try it out and see how fast it goes. If I can get the loop to ~1kHz bandwidth I am gold. If it doesn't work well I will steer clear of usb daq boards in the future for such applications. Thanks for the input!