**Tcl Binding to Firmata** %|||% &|Areas | (De)serialization, RPC, Remote control |& &|Good if student knows | Tcl, C |& &|Priority | Medium to Low |& &|Difficulty | Medium to Low |& &|Benefits to the student | |& &|Benefits to Tcl | Extend Tcl's glueing reach to hardware in general, the [Arduino] ecosystem in particular |& &|Mentor | ? |& &|Related Project Ideas | Possibly [GSoC Idea: Common (De)Serialization Infrastructure]|& **Project Description** Quoting the [http://firmata.org/%|%Firmata] website: ====== ... 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. Right now there is a matching object in a number of languages. It is easy to add objects for other software to use this protocol. Basically, this firmware establishes a protocol for talking to the Arduino from the host software. The aim is to allow people to completely control the Arduino from software on the host computer. ====== The objective of this project is to create a Tcl binding to the protocol and library, so that [Arduino] can be controlled from Tcl scripts. For inspiration, bindings for other languages (Python, Perl, ...) can be found at http://firmata.org/wiki/Download Note: Given Tcl's builtin [binary] command it might be possible to write the binding purely in Tcl, although a C implementation is likely faster. As there is likely some data (de)serialization component inside of the protocol it might be useful to coordinate with any student working on [GSoC Idea: Common (De)Serialization Infrastructure] and related projects. **Requirements:** * ... * ... ---- <>GSoC