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

67 reviews
Write a review
85%
(57)
6%
(4)
1%
(1)
3%
(2)
4%
(3)
62
21
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.

A
CodeCell C6 Drive
Anonymous

I think this is the best of the ESP offered, most versatile.

User picture
P
CodeCell C6
Prudhvi tej Chinimilli

Been testing the Microbots CodeCell C6 and honestly impressed with how much functionality they packed into such a tiny module. Great form factor for rapid prototyping wearable/embedded sensing applications. ESP32-C6 + IMU integration makes development much easier compared to building everything from scratch.

Still exploring battery optimization and compact LiPo options for our use case, but overall the platform is promising for low-cost real-time sensing systems. Excited to keep building with it.

F
CodeCell C6
Francisco Estivallet

Amazing hardware, my go to for compact projects.

User picture
123