Skip to content

Firmata Modifications

Bernat Romagosa edited this page Jan 19, 2018 · 8 revisions

Over the years we've collected several modifications of Firmata that add functionality to Snap4Arduino. These allow you to make use of devices that are not supported by the protocol by default, such as ultrasound distance sensors, LCD screens or capacitive sensors.

These are user-contributed and, as such, we do not maintain or support them directly. We recommend getting in contact with their authors if things do not work as expected.

If you have built a Firmata modification that is not listed here, please let me know and I'll add it to the list.

Using a Modified Firmata

All of these modifications come in at least two files. The first one usually contains the word Firmata and has .ino file extension. This is the Firmata modification that you need to push to the board by means of the Arduino IDE.

The other file(s) have a .xml extension, and contain blocks that you can import into Snap4Arduino to make use of the new functionalities offered by the modification. You can just drag and drop the file into Snap4Arduino to import it.

Take in account some of these will require specific wiring into your board, so please check out the articles or blog posts. In the event that there is no documentation, you will need to resort to taking a look at the .ino Firmata file to find out where the device is meant to be connected. Some of these modifications allow you to connect your device to arbitrary pins. You'll find this out by taking a look at the blocks after importing them into Snap4Arduino. Basically, it depends on whether the blocks let you choose a pin or not.

List of Modified Firmatas

For each device, there are several modifications that support it. We list them all below.

Ultrasound Distance Sensors

LCDs

Capacitive Sensors

DHT11 Humidity & Temperature Sensors

Although temperature and humidity can be read in regular Snap4Arduino by using simpler analog sensors, DHT11 will provide better, more accurate readings.

Buzzers (tone)

In regular Snap4Arduino you can make a buzzer beep, but you won't be able to control its tone. The following Firmata modifications will let you do so:

Stepper Motors

Support for steppers by default is in the way. In the meantime, you can use these Firmata modifications:

Keypads

PulseIn and PulseOut Readings

Nunchuk Sensors

Sending and Receiving Messages Over Infrared

By using an IR receiver and, for example, a TV remote.

Adafruit NeoPixel Strip

Tinkerkit Braccio Robot Arm