Should you require a substantially customized controller for whatever reason then you could easily spend hundreds of hours or more programming it,
does it really matter what the cost of the software/hardware is? Your time has/will cost far more than any of the software/hardware combinations
talked about in this thread.
And you break one expensive tool due to bad programming can be more expensive than any of the controllers we talked about yet, haha.