Firmata support available in Energia v13 & newer

Firmata is a serial communication protocol that enables developers to have access to the real world by sending commands to a LaunchPad via a UART/Serial connection. Through this set of serial APIs, developers can create their applications in a runtime that they are most comfortable in, whether that is javascript, python or any other tool that has access to your computer’s serial port.

Through the Firmata APIs, you can fully exercise the I/O pins of many LaunchPad development kits. You can toggle I/O, generate PWM signals, read analog inputs & more. The other benefit of Firmata is its ease of porting to new platforms. Firmata support can be added to a new LaunchPad by simply modifying a boards.h file, which acts as a descriptor file that describes all of the functionality available on each pin on the LaunchPad. The application firmware remains the same.

Here’s a video of Firmata in action!

There are several PC-side GUIs that are available that allow you to interact with your LaunchPad’s I/O pins. However, these GUIs are simply example applications that are leveraging the firmata APIs. What’s cool about these PC side GUIs is that they are able to do a quick “handshake” with a connected LaunchPad. Through the serial interface, the GUI is able to identify which board is connected & dynamically populate the GUI with the appropriate pin list. It also intelligently exposes the appropriate functionality that is available within each pin. With additional code, developers can go a step further and add logic & intelligence to the server side application. This way, the application you are creating is completely hosted on the PC/server side, while the LaunchPad simply acts as a serial interpreter waiting for commands.

Firmata is available as a library/example application in Energia v13 and newer.