Implementing a Firmata CLIENT in micropython

All ESP8266 boards running MicroPython.
Official boards are the Adafruit Huzzah and Feather boards.
Target audience: MicroPython users with an ESP8266 board.
Post Reply
Posts: 230
Joined: Tue Aug 09, 2016 10:58 am

Implementing a Firmata CLIENT in micropython

Post by cefn » Sat Apr 29, 2017 10:10 am

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.

Posts: 1
Joined: Sat Aug 03, 2019 8:24 pm

Re: Implementing a Firmata CLIENT in micropython

Post by kylerlaird » Sat Aug 03, 2019 8:27 pm

Any progress on this? I want to use MicroPython on my PLDuinos (

User avatar
Posts: 2463
Joined: Sat May 09, 2015 4:13 pm
Location: Rhineland, Europe

Re: Implementing a Firmata CLIENT in micropython

Post by Roberthh » Sun Aug 04, 2019 6:51 am

What stops you from just taking one of the linked python examples and porting it to MicroPython? It does not look overly complicated.

Post Reply