PyMata 2.10 Released

This is a bug fix release that adds a small delay in pymata_serial when no data is available from the Arduino. Refer to issue #19 for more detail.

The s2a_fm Users Guide Has Been Translated to Traditional Chinese.

Cheng Shu-Feng has generously provided the translation. The updated manaul can be found here.

pymata_aio v1.3

Now Available

This is a bug fix/enhancement release that addresses:
  • Auto detection of OS X serial ports
  • Added a logging feature to optionally redirect console output to a log file.
  • Removed SIGALRM from Control-C handler to support Windows.          

More pymata_aio changes!

Version 1.2 Now Available

Another bug fix release.

The data returned as a result of an i2c_read_request was incorrectly formatted as "internal Firmata 2 Byte format".

The code now returns data in its normalized and expected format.


Version 1.1 Released

This release:
  • Fixes a bug that was experienced while performing a multi-byte i2c read request.
  • Updates FirmataPlus to be StandardFirmata 2.4.3 compatible.
  • Exposes many more examples on the Wiki page.
Download the latest version of pymata-aio on pypi, or download form Github.
Just Released!

So, what Is pymata_aio?

It's the second generation of the PyMata easy-to-use, application programming interface for Arduino Firmata. It uses the Python asyncio library at its core, for maximum concurrency performance.

Three Independent APIs Are Included.

Choose the one that is best suited to your job:


The pymata3 API is modeled after the original PyMata API and will seem most familiar to current PyMata users. This API acts as a proxy for the pymata_core API, providing all of the advantages of asyncio, but without having to directly program in asyncio.


This API is a pure asyncio method call API intended for those who wish to use asyncio directly. It exposes its underlying asyncio task/coroutine/futures model to the developer.


Would you like to connect and control your Arduino over the Internet? PyMata_IOT is a ready to run, Autobahn WebSocket server application, included with this package. Its API is a set of JSON messages exchanged between your application and the server. Because it uses JSON messages, it is totally language independent. You can write your WebSocket client using Python, JavaScript or any other language of your choosing.
It provides the exact the same functionality as the other two examples above, but it provides a web page with two buttons to turn the LED on and off.

Download it here.