Menu
Microbots
0
  • Learn
    • Getting Started
    • Maker Builds
    • Education
  • Shop
    • ProtoBot
    • 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
    • Modules & Parts
    • Tools & Gears
    • Coming Soon
  • 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

73 reviews
Write a review
85%
(62)
5%
(4)
3%
(2)
3%
(2)
4%
(3)
67
21
G
ProtoBot
Gennadii

Got a Pro version, it's very easy to put together, and it works great.
Would be great to have brushless motors and more GPIO access through the plastic shell in ProtoBot v2

A
ProtoBot
Armand

It is a compact, very well designed RC-like robotic car with endless possibilities for those with active imaginations. Inspirational and creative in a small form factor. Innovate and enjoy!

User picture
J
ProtoBot
Javier

I Recieved yesterday my ProtoBot and the quality and details are awesome!

User picture
C
CodeCell C3
Cloke74

Great piece of kit, had just what i needed to complete the project i had in mind. Shame shipping to the UK is so expensive, but appreciate this isn’t necessarily in the hands of MicroBots

A
CodeCell C6
Anonymous

I had an issue, got a red light, I used too much flux. Support said clean it, then the one sensor worked fine. I got the help and answer same day I provided a foto.

123