Main Page

From Firmata

Jump to: navigation, search

Firmata is a generic protocol for communicating with microcontrollers from software on a host computer. It is intended to work with any host computer software package. Right now there is a matching object in a number of languages. It is easy to add objects for other software to use this protocol. Basically, this firmware establishes a protocol for talking to the Arduino from the host software. The aim is to allow people to completely control the Arduino from software on the host computer.

If you are interested, we can help you use this protocol with any software whatsoever. The protocol is quite simple. We will all benefit if we use a common firmware. Then microcontroller boards become really cheap sensorboxes in addition to all the rest of the stuff you can already do with them. Check out the Examples page to see Firmata in action.

ArdFirmVB.png

Contents

Firmata Test Program

This "firmata_test" program works with boards running StandardFirmata version 2.2 or higher on standard Baud rate 57600.

If you need to quickly test your hardware, this stand-alone program can access all pins. It runs from a single file (no installation needed), for quick and easy testing!


Firmata test screenshot.png


For Linux (32 bit)

http://www.pjrc.com/teensy/firmata_test/firmata_test


For Linux (64 bit)

http://www.pjrc.com/teensy/firmata_test/firmata_test.64bit

http://www.pjrc.com/teensy/firmata_test/firmata_test.64bit_2 (Ubuntu 12.04)

http://www.pjrc.com/teensy/firmata_test/firmata_test.64bit_2_log (Ubuntu 12.04, with log window)


For Mac OS-X

http://www.pjrc.com/teensy/firmata_test/firmata_test.dmg


For Windows

http://www.pjrc.com/teensy/firmata_test/firmata_test.exe


Source code

http://www.pjrc.com/teensy/firmata_test/firmata_test.tar.gz

HOWTO Compile Firmata test program under Windows using GCC and WxWidgets

http://www.pjrc.com/teensy/firmata_test/firmata_test_OSL.tgz (unicode compatible, by Orion Lawlor)

Arduino Uno

Using Arduino 0022 or later, open the code with the File > Examples > Firmata > StandardFirmata menu, and then upload it to your Uno.

Versions of arduino previous to 0022 (December 2010) have a baud rate error on Uno which corrupts communication. The Firmata Test program can open the serial port, and the receive counter at the bottom of the windows keeps increasing, but nothing works. If you're having this problem, you can fix it by just upgrading to a recent Arduino software version.

Arduino 0022 also fixed a bug in Uno's 8u2 firmware which impacted Linux. If your Uno is an early model, you may need to use the dfu-programmer tool to flash the 8u2 firmware. The Windows and Mac OS-X drivers do not seem to be sensitive to this issue.

Previously, this page said that all Arduino Uno boards come with StandardFirmata 2.2 pre-loaded. This may have been true at one point, but it's no longer the case.

Arduino Mega

To display all Pins (including missed Pin 14 and Pin 15 as shown in the picture above), it is necessary to change the sampling interval in file StandardFirmata.ino from 19ms into 99ms :

int samplingInterval = 99;

Note: I would assume this is a bug in the test application (above). This change is not necessary in some existing Firmata client libraries such as BreakoutJS and johnny-five.

Arduino Leonardo

To use Firmata with the Arduino Leonardo you must install Arduino 1.5.4 or greater. If for some reason you need to use an older version of the Arduino IDE (pre 1.5.3), then you'll need to update the Firmata library in the older Arduino IDE to Firmata version 2.3.2 or greater.

Arduino Due

To use Firmata with the Arduino Due, install Arduino 1.5.4 or higher. Firmata v2.3.6 is now integrated in Arduino 1.5.4 IDE. You can find the examples in the Arduino IDE under File -> Examples -> Firmata.

Editing this Wiki

In order to prevent the spam we've been getting recently, you must be logged into an account to edit pages. Since user account creation is disabled, if you don't already have one, please use this one:

Username: firmata
Password: pleaseedit


If you have an account, you can also change the passwords for other users: http://firmata.org/wiki/Special:PasswordReset

Personal tools