Catch Unit



Catch is a gripper that uses a SG92R servo as a power source. The servo uses a PWM signal to drive the gripper gear to rotate and control the gripper for clamping and releasing operations. The structure adopts a design compatible with Lego 8mm round holes. You can combine it with other Lego components to build creative control structures, such as robotic arms, gripper carts, etc.

Because the opening and closing angle of the gripper is 90°, please control the rotation angle of the driving servo to 0-45° (PWM: freq: 50Hz, 0°-45°(pulse:0.5ms-1ms) to prevent blocking rotation. The steering gear burned out.

Product Features

  • SG92R steering gear
  • PWM signal drive
  • Lego hole compatible
  • The jaw opening and closing angle is 90°
  • Compatible with RoverC
  • Support input voltage: 4.2-6V
  • Development platform UIFlow , MicroPython , Arduino


  • 1x Catch Unit(Built-in Servo-SG92R)
  • 1x HY2.0-4 adapter
  • 1x RoverC.Pro Connector


  • Robot gripper
  • Steering gear manipulator gripper


Master control resources Parameter
Servo model SG92R
Drive signal PWM: freq: 50Hz, 0°-45°(pulse:0.5ms-1ms)
Working frequency 50Hz
Clamping jaw opening and closing angle 90°
Input voltage range 4.2-6V
Work dead zone 10us
Output torque 2.5kg/cm at 4.8V
Output speed 0.1sec/60° at 4.8V
Working temperature 0°C to 55°C
Net weight 21.5g
Gross weight 50g
Product size (gripper extension) 72 x 56 x 37 mm
Package size 147 x 90 x 40 mm
Shell material Plastic (PC )

Pin mapping

When the Catch Unit is connected to PortB, the pin mapping is as follows

Catch Unit SIGNAL 5V GND


This case controls the Catch Unit clamping jaws to perform clamping and releasing cycles.

//Description: Control Catch Unit through PWM.

#include <M5Stack.h>

const int servoPin = 26;
int freq = 50;
int ledChannel = 0;
int resolution = 10;
void setup() {
  // put your setup code here, to run once:
  M5.Lcd.setCursor(100, 50, 4);
  M5.Lcd.println("Catch Unit");
  M5.Lcd.setCursor(40, 120, 4);
  ledcSetup(ledChannel, freq, resolution);
  ledcAttachPin(servoPin, ledChannel);

void loop() {
  // High level 0.5ms is angle 0°
  // duty = 0.5/20ms = 0.025, 0.025*1023≈25
    ledcWrite(ledChannel, 25);
  // High level 1ms is angle 45°
  // duty = 1/20ms = 0.05, 0.05*1023≈50
    ledcWrite(ledChannel, 50);