comedi2py feeds data from a data acquisition board into Python by using call-back functions. The goal was to make this as easy as possible, hiding all the complexity of the asynchronous acquisition in comedi2py and providing the Python program simply with an array of the sampled data at a given sampling rate. The program has been tested with the USB-DUX boards, but should also run with any other COMEDI supported data acquisition board.
ArduinoPulseGenerator is a simple program for generating pulse sequences using an Arduino. There is an associated GUI that runs on the local computer, or you can simply connect to the Arduino with a serial console (9600 baud) and send it commands. This code has been tested on the ArduinoMega 2560 (timing accuracy ~ ±200 μs) and Arduino Due (timing accuracy ~ ±35 μs); it may work on other Arduino boards.