Firmata is a generic protocol for communicating with microcontrollers from software on a host computer. It is intended to work with any host computer software package. There are implementations for multiple microcontrollers and host software packages.