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: Controlling a Servo-Motor

CodeCell Servo Control

CodeCell can drive low-power servo motors directly and uses its onboard motion sensor to bring interactive projects to life. 

How It Works

A servo motor is a rotary actuator that holds a specific angle based on an input signal (0°–180°). During setup, take note of the following points:

  • Power via USB-C (up to 500 mA) or LiPo battery (up to 1500 mA) for higher-torque servos.
  • Use the ESP32Servo library (available from Arduino Library Manager).
  • Connect the servo’s signal pin to a GPIO, and use CodeCell’s GND and VO pins for power.

Example – Control Servo with Pitch Angle

This example reads the Pitch angle from CodeCell and moves the servo accordingly. The servo follows your tilt, which can be used for testing motion-based control or creating simple balancing mechanisms.


#include <CodeCell.h>
#include <ESP32Servo.h>

CodeCell myCodeCell;
Servo myservo;

float Roll = 0.0;
float Pitch = 0.0;
float Yaw = 0.0;
int servo_angle = 0;

void setup() {
  Serial.begin(115200);
  myCodeCell.Init(MOTION_ROTATION); // Enable rotation sensing
  myservo.attach(1);                // Connect servo to pin 1
}

void loop() {
  if (myCodeCell.Run(10)) {         // Run at 10 Hz
    myCodeCell.Motion_RotationRead(Roll, Pitch, Yaw);

    // Map Pitch angle to servo position
    servo_angle = abs((int)Pitch);
    servo_angle = 180 - servo_angle;

    // Limit movement range (0–60°)
    if (servo_angle > 60) servo_angle = 60;
    else if (servo_angle < 0) servo_angle = 0;

    Serial.println(servo_angle);
    myservo.write(servo_angle);     // Move servo to mapped angle
  }
}

Customization Tips

  • Adjust Range: Modify servo_angle limits to match your servo’s mechanical range.
  • Combine Sensors: Mix rotation control with proximity or light sensing for adaptive behavior.
  • Use for Stabilization: Apply feedback logic for gimbals, camera mounts, or balancing platforms.
  • 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