Skip to content

Releases: firmata/arduino

Firmata v2.5.9

14 Dec 00:17
Compare
Choose a tag to compare

Various bug fixes and new boards added since 2018

Firmata 2.5.8

15 Apr 17:35
Compare
Choose a tag to compare

What's new

  • Add support for Arduino MKR WAN 1300 & MKR GSM 1400 (sandeepmistry)
  • Fixed issue with use of non standard constant STM32 (fpistm)
  • Added support for Adafruit Feather M0 Bluefruit LE (cstawarz)
  • Enabled use of Serial4, Serial5, and Serial6 on Teensy 3.5 & 3.6 (petrosagg)

Installation

See the readme file for instructions on updating Firmata.

For Arduino 1.8.x or 1.6.4 and newer, simply update via the Arduino library manager.

If you're using Arduino 1.6.3 or older (including the 1.0.x series) you'll need to download the attached file below for your version (Firmata-2.5.8.zip for v1.8.x, v1.6.x and 1.5.x or Arduino-1.0.x-Firmata-2.5.8.zip for v1.0.x) and update following these instructions.

Firmata 2.5.7

19 Aug 21:08
Compare
Choose a tag to compare

What's new

  • Fixed I2C config parameter interpretation (zfields)
  • Added support for Adafruit nrf52 boards (hathach)
  • Improve debug output in StandardFirmataEthernet
  • Added TCP server option to StandardFirmataEthernet (MJPees)
  • Added support for STM32-based boards (fpistm)
  • Added support for MKRFox1200 (sandeepmistry)

Installation

See the readme file for instructions on updating Firmata.

For Arduino 1.8.x or 1.6.4 and newer, simply update via the Arduino library manager.

If you're using Arduino 1.6.3 or older (including the 1.0.x series) you'll need to download the attached file below for your version (Firmata-2.5.7.zip for v1.8.x, v1.6.x and 1.5.x or Arduino-1.0.x-Firmata-2.5.7.zip for v1.0.x) and update following these instructions.

Firmata 2.5.6

18 Mar 23:54
Compare
Choose a tag to compare

What's new

  • Fixes a bug introduced in Firmata 2.5.5 that broke Firmata strings and I2C communication.
  • Added support for Arduino Primo (Serial transport only for now, WiFi and BLE coming in future updates).

Installation

See the readme file for instructions on updating Firmata.

For Arduino 1.8.x or 1.6.4 and newer, simply update via the Arduino library manager.

If you're using Arduino 1.6.3 or older (including the 1.0.x series) you'll need to download the attached file below for your version (Arduino-1.6.x-Firmata-2.5.6.zip for v1.8.x, v1.6.x and 1.5.x or Firmata-2.5.6.zip for v1.0.x) and update following these instructions.

Firmata 2.5.5

07 Mar 06:12
Compare
Choose a tag to compare

This release introduced a bug that broke Firmata strings and I2C, please use Firmata 2.5.6 or newer instead.

What's new

  • Updated BLEStream for compatibility with CurieBLE v2 (Sandeep Mistry)
  • Added support for MKRZero (Sandeep Mistry)

This update also includes a number of changes from an ongoing refactor of the Firmata core by Zak Fields. These changes don't impact user facing sketches, they are all internal only. Changes include:

  • Split out parser logic into new lib free of Arduino-specific dependencies.
  • Added new class to support cross platform marshalling of Firmata procedure calls.
  • Split out core constants to separate file.
  • Split out core defines to separate file.
  • Added firmata namespace to core library classes.

Installation

See the readme file for instructions on updating Firmata.

For Arduino 1.8.x or 1.6.4 and newer, simply update via the Arduino library manager.

If you're using Arduino 1.6.3 or older (including the 1.0.x series) you'll need to download the attached file below for your version (Arduino-1.6.x-Firmata-2.5.5.zip for v1.8.x, v1.6.x and 1.5.x or Firmata-2.5.5.zip for v1.0.x) and update following these instructions.

Firmata 2.5.4

24 Oct 03:55
Compare
Choose a tag to compare

What's new

  • Added Teensy 3.5 and 3.6 to Boards.h.
  • Only disable PWM when setting pinMode to OUTPUT if pinMode was previously PWM.
  • Forward declare some functions to fix compiler issues with older IDE versions.
  • Assign blinkVersionDisabled in constructor to fix compiler issue in Arduino 1.0.6.
  • StandardFirmata (and variants) should now compile back to Arduino 1.5.8 and 1.0.6 and perhaps earlier.

Installation

See the readme file for instructions on updating Firmata.

If you're using Arduino 1.6.3 or older (including the 1.0.x series) you'll need to download the attached file below for your version (Firmata-2.5.4.zip for v1.0.x or Arduino-1.6.x-Firmata-2.5.4.zip for v1.6.x and 1.5.x) and update following these instructions. For Arduino 1.6.4 and newer, simply update via the Arduino library manager.

Firmata 2.5.3

19 Jun 05:41
Compare
Choose a tag to compare

What's new

Highlights:

See all boards and shields compatible with StandardFirmataWiFi

Contributions:

  • ESP8266 support (Jens B. & Jacob Rosenthal)
  • Added host connection callback (Jens B.)
  • Wi-Fi TCP client (Jens B.)
  • Added ability to choose between Wi-Fi TCP client or server (Jens B.)
  • BLE transport (BLEStream based on BLESerial by Volta Molda, also thanks to Sandeep Mistry)
  • Various updates to StandardFirmataWiFi (Jens B.)
  • Increased I2C RX data buffer from 32 to 64 bytes (Rick Waldron)

Additional changes:

  • Fixed Arduino Galileo and Edison compile issues
  • Removed StandardFirmataEthernetPlus
  • Made StandardFirmataEtherent configurable (to optionally add Plus functionality)
  • Improved configuration instructions for StandardFirmataEthernet and StandardFirmataWiFi

Installation

See the readme file for instructions on updating Firmata.

If you're using Arduino 1.6.3 or older (including the 1.0.x series) you'll need to download the attached file below for your version (Firmata-2.5.3.zip for v1.0.x or Arduino-1.6.x-Firmata-2.5.3.zip for v1.6.x and 1.5.x) and update following these instructions. For Arduino 1.6.4 and newer, simply update via the Arduino library manager.

Firmata 2.5.2

16 Feb 00:41
Compare
Choose a tag to compare

What's new

  • Added Wi-Fi transport (Jesse Frush)
  • Added StandardFirmataWiFi (Jesse Frush)
  • Added support for Arduino MKR1000 (Jesse Frush)
  • Moved Serial feature to own class SerialFimata
  • Moved pin config and pin state handling to Firmata.cpp
  • Added new method disableBlinkVersion to provide a way to optionally bypass startup blink sequence
  • Added new method isParsingMessage to check if an incoming message is actively being parsed
  • Added ethernetConfig.h for StandardFirmataEthernet and StandardFirmataEthernetPlus
  • Removed serialUtils.h and using SerialFirmata class instead for Serial feature

Installation

See the readme file for instructions on updating Firmata.

If you're using Arduino 1.6.3 or older (including the 1.0.x series) you'll need to download the attached file below for your version (Firmata-2.5.2.zip for v1.0.x or Arduino-1.6.x-Firmata-2.5.2.zip for v1.6.x and 1.5.x) and update following these instructions. For Arduino 1.6.4 and newer, simply update via the Arduino library manager.

Firmata 2.5.1

26 Dec 23:38
Compare
Choose a tag to compare

What's new

Important note for Firmata client library developers: REPORT_VERSION now returns the Firmata protocol version and REPORT_FIRMWARE now returns the firmware version. Currently the version numbers are the same but they may diverge in the near future. Please update accordingly.

Installation

See the readme file for instructions on updating Firmata.

If you're using Arduino 1.6.3 or older (including the 1.0.x series) you'll need to download the attached file below for your version (Firmata-2.5.1.zip for v1.0.x or Arduino-1.6.x-Firmata-2.5.1.zip for v1.6.x and 1.5.x) and update following these instructions. For Arduino 1.6.4 and newer, simply update via the Arduino library manager.

Firmata 2.5.0

08 Nov 20:22
Compare
Choose a tag to compare

What's new

Adds the ability to interface with serial devices via hardware (UART/USART) or software serial. See the serial feature protocol for details. An example Firmata client implementation of the new Serial feature can be found in the node-firmata client library. The new Serial feature is implemented in StandardFirmataPlus and StandardFirmataEthernetPlus. You will need to upload either of those sketches in order to user the Serial feature with a corresponding client library that also implements Firmata serial (which is so far only node-firmata, but hopefully other Firmata client libs will add support in the near future).

Also adds the ability to write a value to a single digital pin without needing to track state of the pins as is required with the DIGITAL_MESSAGE. See set digital pin value in the core protocol documentation.

Adds a new pin mode PIN_MODE_PULLUP to set the internal pullup resistor for a pin. This was required for Arduino Zero support. Firmata client library authors should migrate to this new pin mode, but continue to fall-back on the old method of digital write high to input pin if the Firmata sketch installed does not support PIN_MODE_PULLUP (you can determine this via the configuration query results - check for 0x0B).

This release adds support for the following boards:

  • Arduino Zero
  • Teensy LC
  • Pinoccio Scout (thanks to @makenai)

Authors of their own Firmata sketches, StandardFirmata variants, etc) should note the change of pin mode #defines. You'll see the old names are still supported but deprecated so you should migrate to the new ones if your sketch includes Firmata v2.5.

For the full list of changes since Firmata 2.4.4 see the revisions file.

Installation

See the readme file for instructions on updating Firmata.

If you're using Arduino 1.6.3 or older (including the 1.0.x series) you'll need to download the attached file below for your version (Firmata-2.5.0.zip for v1.0.x or Arduino-1.6.x-Firmata-2.5.0.zip for v1.6.x and 1.5.x) and update following these instructions. For Arduino 1.6.4 and newer, simply update via the Arduino library manager.

Known issues

If you're using Arduino 1.6.6 you will notice that the IDE will prompt you to update certain libraries via the library manager. If you update either the Servo or Ethernet libraries and then try to compile a Firmata sketch for a 3rd party board (Galileo, Edison, Teensy boards, etc), you may get a compiler error on the Servo or Ethernet library. This is because the Arduino library manager installs libraries in the sketchbook libraries folder and this location has highest priority when linking, higher-priority than the version of Servo or Ethernet that is bundled with the 3rd party library package. The solution if you find yourself in this position, is to remove that library temporarily from your sketchbook libraries folder and compile again, then the compiler should find the correct library. This is an Arduino issue, not a Firmata issue, but it affects Firmata.

A similar issue with a similar solution: If you try to compile StandardFirmataEthernet or StandardFirmataEthernetPlus for an Arduino Due, it will fail. Due needs Ethernet v1.1.1, but if you update the Ethernet library you'll run into the issue described above. This will likely not be fixed until the next Arduino release so it will require juggling library files until then if you switch between a Due and another board. Again, not a Firmata issue, but an Arduino issue that affects Firmata.