Aquí hay un circuito h-Bridge existente que usé en otro proyecto de trabajo. Éste aprovecha un IC de puente H de bajo costo, el Diode International ZXMHC3A01N8. Tenga en cuenta los resistores de polarización de 22K utilizados junto con los GPIO.
Este circuito es impulsado por una MCU de baja potencia, similar a su Arduino. El firmware siempre establece las dos salidas GPIO en estados opuestos para conmutar el relé en una dirección durante unos 30 ms, y luego las vuelve al mismo estado. Al cambiar el relé a la otra dirección, el relé se reinicia en la dirección opuesta.
Debe aplicar activamente el flujo de corriente a AMBOS lados del puente H para revertirlo. En su descripción original, parece que está eliminando los 5 voltios de uno, suponiendo que el otro lado cambie. Mi experiencia es que quieres un control determinista en ambos lados de este puente h.
Además, dependiendo de sus requisitos actuales, es posible que pueda salirse con la suya con una solución de IC de H-bridge mucho más costosa y mucho más compacta. Espero que ayude.