# OTE — Output Energize

Source: https://rungs.dev/docs/ladder-logic/instructions/ote

> OTE in rungs.dev is the standard output coil — sets a BOOL bit to 1 while the rung is true and back to 0 when the rung goes false. The default ladder output.

Sets a bit to `1` while the rung is true and back to `0` when the rung goes false. The standard output coil.

## Operands [#operands]

| Name      | Type   |
| --------- | ------ |
| `dataBit` | `BOOL` |

## How It Works [#how-it-works]

Every scan, `OTE` re-writes `dataBit` to match the current rung condition: `1` when true, `0` when false. There is no memory — if the rung goes false, the output goes off immediately.

## Example [#example]

```ladder
XIC(Run)OTE(Lamp)
```

`Lamp` is `1` whenever `Run` is `1`.

## Seal-In Pattern [#seal-in-pattern]

To keep an output on after a momentary trigger, add a parallel branch that examines the output itself. Pair it with an enable contact that breaks the seal:

```ladder
[XIC(Trigger),XIC(Output)]XIC(Enable)OTE(Output)
```

`Output` latches on when `Trigger` goes true, stays on via its own contact, and drops when `Enable` goes `0`.

> **IDEA**
>
> **Practice**
>
> Try the seal-in in the [Start/Stop Motor exercise](https://rungs.dev/exercises/start-stop-motor) — keep a motor running after the start button releases.

## Common Mistakes [#common-mistakes]

- Driving the same output from two rungs — the lower rung always wins. Each output should be driven by exactly one `OTE` in the program.
- Expecting `OTE` to remember its state after the rung goes false — it does not. Use [`OTL`](https://rungs.dev/docs/ladder-logic/instructions/otl-otu) for a latched output.

## Related [#related]

- [OTL / OTU](https://rungs.dev/docs/ladder-logic/instructions/otl-otu) — latched and unlatched outputs
- [XIC](https://rungs.dev/docs/ladder-logic/instructions/xic), [XIO](https://rungs.dev/docs/ladder-logic/instructions/xio) — typical input contacts
- [Bit instructions overview](https://rungs.dev/docs/ladder-logic/instructions/bit-instructions)