Firmata client library

1.1.0 2019-09-26 17:58 UTC

This package is auto-updated.

Last update: 2024-03-25 09:23:47 UTC


Build Status License Total Downloads Latest Stable Version Latest Unstable Version

License: The MIT License

Copyright: 2013-2018 Thomas Weinert

Carica Firmata is a PHP client library for the Firmata protocol.

It's a learning project not a product. Use it at your own risk.

![Gitter]( Chat.svg)


The repository provides a library to control an Arduino using the Firmata server sketch.

It was originally based on the Javascript implementation by Julian Gautier.


Carica Firmata uses Carica Io a non blocking I/O library for PHP. At least PHP 5.4 is needed. On Windows, Serproxy should be used to map serial ports to tcp.


Carica Firmata is available on Packagist. Use Composer to add it as an dependency into your own projects.


Carica Firmata provides an OOP abstraction for the pins on an Arduino. Values are stored and only send to the board if changed. The values can be changed using different properties.

  • $pin->value is the original, internal value, the maximum value depends on the resolution of the mode.
  • $pin->digital is a boolean value and sets the pin to low/high
  • $pin->analog is a float between 0 and 1, the need value is calculated internally using the resolution of the current mode.

It is suggested to use the digital/analog properties to support different resolutions.

Carica Chip

Carica Chip uses this project and provides device objects like a led or a motor. Take a look at: