I am looking to develop a 128 valve control system with 24 digital I/O and 12 analog I/O. The system will not be subject to harsh operating conditions but is expected to have a decent life cycle. Is an Arduino board a viable solution to develop this and if not, what would be a more reliable alternative?
What is the electrical environment? Will you need to shield boards and wires?
The valves are open or closed only? You could daisy-chain 16 shift registers and wire valves to that (though transistors may be involved). The daisy chain connects to the controller SPI bus (4 IO pins + pwr&gnd) and gets fed bits at 512KB/s speed… 128 bits clocked in and latched to set the 128 pins all at once. It takes 31ms to load the registers for all the valves. If you want to change 1, you set them all and 1 changes. But I think that you will not be cycling valves like castanets, even write software to guard against burning valve mechs up.
If the valves are spread out… there are options including wifi.
Then you want 24 digital IO and 12 analog inputs?
Anyhow this will fill your bill though you’ll still need pin multipliers to drive the valves.
Note that the Mega has 8K RAM, 2K EEPROM and 256K flash. You can put loads of cycle-saving lookup tables in the flash.
It’s got 16 analog input pins. It’s got 4 serial ports, an SPI port, an I2C port and pins that can use external RAM directly.
It’s got more pins than you need (except for 128 valves).
The 4 serial ports and RAM options make the Mega a good choice for serial networking.
They’re out of stock on the main site but search around the web and donate bux when you download the IDE. Donation is not required, it’s just to help support newer revisions and the forum where you find help.