# Compass

## {Introduction }

This tutorial shows you how to create a program that displays which direction the micro:bit is pointing. Let’s get started!

## {Step 1}

First, store the `||input:compass heading||` of the micro:bit in a variable called `||variables:degrees||` in the `||basic:forever||` loop.

``````basic.forever(function() {
})``````

## {Step 2}

`||logic:If||` `||variables:degrees||` is `||logic:less than||` `45`, then the compass heading is mostly pointing toward North. `||basic:Show||` `N` on the micro:bit.

``````basic.forever(function() {
if (degrees < 45) {
basic.showString("N")
}
})``````

## {Step 3}

`||logic:If||` `||variables:degrees||` is less than `135`, the micro:bit is mostly pointing East. `||basic:Show||` `E` on the micro:bit.

``````basic.forever(function() {
if (degrees < 45) {
basic.showString("N")
}
else if (degrees < 135) {
basic.showString("E")
}
})``````

## {Step 4}

Go to the simulator and rotate the micro:bit logo to simulate changes in the compass heading.

## {Step 5}

`||logic:If||` `||variables:degrees||` is less than `225`, the micro:bit is mostly pointing South. `||basic:Show||` `S` on the micro:bit.

``````basic.forever(function() {
if (degrees < 45) {
basic.showString("N")
}
else if (degrees < 135) {
basic.showString("E")
}
else if (degrees < 225) {
basic.showString("S")
}
})``````

## {Step 6}

`||logic:If||` `||variables:degrees||` is less than `315`, the micro:bit is mostly pointing West. `||basic:Show||` `W` on the micro:bit.

``````basic.forever(function() {
if (degrees < 45) {
basic.showString("N");
}
else if (degrees < 135) {
basic.showString("E")
} else if (degrees < 225) {
basic.showString("S")
} else if (degrees < 315) {
basic.showString("W")
}
})``````

## {Step 7}

`||logic:If||` none of these conditions returned true, then the micro:bit must be pointing North again. Display `N` on the micro:bit.

``````basic.forever(function() {
if (degrees < 45) {
basic.showString("N");
}
else if (degrees < 135) {
basic.showString("E");
}
else if (degrees < 225) {
basic.showString("S");
}
else if (degrees < 315) {
basic.showString("W")
}
else {
basic.showString("N")
}
})``````

## {Step 9 }

If you have a micro:bit, click `|Download|` and follow the screen instructions. You will have to follow the screen instructions to calibrate your compass.