We're building a 3-axis wire bender for my senior design project and we have a mechanical design and motors picked out and we are now trying to pick a controller to drive the motors. We need to drive 3 nema 23 stepper motors (3 Nm 4.2A, 2.4 Nm 4A, 1.9 Nm 2.8A), read an optical switch (homing), and write 12/24V over two channels to operate a double-action pneumatic cylinder. We also need to be able to jog the machine manually with some screen or interface. We want to use g-code and then have a custom command for our cylinder movements or repurpose some other command (suggestions welcome for this). To restate the requirements: Drive 3 Nema 23 steppers (4.2A, 4A, 2.8A) Read optical homing switch at least 2 digital write pins to control a pneumatic cylinder User interface to jog the machine works with g-code Some options we've been considering so far: Duet 3 mainboard LInux CNC with a parallel port, breakout board, and individual stepper drivers (DM556?) grbl on Arduino mega grblHAL on pi We're looking for as much plug-and-play as possible.