At this stage the project has almost served it's purpose.
There's one more thing I might invest in and that's a graphical UI for the interacgtive mode across the serial interface.
It would make the exploratory side of things a lot easier.
Toggle pin states, apply, see results etc.
Python or Java I suppose - any suggestions?
The interactive mode is now complete along with various options. I've included a serial monitor that uses the readline library to make usage a lot more convenient.