Try This: Get Familiar Z-Axis Angle Measurements
The previous page Did You Know? This Way Up explained how to use arccos to calculate the angle between the micro:bit’s z sensing axis and gravity.
When the LED display is facing straight down, so is the z sensing axis. So the angle between z and gravity is zero.
As the angle between the z-axis and gravity increases, so does the measurement. When the LED display (and z-axis) is facing straight up, it’s angle is 180°. Again, rotating past 180°, the angle decreases, like the last example where it’s back down to 135° again.

Example script: z_axis_degree_of_tilt_try_this
- Enter, name, and save z_axis_degree_of_tilt_try_this.
- Click the Send to micro:bit button.
# z_axis_degree_of_tilt_try_this
from microbit import *
import math
sleep(1000)
while True:
z = accelerometer.get_z()
if z > 1024:
z = 1024
elif z < -1024:
z = -1024
z_angle = round( math.degrees( math.acos( z/1024) ) )
print("z =", z, ", z_angle =", z_angle)
print()
sleep(750)
- Check the results in the serial monitor, and experiment with various levels of tilt and rotation.

- Fill in the table with your measured z_angle values.
| z | z_angle | Direction LEDs are facing |
|---|---|---|
| 1024 | 0 | Straight down |
| 728 | 45 | Half way between straight down and sideways |
| Sideways | ||
| -728 | 135 | Half way between sideways and straight up |
| -1024 | 180 | Straight up |
| Half way past straight up on way to sideways | ||
| Tilted toward you by 45° | ||
| Tilted away from you by 45° | ||
| GND corner tilted down by 45° | ||
| 0 corner tilted down by 45° |