# Loops

Loop blocks repeatedly execute code, eliminating the need to duplicate instructions. Use loops to process multiple sensor readings, generate patterns, handle collections of data, or create sequences of operations.

## repeat

<div align="left"><figure><img src="https://1776027180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsSE1iwGRAGqUrb5YXfFa%2Fuploads%2Fgit-blob-d86bf40ca318437de36af24ca94cabe3d78a95ce%2Floops_repeat.png?alt=media" alt=""><figcaption></figcaption></figure></div>

Executes the enclosed code a fixed number of times. Use this when you know exactly how many iterations you need.

**Parameters:**

* **Count** (Number): Number of times to repeat

**Example:**

<div align="left"><figure><img src="https://1776027180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsSE1iwGRAGqUrb5YXfFa%2Fuploads%2Fgit-blob-393985bdfc337460b7114b2a3e82be06ede99a57%2Floops_repeat_example.png?alt=media" alt=""><figcaption><p>Average sensor reading</p></figcaption></figure></div>

## repeat while

<div align="left"><figure><img src="https://1776027180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsSE1iwGRAGqUrb5YXfFa%2Fuploads%2Fgit-blob-77aa92c239163d67e4a66d2273441b219f8f2c07%2Floops_repeat_while.png?alt=media" alt=""><figcaption></figcaption></figure></div>

Repeats code as long as the condition remains true. The condition is checked before each iteration.

**Parameters:**

* **Condition** (Boolean): The condition to evaluate before each iteration

**Example:**

<div align="left"><figure><img src="https://1776027180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsSE1iwGRAGqUrb5YXfFa%2Fuploads%2Fgit-blob-5fd3e4610c8f8bc9cef3be6a188907c226849480%2Floops_repeat_while_example.png?alt=media" alt=""><figcaption><p>Process values while above threshold</p></figcaption></figure></div>

## repeat until

<div align="left"><figure><img src="https://1776027180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsSE1iwGRAGqUrb5YXfFa%2Fuploads%2Fgit-blob-60cdc60e3ab49260465cdf590ad48cc3c16acfd1%2Floops_repeat_until.png?alt=media" alt=""><figcaption></figcaption></figure></div>

Repeats code until the condition becomes true. The condition is checked after each iteration, so the loop always executes at least once.

**Parameters:**

* **Condition** (Boolean): The condition to evaluate after each iteration

**Example:**

<div align="left"><figure><img src="https://1776027180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsSE1iwGRAGqUrb5YXfFa%2Fuploads%2Fgit-blob-1dde783384bcdc78680bed1865f6406030e7568d%2Floops_repeat_until_example.png?alt=media" alt=""><figcaption><p>Read until valid value received</p></figcaption></figure></div>

## iterator

<div align="left"><figure><img src="https://1776027180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsSE1iwGRAGqUrb5YXfFa%2Fuploads%2Fgit-blob-5195f80d8e660250ba3d8c4b0745adc79861988b%2Floops_iterator.png?alt=media" alt=""><figcaption></figcaption></figure></div>

Returns the current iteration counter for the loop, starting from 0. Use this to create indexed operations or patterns.

**Returns:**

* **Number**: The current loop iteration (0, 1, 2, ...)

**Example:**

<div align="left"><figure><img src="https://1776027180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsSE1iwGRAGqUrb5YXfFa%2Fuploads%2Fgit-blob-e88d3cac06952fc3ea101d3308d202f8da7443e5%2Floops_iterator_example.png?alt=media" alt=""><figcaption><p>Alternate on/off pattern for multiple LEDs</p></figcaption></figure></div>

{% hint style="warning" %}
This block only works inside a loop block. Using it elsewhere will cause an error.

<img src="https://1776027180-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsSE1iwGRAGqUrb5YXfFa%2Fuploads%2Fgit-blob-6e3ab081504e5d587cbf65c32056140e0c1776f3%2Floops_iterator_outside.png?alt=media" alt="" data-size="original">
{% endhint %}
