This is the second generation PyMata client.
Latest commit 2fe9b91 Feb 15, 2017 added pycharm logo
Failed to load latest commit information.
FirmataPlus v2.12/13 updates Jul 29, 2016
documentation Version 2.16 Updates Aug 24, 2016
examples v2.8 Updates Dec 6, 2015
pymata_aio Version 2.16 Updates Aug 24, 2016
test Addition of Exp3 Aug 18, 2015
.gitignore v2.12/13 updates Jul 29, 2016
MANIFEST initial submission Jul 10, 2015 added pycharm logo Feb 15, 2017
license.txt initial submission Jul 10, 2015 Version 2.16 Updates Aug 24, 2016


pymata_aio is a high performance, non-blocking, Python asyncio client for the Firmata Protocol that supports the complete StandardFirmata protocol.

Join the chat at

Major features

  • Python 3.5+ compatible.
    • Implements PEP 492
    • Applications developed with version 1.x of pymata_aio are backward compatible without modification.
  • Implemented using the high efficiency Python asyncio library.
  • Choose From 3 Included APIs
    • pymata_core - a pure asyncio method call API.
    • pymata3 - a pymata_aio plugin implementing a method call API that acts as a proxy for pymata_core. It shields the user from the details of the asyncio library.
    • pymata_iot - a pymata_aio plugin API that implements an Autobahn Websocket server, and uses JSON messaging for application communication.
  • Implements 100% of the StandardFirmata Protocol (StandardFirmata 2.5.3).
  • Auto-detects Arduino COM ports.
  • FirmataPlus (enhanced StandaradFirmata sketch) included with distribution. It adds support for:
    • HC-SRO4 Ultrasonic Distance Sensors using a single pin.
    • Stepper Motors.
    • Piezo Tone Generation.
    • 2 Pin Rotary Encoder Support.
  • FirmataPlusRB (enhanced StandaradFirmata sketch to control a SparkFun Redbot) is included with the distribution. It adds support for:
    • Piezo Tone Generation.
    • Wheel encoders.
    • RedBot Accelerometer.
    • Check out rbDashBoard for a web interface to the RedBot.
    • Check out rb4s, a Scratch Program to control the RedBot.
  • Ability to automatically capture and time-stamp user specified analog and digital transient input events on a per-pin basis.
  • All 3 APIs support callback as well as a polled interface.

Detailed package information can be found on the pymata_aio wiki.

This project was developed with Pycharm logo