I have just finished designing a control system for a simple two terminal electric motor. (What I mean by ‘simple two terminal electric motor’ is a typical little motor found in most RC vehicles. It has two wires, one positive and one negative (ground). Apply power and it turns in one direction. If you switch the positive and negative, it turns in the other direction).
NOTE: This is mostly for cases where shorting must be avoided at all costs, for instance, if something where to malfunction in your arduino or in your code.
This is the most recent version, the other diagrams are for historical purposes (and to show the WRONG way to do this),
I found this online java applet to be profoundly useful, and fairly easy to use. I was able to design my circuit in about an hour, without knowing how I was going to accomplish what I wanted. Basically, it makes switching directions easy and short-proof (I hope at least… I’ll post an update once I finish building it and test it out first-hand.) So there are two switches, which will be connected to two seperate gpio pinouts on my Orange Pi One. If one switch is on, then the other is disabled, while still being able to flip the switch without causing a short.