firmata protocol implemented in javascript