Robotics Parts Adapters

These adapters are meant for parts commonly used in robotics. They are created for the Opensource Robot Design, but can be used with any robots. They allow you to easily…

  • Adjust height (eg. color sensor height)
  • Connect to Lego Technic parts*

* If you are not using Lego parts, you can just attach the adapter on to your robot base with machine or wood screws through the Lego size holes.

The below links will open the design in JSCAD, where you can configure them and export them to a file (eg. STL) for 3D printing.

Note that due to differences in 3D printers, you may need configure the dimensions to make it fit well (On my Monoprice Mini, setting the Lego dimensions to 5mm, 6.4mm, 0.9mm works best).

Test model

Some of the dimensions will need to be adjusted to suit your 3D printer. Rather than spending an hour printing a large adapter only to find that the dimension aren’t right, you can print these small test pieces to check if it fits.

Open in JSCAD (Lego Hole)

Open in JSCAD (Lego Axle)

Open in JSCAD (M3 Hole)

Open in JSCAD (Shaft)

GY-33 (Color Sensor)

Open in JSCAD

VL53L0X / VL53L1X (Time-of-Flight distance sensor)

Some sensors are smaller (17mm between mounting holes). Be sure to configure the model correctly.

Open in JSCAD

GY-521 (MPU-6050 accelerometer and gyro) and MPU-9250

Open in JSCAD

I2C Expansion Board

Open in JSCAD

TCA9548A (I2C Multiplexer)

Open in JSCAD

HW-127 (HMC5883L Magnetic Compass)

Open in JSCAD

TCS-3472 (Color Sensor)

When configuring, make sure the height is sufficient for the pins, or offset the mount to one side.

A shroud is also available. This can be fitted over the color sensor to shield it from ambient light interference, and to make the detection area smaller.

Open in JSCAD (Adapter)

Open in JSCAD (Shroud)

PCA-9685 (Servo Driver)

Open in JSCAD


Many other board (eg. ESP-32 adapter) uses the same dimensions, and are compatible with this.

Open in JSCAD

HC-SR04 (Ultrasonic distance sensor)

There are many varients of this, so you might need to adjust the dimensions to fit yours. Also note that the securing screws are NOT meant to go through the holes on the sensor board, they go around it and use one side of the screw head to hold the board in place. The pins of the sensor should be at the top when mounted.

Open in JSCAD

Servo Horn (MG995 / MG996 / DS3120)

These can be attached to the plastic or metal servo horns, allowing them to be connected to Lego parts.

Open in JSCAD

Sharp Distance Sensors

These comes in different sizes. The 150cm and 80cm models will fit. The other models may require you to change the “Distance between sensor mounting holes” settings.

Open in JSCAD

Shaft to Lego Axle

When coupling a non-Lego motor to a Lego part, you should ideally use a metal coupling. If that’s not possible, you can use the adapter here, but be warned that a 3D printer plastic adapter can’t take much load.

Open in JSCAD


You’ll need to print both the camera adapter and the camera base.

Base (Vertical)

Base (Horizontal)

Adapter (ESP32-Cam)

Adapter (H7, H7 Plus, RT1062)


It’s recommended to use a wood or acrylic board, but if you must 3D print one, you can use this model. The board can be printed with Lego holes or M3 holes.

A 2D model is also provided for laser cutting. Only M3 holes are supported.

3D Model (3D Printing)

2D Model (Laser cutting)

SSD-1306 (OLED Screen)

The default height is meant to cater space for the pins which are normally pointed downwards. If you resolder the pins to face upwards or sideways, you can use a much lower height.

Open in JSCAD