---
title: "a* · RUAL Documentation"
description: "Finds a path within a given grid."
canonical: https://docs.rual.nl/block-types/a%2A%20path%20finding/function_calculate_path_astar
language: en
---

[Cluster](https://docs.rual.nl/cluster)

[Blocks](https://docs.rual.nl/block-types)

[Interfaces](https://docs.rual.nl/interfaces)

[Blueprints](https://docs.rual.nl/blueprints)

[Tutorials](https://docs.rual.nl/tutorials)

[Home automation](https://docs.rual.nl/home-automation)

[Examples](https://docs.rual.nl/examples)

[Reference](https://docs.rual.nl/reference)

[Architecture](https://docs.rual.nl/architecture)

[Troubleshooting](https://docs.rual.nl/troubleshooting)

Other

# a*

This block is part of the [`a* path finding`](https://docs.rual.nl/block-types/a%2A%20path%20finding) group and was last modified in core [`v10.4.28`](https://docs.rual.nl/core-versions/100428).

Finds a path within a given grid.

- flow `flow`

- start at required `array` Array [x (Number), y (Number)]

- stop at required `array` Array [x (Number), y (Number)]

- grid width required `number`

- grid height required `number`

- tiles required `array` Array Matrix or Array of States

- allow diagonal `condition` Default: false

- cross corners `condition` Default: false

- flow `flow`

- path Matrix `array`

- path Readable `array`

- cost `number`

A typical wiring for [a*](https://docs.rual.nl/block-types/a*%2520path%2520finding/function_calculate_path_astar): a [function trigger](https://docs.rual.nl/block-types/globals/trigger_custom_function) starts the flow; [with values](https://docs.rual.nl/block-types/array/array_of_values) feeds the `start` pin; [with values](https://docs.rual.nl/block-types/array/array_of_values) feeds the `end` pin; [number](https://docs.rual.nl/block-types/number/number_default) feeds the `width` pin; [number](https://docs.rual.nl/block-types/number/number_default) feeds the `height` pin; [with values](https://docs.rual.nl/block-types/array/array_of_values) feeds the `tiles` pin; the `flow` out pin feeds [debug](https://docs.rual.nl/block-types/state%2520ui/state_debug).

[![Studio canvas example for the a* block: typical wiring for a*.](https://docs.rual.nl/canvas-examples/function_calculate_path_astar.png)](https://docs.rual.nl/canvas-examples/function_calculate_path_astar.png?v=3)

## Version history

Introduced in [`v10.4.28`](https://docs.rual.nl/core-versions/100428).

- [Back to `a* path finding`](https://docs.rual.nl/block-types/a%2A%20path%20finding): Return to the main group to view all sub-groups

- [Back to `pathfinding`](https://docs.rual.nl/block-types/a%2A%20path%20finding?group=pathfinding): Return to the group to view all blocks within this group

Was this page helpful? [Tell us what to improve](https://docs.rual.nl/support) · RUAL Docs is an integral component of the [RUAL ecosystem](https://rual.nl)
