# Servo - OSC
[OSC]

Control Servo motors with the Application Board via OSC. More...

Control Servo motors with the Application Board via OSC.

## Devices

There are 4 Servo controllers available on the Application Board, numbered 0 - 3.
See the servo section in the Application Board user's guide for more information on hooking up servos to the board.

## Properties

Each servo controller has three properties:

- position
- speed
- active

Position
  The position property corresponds to the position of the servo motor within its range of motion. This value can be both read and written.

  Most servos like to be driven within a "safe range" which usually ends up being somewhere around 110-120 degrees range of motion, or thereabouts. Some servos don't mind being driven all the way to their 180 degree range of motion limit. With this in mind, the range of values you can send to servos connected to the Make Controller Kit is as follows:
  - Values from 0-1023 correspond to the normal, or "safe", range of motion.
  - You can also send values from -512 to 1536 to drive the servo through its full range of motion.

  Note that it is sometimes possible to damage your servo by driving it too far, so proceed with a bit of caution when using the extended range until you know your servos can handle it.

  To set the first servo to one quarter its position, send the message

      /servo/0/position 256

  Leave the argument value off to read the position of the servo:

      /servo/0/position

Speed
  The speed property corresponds to the speed with which the servo responds to changes of position. This value can be both read and written, and the range of values is 0 - 1023. A speed of 1023 means the servo responds immediately, and lower values will result in slower, and smoother, responses.

  To set the speed of the first servo to just under full speed, send a message like

      /servo/0/speed 975

  Adjust the argument value to one that suits your application.
  Leave the argument value off to read the position of the servo:

      /servo/0/speed

Active
  The active property corresponds to the active state of the servo. If the servo is set to be active, no other tasks will be able to write to the same I/O lines. If you're not seeing appropriate responses to your messages to a servo, check the whether it's locked by sending a message like

      /servo/3/active