Page 1 of 1

Implementing a Firmata CLIENT in micropython

Posted: Sat Apr 29, 2017 10:10 am
by cefn
I am starting this thread to explore the potential for running a micropython-implemented Firmata client (see for an intro to Firmata).

Such an implementation would enable,for example, an ESP8266 to act as a pythonic remote-control for an Arduino.

@pfalcon on github rightly commented that the feature issue I had posted to github should have more correctly been a post here on the micropython forum. Hopefully this will provide a place for interested people to keep track of further developments.

Implementing a micropython Firmata client provides the benefits of using e.g. an ATMEGA328 for IO, (robustness and real-time benefits) as well as providing fairly easy access to any hardware drivers which already exist for the Arduino platform, simply by powering up another chip and wiring some serial lines back to the ESP8266, and using the Firmata SysEx protocol, rather than needing to port C drivers to micropython.

Note, this is not the same as using Micropython for a Firmata platform, (as a board which is remote controlled by a Firmata client). For a starting point for a micropython Firmata platform instead, see e.g. the abandoned draft implementation from @neon22 at

For reference, this may end up being a stretch goal for a future crowdfunding project, so I hope to be able to invest some time in delivering this if the stretch goal is hit.

Re: Implementing a Firmata CLIENT in micropython

Posted: Sat Aug 03, 2019 8:27 pm
by kylerlaird
Any progress on this? I want to use MicroPython on my PLDuinos (

Re: Implementing a Firmata CLIENT in micropython

Posted: Sun Aug 04, 2019 6:51 am
by Roberthh
What stops you from just taking one of the linked python examples and porting it to MicroPython? It does not look overly complicated.