From IPRE Wiki
Jump to: navigation, search

Myro now supports the Finch.

The following documents the functionality available in Calico. You can access the Finch from any language that can load Calico modules.

See also the related Hummingbird robot and Calico software.

Getting Started with the Finch

To access the Finch robot:

1) On Linux, you will need udev rules:

For example, if this was in a file called "55-udev.rules":

SUBSYSTEM=="usb", ATTR{idVendor}=="2354", ATTR{idProduct}=="1111", MODE="0660", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2354", ATTR{idProduct}=="2222", MODE="0660", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="2354", ATTRS{idProduct}=="1111", MODE="0666", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="2354", ATTRS{idProduct}=="2222", MODE="0666", GROUP="plugdev"

Copy that to the udev rule directory:

sudo cp 55-udev.rules /etc/udev/rules.d/

2) In Calico, load the Myro module using any language that support Calico modules

For example, in Python:

from Myro import *

3) Use the makeRobot("Finch") function

4) Use many of the Calico Myro interface, including those below

5) Try one of the Finch examples. From Calico, menu -> File -> Examples -> Python -> Robots -> Finch. Also, see them online here:


setLED("front", hex-color-string)

Sets the color of the LED on the front of the Finch.

The first parameter, position, should be set to "front" for the Finch

The second parameter is string starting with '#' followed by the hex value of the color in RRGGBB format, where RR is red between 00 and FF, GG is green between 00 and FF, and BB is blue between 00 and FF.

Example: setLED("front", "#00FF00") sets the LED to green.


All of the movement commands (forward, backward, motors, joystick, etc) from the standard Calico Myro API.


beep(duration, frequency)

Beeps for a certain duration and frequency

  • duration - The duration of the beep in seconds
  • frequency - The frequency of the beep in Hz

Example: beep(1, 440) - beeps for 1 second at 440 Hz

Light sensor


Get left and right light sensors

  • value - "left" to return the left light sensor, "right" to return the right light sensor, and "both" to return both

An integer, or a two element array containing the the left and right light sensor values (0 to 255)



Returns the accelerations experienced by Finch's accelerometer, as well as tap and shake info. Values are -1.5g to 1.5g.

  • position - "x" to return the x acceleration, "y" to return the y accerleration, "z" to return the z acceleration, "tap" to return if the finch was tapped( 1 for yes, 0 for no), "shake" to return if the finch was shook, and "all" to return all five.

Returns A double, or an array of 5 doubles holding X, Y, and Z acceleration, and tap and shake info, null if the read failed.



Gets the temperature measured by the Finch's small temperature sensor.

Returns a double, which is the ambient temperature in Celcius



Gets a two element boolean array representing the left (element 0) and right (element 1) obstacle sensors or a bool. True if an obstacle is detected, false otherwise.

  • position - "left" to return the left obstacle sensor, "right" to return the right obstacle sensor, "both" to return both

Returns bool or an array of bools containing Finch obstacle data.