> For the complete documentation index, see [llms.txt](https://docs.wcproducts.com/welcome/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wcproducts.com/welcome/electronics/miniature-linear-servo-actuators/general-info/general-data.md).

# General Data

## Gearing Options

<table><thead><tr><th width="266">Gearing Option</th><th width="150">35:1</th><th width="150">63:1</th><th>150:1</th></tr></thead><tbody><tr><td>Peak Power Point</td><td>50N @16mm/s</td><td>75N @10mm/s</td><td>175N @4mm/s</td></tr><tr><td>Peak Efficiency Point</td><td>24N @24mm/s</td><td>38N @15mm/s</td><td>75N @7mm/s</td></tr><tr><td>Max Speed (no load)</td><td>32mm/s</td><td>20mm/s</td><td>8mm/s</td></tr><tr><td>Max Force (lifted)</td><td>50N</td><td>100N</td><td>200N</td></tr><tr><td>Back Drive Force</td><td>31N</td><td>46N</td><td>102N</td></tr></tbody></table>

## Stroke Options

<table><thead><tr><th width="268">Stroke Option</th><th width="150">50mm </th><th width="149">100mm </th><th>140mm</th></tr></thead><tbody><tr><td>Mass</td><td>56g</td><td>74g</td><td>84g</td></tr><tr><td>Max Side Load (extended)</td><td>40N</td><td>30N</td><td>20N</td></tr><tr><td>Closed Length (hole to hole)</td><td>118mm</td><td>168mm</td><td>208mm</td></tr><tr><td>Feedback Potentiometer</td><td>6kΩ+-50%</td><td>11kΩ+-50%</td><td>16kΩ+-50%</td></tr></tbody></table>

<table data-header-hidden><thead><tr><th width="270"></th><th align="center"></th></tr></thead><tbody><tr><td>Feedback Linearity</td><td align="center">Less than 2.00%</td></tr><tr><td>Input Voltage</td><td align="center">6VDC</td></tr><tr><td>Stall Current</td><td align="center">650mA @ 12V</td></tr><tr><td>Operating Temperature</td><td align="center">-10C to 50C</td></tr><tr><td>Audible Noise</td><td align="center">60dB @ 45cm</td></tr><tr><td>Ingress Protection</td><td align="center">IP-54</td></tr><tr><td>Mechanical Backlash</td><td align="center">0.25mm</td></tr><tr><td>Maximum Static Force</td><td align="center">250N</td></tr><tr><td>Maximum Duty Cycle</td><td align="center">20%</td></tr></tbody></table>

## Sample Code

Sample code provided by FRC team 4414. The provided code is to control the position of the L16-R Miniature Linear Servo Actuators.

<details>

<summary>Sample Code</summary>

{% code overflow="wrap" lineNumbers="true" fullWidth="true" %}

```javascript
import edu.wpi.first.wpilibj.Servo;
import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpiutil.math.MathUtil;
public class LinearServo extends Servo{
 double m_speed;
 double m_length;
 double setPos;
 double curPos;
 /**
 * Parameters for L16-R Actuonix Linear Actuators
 *
 * @param channel PWM channel used to control the servo
 * @param length max length of the servo [mm]
 * @param speed max speed of the servo [mm/second]
 */
 public LinearServo(int channel, int length, int speed) {
 super(channel);
 setBounds(2.0, 1.8, 1.5, 1.2, 1.0);
 m_length = length;
 m_speed = speed;
 }
 /**
 * Run this method in any periodic function to update the position estimation of your
servo
 *
 * @param setpoint the target position of the servo [mm]
 */
 public void setPosition(double setpoint){
 setPos = MathUtil.clamp(setpoint, 0, m_length);
 setSpeed( (setPos/m_length *2)-1);
 }
 double lastTime = 0;
 /**
 * Run this method in any periodic function to update the position estimation of your
servo
 */
 public void updateCurPos(){
 double dt = Timer.getFPGATimestamp() - lastTime;
 if (curPos > setPos + m_speed *dt){
 curPos -= m_speed *dt;
 } else if(curPos < setPos - m_speed *dt){
 curPos += m_speed *dt;
 }else{
 curPos = setPos;
 }
 }
 /**
 * Current position of the servo, must be calling {@link #updateCurPos()
updateCurPos()} periodically
 *
 * @return Servo Position [mm]
 */
 public double getPosition(){
 return curPos;
 }
 /**
 * Checks if the servo is at its target position, must be calling {@link #updateCurPos()
updateCurPos()} periodically
 * @return true when servo is at its target
 */
 public boolean isFinished(){
 return curPos == setPos;
 }
}
```

{% endcode %}

</details>

## Graphs

{% tabs %}
{% tab title="Load Curve" %}

<figure><img src="https://2439692285-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgEG1GkSxO05Z8fz121rw%2Fuploads%2FTZb7zDtZ7qO7OPDzi1vr%2FLoad%20Curve.png?alt=media&amp;token=da8b39b3-d108-476c-a403-62ecb057fe6e" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Current Curves" %}

<figure><img src="https://2439692285-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgEG1GkSxO05Z8fz121rw%2Fuploads%2FLE89rkANjgfBoFLwUOFj%2FCurrent%20Curve.png?alt=media&amp;token=4dfbb3b1-848d-4057-aa21-b01321029dcf" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.wcproducts.com/welcome/electronics/miniature-linear-servo-actuators/general-info/general-data.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
