Menu
Microbots
0
  • Learn
    • Getting Started
    • Maker Builds
    • Education
  • Shop
    • Modules & Parts
    • Tools & Gears
    • Robots & Displays
  • About
    • Our Story
    • Reach Out
    • FAQs
  • Sign in
  • English
  • Your Cart is Empty
Microbots
  • Learn
    • Getting Started
    • Maker Builds
    • Education
  • Shop
    • Modules & Parts
    • Tools & Gears
    • Robots & Displays
  • 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

41 reviews
Write a review
80%
(33)
5%
(2)
2%
(1)
5%
(2)
7%
(3)
21
37
A
CodeCell C6
Anonymous

Love it

L
CoilCell
Laszlo Hasenau

Nice to have the drivers integrated, sufficient for very small units, where low force needed.

User picture
L
CodeCell C6 Drive
Leon

Love this thing! The coding for controlling the integrated drivers is extremely intuitive, the chip is fast as always and all the other sensors work like a charm. If there were 6 stars id give all of em but theres only 5 XD

A
CodeCell C6 Drive
Anonymous

Pequeno e esperto. TEM projetos com câmera 📷🎥?
DVR PARA MOTO 🛵?

A
CodeCell C3
Anonymous

Busy developing something that has been a very popular topic in the maker space. Once complete I will share it all with you including the coding.I am really impressed with the punch this little C3 packs. Really a great piece of engineering. Keep up the brilliant work and thank you for making this little giant!!!!!!

123