**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. Currently I know only of [https://github.com/tino/pyFirmata%|%pyFirmata], which is a binding for Python. 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