I’d try to go as far as you can with software first, because a board like this is pretty significantly complicated. Not easy to prototype.