From Derivative
Jump to navigation Jump to search


Firmata is an Arduino sketch allowing for configuration and control of the Arduino using messages formatted as MIDI.

More information on the firmata protocol can be found here:

See also

PythonIcon.pngPalette:firmata Ext

Getting Started

  • Install the latest Arduino IDE on your computer and connect your Arduino board.
  • In the Arduino IDE, under `File`, select `Examples>Firmata>Standard Firmata` and upload it to your board.
  • Close the IDE and select the port your Arduino is conencted to on the firmata COMP's Port parameter.
  • Toggle the Active parameter. The component will attempt to communicate with the Arduino and create all necessary parameters for pin-modes and pin-values.
  • Via the now available Pin Modes and Pin Values pages, setup and control your Arduino.
  • The CHOP output form the component contains all pin values.

Parameters - Firmata Page

Help Help - Opens this page.

Version Version - THe current version of this component.

Firmata Type Firmatatype - The installed firmata type as reported by the arduino board.

Firmata Version Firmataversion - The installed firmata version as reported by the arduino board.

Active Active - Toggle to establish a connection between the component and the arduino board.

Port Port - Select the port the arduino board is connected to.

Baud Rate Baudrate - Set the Baud Rate for the serial connection.

Reset Reset - Reset all stored settings of the arduino board.

Query Version Queryver - Request the installed firmata type and version from the arduino board.

Query Board Capabilities Querycap - The capability query provides a list of all modes supported by each pin.

Query Pin States Querystates - The pin state is any data written to the pin (it is important to note that pin state != pin value).

Query Analog Mapping Queryanalog - The analog mapping query provides the information about which pins (as used with Firmata's pin mode message) correspond to the analog channels.

Report Analog Pins Reportanalog - Enable the reporting of analog pin values from the arduino.

Report Digital Pins Reportdigital - Enable the reporting of digital pin values from the arduino.

Sampling Interval Samplinginterval - The sampling interval sets how often analog data and i2c data is reported to the client. The default for the arduino implementation is 19ms.

Parameters - Pin Modes Page

This page will have a list of menu parameters the length of the number of pins on the arduino board. For each pin, the menu will reflect the pins supported modes:

  • PWM
  • I2C

Parameters - Pin Values Page

This page will have a list of either float and toggle parameters for each pin depending on the pin's mode. Pins set to an input type will be read-only.

Parameters - Servo Page

Min Pulse Minpulse -

Max Pulse Maxpulse -

Operator Outputs

  • Output 0 - The CHOP output reflects the arduino's pin values.

TouchDesigner Build:

Palette • Palette/Mapping/kantanMapper • Palette:arcBallCamera • Palette:arcBallGeometry • Palette:audioAnalysis • Experimental:Palette:audioAnalysis • Palette:audioSet • Palette:battery • Palette:blendModes • Palette:bloom • Palette:camera • Palette:cameraBrowser • Palette:camSchnappr • Palette:changeColor • Palette:changeToColor • Palette:checker • Palette:chromaKey • Palette:colorThreshold • Palette:compareComp • Palette:convolve • Palette:cornerPinSOP • Palette:cppParsTemplateGen • Palette:customAttributes • Palette:debugControl • Palette:dent • Palette:depthExtract • Palette:dilate • Palette:equalizer • Palette:feedback • Palette:feedbackEdge • Palette:firmata • Palette:geoPanel • Palette:gestureCapture • Palette:graphPlot • Palette:histogram • Palette:hsvBlur • Palette:imageSearch • Palette:julia • Palette:kantanMapper • Palette:kinectCalibration • Palette:kinectPointcloud • Palette:leapPaint • Palette:lightTunnel • Palette:mandelbrot • Palette:mesh • Palette:monochrome • Palette:motionSense • Palette:moviePlayer • Palette:moviePlaylist • Palette:multiLevel • Palette:multiMix • Palette:noise • Palette:onScreenKeyboard • Experimental:Palette:operatorPath • Palette:opticalFlow • Palette:particlesGpu • Palette:pixelate • Palette:pixelRelocator • Palette:pointGenerator • Palette:pointillize • Palette:pointMerge • Palette:pointRender • Palette:pointRepack • Palette:pointTransform • Palette:pointWeight • Palette:popDialog • Palette:probe • Palette:projectorBlend • Palette:pushPins • Palette:puzzle • Palette:quadReproject • Palette:radialBlur • Palette:remotePanel • Palette:rgbaBlur • Palette:rgbaDelay • Palette:rgbContrast • Palette:sceneChanger • Palette:search • Palette:searchReplace • Experimental:Palette:searchReplace • Palette:sharpen • Palette:softenAlpha • Palette:solarize • Palette:sopRender • Palette:splitter • Palette:stitcher • Palette:stoner • Palette:superFormula • Palette:sweetSpot • Palette:sweetSpotPreviz • Palette:TDVR • Palette:transitMap • Palette:twirl • Palette:vectorScope • Palette:virtualFile • Palette:waveformMonitor • Palette:webBrowser • Palette:webSvg • Palette:xyScope