# How to set an output pin with a variable

**URL:** <https://forum.makecode.com/t/how-to-set-an-output-pin-with-a-variable/12977>\
**Category:** micro:bit\
**Created:** [April 5, 2022, 5:46pm UTC](https://forum.makecode.com/t/how-to-set-an-output-pin-with-a-variable/12977 "2022-04-05T17:46:31Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![RobG](https://avatars.discourse-cdn.com/v4/letter/r/a698b9/32.png) [@RobG](https://forum.makecode.com/u/RobG)\
**Post date:** [April 5, 2022, 5:46pm UTC](https://forum.makecode.com/t/how-to-set-an-output-pin-with-a-variable/12977/1 "2022-04-05T17:46:31Z")

</div>

I’m trying to set an output pin based on a variable from an array. So in the following function I’d like to use the variable pinNumber which comes from a list instead of DigitalPin.P1  
Is there a way to set an output pin using a variable?

```auto
function flashyVar () {
    for (let index = 0; index < Seconds; index++) {
        basic.showNumber(DisplaySeconds)
        pins.digitalWritePin(DigitalPin.P1, 1)
        basic.pause(500)
        DisplaySeconds += -1
        basic.pause(500)
    }
    pins.digitalWritePin(DigitalPin.P0, 0)
    DisplaySeconds = Seconds
    basic.showNumber(DisplaySeconds)
}

```

---

<div class="post-metadata">

**Author:** ![bsiever](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bsiever/32/1032_2.png) [@bsiever](https://forum.makecode.com/u/bsiever)\
**Post date:** [April 6, 2022, 2:38pm UTC](https://forum.makecode.com/t/how-to-set-an-output-pin-with-a-variable/12977/2 "2022-04-06T14:38:34Z")

</div>

You can use an array of pins. Something like:

```auto
const outputs = [DigitalPin.P1, DigitalPin.P2, DigitalPin.P3];

```

Then you can pick a specific pin by index (`outputs[i]`) for `digitalWritePin()`.
