Generic Arduino protocol and comms for Clojure