Introduction: Morph3DBot: Modular, 3D-printable Educational Robot for Building, Programming, and Learning With an Open-source System.

The Morph3DBot is a modular, 3D-printable open-source robot specifically designed for use in educational and maker projects. Its goal is to provide young people, learners, and curious hobbyists with easy access to the world of robotics and digital fabrication—without the need for expensive special components or complex entry barriers.

What makes it special: All mechanical parts can be manufactured using a standard 3D printer. Thanks to its open design, the robot can be flexibly adapted to various requirements—whether for school lessons, robotics clubs, workshops, or private tinkering projects.

You are completely free to choose your microcontroller (e.g., Arduino, Raspberry Pi Pico, ESP32) as well as add-on components like sensors, mounts, or custom attachments. The version presented here is an example configuration using parts I personally used in a STEM workshop. These can be replaced or expanded as desired.

The design is made so that assembly is easy even for beginners. The instructions on this page guide you step-by-step through building the kit and link directly to the print files and complete CAD files in Fusion 360. This allows you to always access the latest version and make your own modifications.

The development of the components and all associated materials in this project are released under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0). You are allowed to replicate, further develop, and use the parts for educational or personal purposes, provided that the source is credited, the use is non-commercial, and any adaptations are shared under the same license.

Supplies

To assemble and pack a standard set, you will need the following parts and components. The 3D-printed parts form the basic framework of the robot, supplemented by readily available electronics and essential tools for assembly. The following overview will help you gather all the necessary elements.


3D Printed Parts:

  1. 3 x Cube_1x1_Gray_v4
  2. 2 x LBracket_10x7_Gray_v4
  3. 1 x Mount_9VBattery_Yellow_v4
  4. 1 x Mount_Ball_Gray_v4
  5. 2 x Mount_Breadboard_Yellow_v4
  6. 1 x Mount_ColorSensor_Blue_v4
  7. 1 x Mount_HBridge_Red_v4
  8. 1 x Mount_LEDRing_Red_v4
  9. 2 x Mount_Breakoutboard_v4 (Blue)
  10. 1 x Mount_Breakoutboard_v4 (Red)
  11. 1 x Mount_OLED_Blue_v4
  12. 1 x Mount_TwoGearMotors_Red_v4
  13. 1 x Mount_TwoSensors_Blue_v4
  14. 1 x Mount_UltrasonicSensor_Blue_v4
  15. 1 x MountOneSensor_XYZSensor_Blue_v4

Electronics:

  1. 1 x 9V Block Battery
  2. 1 x 9V Battery Clip
  3. 1 x Arduino Nano
  4. 1 x Table Tennis Ball
  5. 1 x Mini Breadboard with 170 slots
  6. 1 x Micro Breadboard with 25 slots
  7. 1 x Colorsensor GY-33 TCS34725
  8. 1 x HBridge L298N
  9. 1 x LEDRing 12Pixel
  10. 1 x LED Breakoutboard
  11. 1 x Motion Sensor GY-PAJ7620U2
  12. 1 x OLED - 0.96", 128x64, GVSS, I2C
  13. 1 x 5V Traffic Light
  14. 2 x Gearmotor
  15. 2 x Photoresistor Breakoutboard
  16. 2 x Infrared Distance Sensor
  17. 1 x Ultrasonic Sensor
  18. 1 x Magnetometer GY-271 QMC5883
  19. 20 x Breadboard cable male/female (20 cm)
  20. 20 x Breadboard cable male/male (20 cm)

Tools:

  1. Allen Key ( M2.5 M3)
  2. Filament Pliers
  3. Small Cross Screwdriver

Other:

  1. 2 x Wheels
  2. 4 x M2 x 4 mm Screw
  3. 6 x M2 x 12 mm Screw
  4. 6 x M2 Nut
  5. 4 x M3 x 8 mm Screw
  6. 2 x M3 x 10 mm Screw
  7. 2 x M3 x 12 mm Screw
  8. 4 x M3 x 25 mm Screw
  9. 6 x M3 Nut
  10. 40 x Lego Technic Pin 6279875 - 2780
  11. 1 x Lego Technic Pin 655826 - 6558
  12. 1 x 9 litre XL Really Useful Box (7" small)
  13. 1 x Hobby Trays 15 compartments
  14. 1 x 7-compartment divider for 9-liter box
  15. 1 x In/Out Tray

Step 1: 3D Printing the Parts

In order for the Morph3DBot to be stable, functional, and clearly structured, not only the model but also the type of printing is crucial. In this section, you will find recommendations on color selection, print orientation, and the use of support structures.

Color selection – for functional orientation

The components of the Morph3DBot are designed so that they can be visually distinguished by their function. You can simplify the assembly process considerably by choosing colors carefully. We recommend the following color scheme:

  1. Red: All parts related to movement or actuators – e.g. wheel mounts, motor mounts, drive components, LED mounts
  2. Yellow: All components that contain or carry electricity or electronics – e.g. battery mounts, microcontrollers mounts, breadboards mounts
  3. Blue: All parts that hold sensors or interact with them – e.g. distance sensor mounts, color sensor mounts
  4. Gray (or neutral): All other structural or connecting parts – e.g., cubes, spacers,

This color selection is optional, of course, but it is particularly helpful in education for classifying components and facilitates understanding during assembly.


Print alignment

The alignment of the components during printing has a major impact on their stability, accuracy of fit, and load-bearing capacity. To ensure that your Morph3DBot can be assembled stably and requires as little post-processing as possible, please note the following information:

Special alignment for certain components:

  1. Mount_9VBattery_Yellow_v4 and Mount_TwoGearMotors_Red_v4 should be printed so that they are perpendicular (90°) to the planned base plate—i.e., upright on the narrow side. This ensures maximum stability of the mounting structure and optimal fit of the clamp connections.

All other components should be printed so that their largest contact surface is on the print bed.


Support:

Most components have been designed so that they can be printed with little or no support. You should only activate support structures for the holes for the Technic pins. However, there are some exceptions where support structures are useful or necessary. You should print Mount_9VBattery_Yellow_v4 and Mount_TwoGearMotors_Red_v4 with more support. The organic support structure is particularly suitable for this purpose, as it is easier to remove.

Print Settings:

I printed my components using both a Prusa Mini and a Bambu Lab X1C. Here are the settings I used for most parts:

  1. Layer height: 0.2 mm
  2. Infill: 15%, Grid or Gyroid
  3. Perimeters:Standard profiles of the respective printer
  4. Top/Bottom Layers: Standard profiles of the respective printer
  5. Material: PLA
  6. Supports: Only where needed, primarily at Technic pin holes
  7. Print Speed: Standard profiles of the respective printer

Step 2: Remove Support

After printing, you can carefully remove the support structures by hand or with small pliers. Be careful not to damage any surrounding components. Any residue can be easily cleaned with a cutter or sandpaper to ensure a clean fit.

Step 3: Assembly of Mechanics and Electronics

Once all the 3D parts have been printed and prepared, you can start assembling the individual components. First, attach the electronic components to the appropriate 3D-printed parts—using screws, pins, or glue, depending on the design.


Mount_Breakoutboard_v4 (Blue)


LBracket_10x7_Gray_v4

Step 4: Cube


For this component, you will need two cube halves and four Technic pins. Insert the pins into the holes provided at the four ends of one of the two halves. Then connect both halves by placing the second cube onto the protruding pins.

Parts:

  1. 2 x Cube_1x1_Gray_v4
  2. 4 x Technic Pins


Cube_1x1_Gray_v4

Step 5: 9VBattery Mount

Insert a Technic pin into the lower hole. Then insert the battery into the designated holder. Do not attach the battery clip at this point, as this could cause a short circuit.

Parts:

  1. 1 x Mount_9VBattery_Yellow_v4
  2. 4 x Technic Pins
  3. 1 x 9V Block Battery
  4. 1 x 9V Battery Clip


Mount_9VBattery_Yellow_v4

Step 6: Arduino Nano Mount

Place the Arduino Nano as centrally as possible on the breadboard so that there are enough pins available on both sides. Then glue the mini breadboard onto the designated mount.

Parts:

  1. 1 x Mount_Breadboard_Yellow_v4:
  2. 1 x Arduino Nano
  3. 1 x Mini Breadboard with 170 slots


Mount_Breadboard_Yellow_v4

Step 7: Ball Mount

The table tennis ball is placed in the holder with light pressure.

Parts:

  1. 1 x Mount_Ball_Gray_v4
  2. 1 x Table Tennis Ball


Mount_Ball_Gray_v4

Step 8: Button


The Button Breakoutboard is attached to the red 3D Printet holder with two screws and the nut.

Parts:

  1. 1 x Mount_Breakoutboard_v4 (Blue)
  2. 1 x Button Breakoutboard
  3. 2 x M2 x 12 mm Screw
  4. 2 x M2 Nut


Mount_Breakoutboard_v4

Step 9: Color Sensor

The color sensor is inserted into the designated 3D-printed holder.

Parts:

  1. 1 x Mount_ColorSensor_Blue_v4
  2. 1 x Color Sensor


Mount_Colorsensor_Blue_v4

Step 10: H-Bridge

The H-bridge is inserted into the designated 3D-printed bracket and then secured with four screws.

Parts:

  1. 1 x Mount_HBridge_Red_v4
  2. 1 x H-Bridge
  3. 4 x M3 x 8mm Screw


Mount_HBridge_Red_v4

Step 11: Infrared Distance Sensor

The two sensors are screwed onto the left and right sides of the 3D-printed holder.

Parts:

  1. 1 x Mount_TwoSensors_Blue_v4
  2. 2 x Infrared Distance Sensor
  3. 2 x M2 x 4 mm Screw

Mount_TwoSensors_Blue_v4

Step 12: LED

The LED Breakoutboard is attached to the red 3D Printet holder with two screws and the nut.

Parts:

  1. 1 x Mount_Breakoutboard_v4 (Red):
  2. 1 x LED Breakoutboard
  3. 2 x M3 x 12 mm Screw
  4. 2 x M3 Nut


Mount_Breakoutboard_v4

Step 13: LED Ring


The LED ring is placed on the designated 3D-printed holder.

Parts:

  1. 1 x Mount_LEDRing_Red_v4
  2. 1 x LED Ring

Mount_LEDRing_Red_v4

Step 14: Light Sensor

The two sensors are screwed onto the left and right sides of the 3D-printed holder.

Parts:

  1. 1 x Mount_TwoSensors_Blue_v4
  2. 2 x Photoresistor Breakoutboard
  3. 2 x M2 x 4 mm Screw

Mount_TwoSensors_Blue_v4

Step 15: Magnetometer


The MountOneSensor_XYZSensor_Blue_v4sensor is attached to the Mount_Breakoutboard_v4 with two screws. The sensor is then plugged in.

Parts:

  1. 1 x Mount_Breakoutboard_v4 (Blue):
  2. 1 x MountOneSensor_XYZSensor_Blue_v4:
  3. 1 x Magnetometer

Mount_Breakoutboard_v4

Step 16: Motion Sensor

The motion sensor is attached to the 3D-printed bracket with two screws.

Parts:

  1. 1 x Mount_Breakoutboard_v4 (Blue):


Mount_Breakoutboard_v4

Step 17: Motors

The motors are attached to the bracket on the right and left with two screws each. The nuts are inserted from the inside to secure the screws.

Parts:

  1. 1 x Mount_TwoGearMotors_Red_v4:
  2. 4 x M3 x mm Screw
  3. 4 x M3 Nut
  4. 2 x GearMotor
  5. 2 x Weel

Mount_TwoGearMotors_Red_v4

Step 18: OLED

The OLED display is attached to the bracket with four screws.

Parts:

  1. 1 x Mount_OLED_Blue_v4
  2. 4 x M2 x 12 mm Screw
  3. 4 x M2 Nut

Mount_ OLED _Blue_v4

Step 19: Traffic Light

The micro breadboard is attached to the 3D-printed holder. Then you can plug the traffic light into the breadboard.

Parts:

  1. 1 x Mount_Breadboard_Yellow_v4
  2. 1 x Micro Breadboard with 25 slots
  3. 1 x Traffic Light


Mount_Breadboard_Yellow_v4

Step 20: Ultrasonic Sensor

Insert the ultrasonic sensor into the designated holder.

Parts:

  1. 1 x Mount_UltrasonicSensor_Blue_v4
  2. 1 x Ultrasonic Sensor

Mount_UltrasonicSensor_Blue_v4

Step 21: Set Packing

Now the components can be sorted into the set. See also the photos.

Level 1 (7-compartment divider):

  1. 9V Battery
  2. 9V Battery Mount
  3. Arduino Nano
  4. Button
  5. Color Sensor
  6. H-Bridge
  7. Infrared Distance Sensor
  8. LED
  9. LED Ring
  10. Light Sensor
  11. Magnetometer
  12. Motion Sensor
  13. OLED
  14. Traffic Light
  15. Ultrasonic Sensor


Level 2 (Hobby Trays, 15 compartments):

  1. 6 x Cubes
  2. 2 x LBracket_10x7_Gray_v4
  3. Ball Mount
  4. Motors
  5. Weels

Step 22: Ready to Start Your Robotics Project

Now you have all the parts you need and can get started: Build your own robot, customize it to your liking, and teach it the desired behavior through programming. Have fun tinkering, constructing, and experimenting!

Step 23: Standard Adapter As a Basis for Your Own Extensions

Of course, you can also develop your own attachments. Here you will find the template for the standard adapter, which can be attached to both the inside and outside of the robot.

Mount_v4