Menu
Microbots
0
  • Learn
    • Getting Started
    • Maker Builds
    • Education
  • Shop
    • ProtoBot
    • Wavelit Display
    • Modules & Parts
    • Tools & Gears
    • Coming Soon
  • About
    • Our Story
    • Reach Out
    • FAQs
  • Sign in
  • English
  • Your Cart is Empty
Microbots
  • Learn
    • Getting Started
    • Maker Builds
    • Education
  • Shop
    • ProtoBot
    • Wavelit Display
    • Modules & Parts
    • Tools & Gears
    • Coming Soon
  • About
    • Our Story
    • Reach Out
    • FAQs
  • Language

  • 0 0

CodeCell: Reading the Gyroscope

CodeCell Gyroscope

CodeCell includes a built-in BNO085 3-axis gyroscope that measures angular velocity - how fast CodeCell is rotating around each axis. This lets you detect turning, spinning, or orientation changes.

How It Works

The gyroscope measures rotation speed in degrees per second (°/s) along three axes:

  • X-axis → Tilt forward/backward
  • Y-axis → Tilt left/right
  • Z-axis → Twist or spin

You can enable and read gyroscope data using two simple functions:

myCodeCell.Init(MOTION_GYRO);             // Enable gyroscope sensing
myCodeCell.Motion_GyroRead(x, y, z);      // Read angular velocity on all axes

Each reading gives the current rotation speed on the X, Y, and Z axes in °/s.

Example 1 – Read Gyroscope Data

This example prints live angular velocity readings to the Serial Monitor, showing how fast CodeCell is rotating around each axis.


#include <CodeCell.h>

CodeCell myCodeCell;

float x = 0.0, y = 0.0, z = 0.0;

void setup() {
  Serial.begin(115200);
  myCodeCell.Init(MOTION_GYRO);  // Initialize gyroscope
}

void loop() {
  if (myCodeCell.Run(10)) {      // Run at 10 Hz
    myCodeCell.Motion_GyroRead(x, y, z);  // Read gyro data

    Serial.print("Gyro X: "); Serial.print(x);
    Serial.print("  Y: "); Serial.print(y);
    Serial.print("  Z: "); Serial.println(z);
  }
}

What You’ll Notice:

  • When still, values are close to 0.
  • Tilting forward/backward changes X.
  • Tilting left/right changes Y.
  • Rotating like a steering wheel changes Z.

Example 2 – Detect Rotation and Change LED Color

This example changes CodeCell’s onboard LED color based on rotation direction, red when turning left, green when turning right.


#include <CodeCell.h>

CodeCell myCodeCell;

float x = 0.0, y = 0.0, z = 0.0;
const float ROTATION_THRESHOLD = 3.0;  // Rotation speed threshold (°/s)

void setup() {
  Serial.begin(115200);
  myCodeCell.Init(MOTION_GYRO);  // Enable gyroscope
}

void loop() {
  if (myCodeCell.Run(10)) {      // Run at 10 Hz
    myCodeCell.Motion_GyroRead(x, y, z);  // Read angular velocity

    Serial.print("Gyro Z: ");
    Serial.println(z);

    if (z > ROTATION_THRESHOLD) {          // Rotating right
      myCodeCell.LED(0, 255, 0);           // Green LED
    } 
    else if (z < -ROTATION_THRESHOLD) {    // Rotating left
      myCodeCell.LED(255, 0, 0);           // Red LED
    } 
    else {
      myCodeCell.LED(0, 0, 0);             // LED off
    }
  }
}

How It Works:

  • Z > 3 → Rotating right → LED turns green.
  • Z < -3 → Rotating left → LED turns red.

Adjust ROTATION_THRESHOLD to control sensitivity:

  • Higher → Detects only fast rotations.
  • Lower → Detects even small movements.

Customization Tips

  • Try different axes: Visualize pitch (X) or roll (Y) using other LED colors.
  • Detect flicks: Use short bursts of rotation for gesture input.
  • Combine with other sensors: Merge with accelerometer or magnetometer data for full motion tracking.
  • Share:

Follow

Github

  • About
  • Software
  • Education
  • Contact
  • FAQs
  • Terms
  • Refund Policy
  • Privacy Policy

Join our Community ~ Be the first to know about new products and get exciting deals!

© 2026 Microbots.

★ Reviews

Let customers speak for us

83 reviews
Write a review
87%
(72)
5%
(4)
2%
(2)
2%
(2)
4%
(3)
77
21
G
Experiment in Progress Mug
Gerald Kendrick

I am enjoying my Experiment in Progress coffee mug. It fits in well in the lab.

K
12-in-1 Screwdriver (Pen-Size)
Klaas

Very useful fun little screwdriver for the all tiny stuff

f
ProtoBot
frederic marty

I don't have much time right now to test the micro bot, but it looks good.

f
MotorCell
frederic marty

I don't have much time right now to test it but it looks good.

M
ProtoBot
Mehmed Muslija

ProtoBot has met all my expectations.
Watching one of the videos on YouTube, I thought it would be interesting and educational to make a small project for my 8 year old cousin. ProtoBot has provided a wide range of experiences and encouraged my cousin to take on new projects.

User picture
123