The idea of the multI/O is to offload the data aquisition and preprocessing from the host, while beeing as modular and flexible as possible. This is done in various ways. First, the multI/O consists of a dedicated mainboard, to wich serveral extension boards are connected. The purpose of these boards is to provide the real-world I/O, like ADC and DAC, digital I/O, etc. On the mainboard, the microcontroller handles the communication to these I/O blocks, as well as the USB communication. Furthermore, it can preprocess the data, like specifying dead-ends for the ADC, scaling the input, etc. That way the end application gets the data directly in the way it needs it, and can directly use it without preprocessing.
It is planned to rewrite the firmaware structure by implementing a Forth into the µC. So the core firmware contains routines for I/O communication to the ports, adc, dac, serial, etc. while the overall functionality is user-programmed in Forth. That way the user doesnt have to bother about how to read out analogue voltages, or to implement the math for the preprocessing. Instead a small Forth loop is written that accesses the built-in functionality. The new version will include a bootloader, allowing firmware updates by USB. Furthermore, there will be a smaller version soon, using only smd parts.
The whole design, hardware and software, is open-sourced and available on http://multio.mamalala.net
There are professional pcb boards available that you could solder yourself, upon request i will do that work for you, altough it may take some time.


