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.
Firmata Test Program
This "firmata_test" program works with boards running StandardFirmata version 2.2.
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!
For Linux (32 bit)
For Mac OS-X
http://www.pjrc.com/teensy/firmata_test/firmata_test_OSL.tgz (unicode compatible, by Orion Lawlor)
All Arduino Uno boards come with StandardFirmata 2.2 pre-loaded.
Arduino 0022 (December 2010) fixed 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. To fix this, just use Arduino 0022 or later, open the code with the File > Examples > Firmata > StandardFirmata menu, and then upload it to your Uno.
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.
Editing this Wiki
Because we were getting a lot of spam, we are trying a new way of preventing spam. If you are a human and want to make edits on this wiki, you can either create an account, or use the existing one.
- you must login in order to edit
- you can use your own account
- or, you can use the pre-created account, the account is called firmata and the password is pleaseedit.
If you have an account, you can also change the passwords for other users: http://firmata.org/wiki/Special:PasswordReset