Firmata on Spark Core

2 minute read 31 August 2014

image

Photo Gareth Halfacree.

As part of my work with the soon to be launched Octoblu I've been working on porting Firmata over to Spark Core. The Spark's arduino abstraction has really come along making it the cheapest connected arduino out there, and me pretty excited about it.

A firmata will allow us to command and control our sparks from all the existing firmata interfaces out there like Johnny 5 in Node or the many native interfaces. I should note Chris Williams has Voodoo Spark https://github.com/voodootikigod/voodoospark which is an RPC replacement for Firmata on Spark. From the Readme

"The VoodooSpark uses the Spark Cloud and its REST API to provide IP address and port information to the local spark core. It will then initiate a direct connection to the host machine, on which will need to be a TCP server. Once the connection has been made, the host machine can drive the Spark Core using the binary protocol defined below to effectively execute firmware API level commands dynamically."

That being said not relying on the Spark server or requiring you to have a TCP Server seemed like enough to bring Firmata over. Plus Ive been able to do things like tunnel firmata through mqtt which would allow Core sleep and store and forward messages that VoodoSpark currently couldnt achieve.

UPDATE: Firmata has forked the project for the Spark and I'm developing in dev at https://github.com/firmata/spark#dev with production being at https://github.com/firmata/spark

While a full working branch of octoblu (nea skynet) mqtt and core-firmware is over at https://github.com/jacobrosenthal/core-firmware/tree/skynet-mqtt-firmata

The branch is working for minor interactions, but theres still a bit to be done.