Skip to content

Week 12 Mechanical Design & Machine Design

SSTM

alt text

Group Assignment

Please visit our group assignment For the full concept

Group Assignment

Design by Rico Group assignment cover page designed by Rico

Collaborative Machine Design Exploration and Individual Contribution

In this week, we worked as a team consisting of Rico (Instructor), Tamrat (me), and Charles to explore the principles of mechanical and machine design. Our focus was on understanding how different components such as motors, parts and control systems come together to create functional machines.

As a group, we analyzed multiple engineering projects in each of the center we working and discussed how each system works and function from MQTTs. We shared responsibilities by reviewing concepts, explaining ideas to each other, and connecting theoretical knowledge with practical applications to design made and test them in our center by Rico’s leading us as always. This collaborative process helped us understand not only the technical aspects but also the workflow of real engineering teamwork.

We learn from Rico’s about Machines… Design…Assemble and controlling

We work on Hallo-Hallo machine concept to control machines we built from our centers

In skylab Japan

  • I learn how Design print and assembling from Rico’s and the group and waiting for my own one

alt text

  • Some image from Rico for us to group work practice alt text

  • How to assemble our contribution by Rico alt text alt text alt text

  • Hallo-Hallo project implementation controlling machine alt text alt text

in Winnam lab kenya

  • Deign concept mechanism by Charles alt text alt text
  • assembeled machine conveyor by Charles alt text alt text

in Innobiz-K INK Ethiopia

Mechanical part design and print alt text

  • 3D printed parts alt text

  • Design again the gear part in Fusion 360 and assembling alt text alt text alt text

  • assembling alt text

Communicate machines from far and send messages from skylab

alt text alt text

the full procedure is listed in the group page

Other sources shared to learn from them, by My instructor Rico’s and I learn from the following

  1. 2D CNC Plotter – Homework Writing Machine https://www.youtube.com/watch?v=IVgoBncPw4E

In this project, we explored how a machine can transform digital instructions into physical movement. We observed how two stepper motors, arranged along X and Y axes, allow precise control over a pen to draw or write on paper.

Through discussion, we understood that CNC machines rely on coordinate systems and programmed instructions (G-code) to perform tasks accurately. We also learned how motor drivers and firmware act as the bridge between software commands and hardware motion.

This helped us realize that machine design is a combination of mechanical structure, electronics, and software control working together as one system.

  1. Arduino Waving Hand – Sensor-Based Interaction https://youtube.com/shorts/l6BlQSQFm78?si=WMSCVboSlNLca0DL

Arduino Waving Hand

In this activity, we studied how machines interact with their environment. Using an ultrasonic sensor, the system detects the presence of an object and triggers a servo motor to perform a waving motion.

As a group, we discussed how this demonstrates the concept of input → processing → output, where the sensor collects data, the controller processes it, and the actuator responds.

This project helped us understand that adding sensors allows machines to behave intelligently and respond dynamically to real-world conditions.

  1. DIY Braiding Machine – Coordinated Motion System https://www.google.com/search?q=https://youtu.be/yV0ecqW1MSs%3Fsi%3DvRph3kcGf6HZ6Vlu

DIY Braiding Machine Description

This project introduced us to more advanced machine coordination. We observed how multiple motors must operate in a synchronized pattern to achieve a consistent braiding process.

Through group discussion, we learned that timing and precision are critical in complex systems. Stepper motors were used to ensure repeatable and accurate motion, which is essential for maintaining quality output.

We also explored how custom-designed mechanical parts are necessary to guide and control the movement of materials.

  1. Servo Motors – Working Principle, I mainly work on this step with different mechanism https://www.youtube.com/watch?v=1WnGv-DPexc

Servo Motors, how do they work? Description

We studied the internal working mechanism of servo motors and understood how they achieve precise position control. The concept of a closed-loop system was particularly important, where the motor continuously adjusts its position based on feedback.

We also learned about PWM signals and how they determine the position or speed of the motor. This knowledge is essential for designing controlled mechanical systems.

Group Learning Reflection

  • Working together allowed us to break down complex systems into understandable parts. By discussing and explaining concepts among ourselves, we improved both our technical understanding and our teamwork skills.

  • We realized that successful machine design depends not only on technical knowledge but also on effective collaboration, communication, and shared problem-solving.

Individual Assignment

Personal Contribution to Group Work

  • As part of the group assignment, my individual contribution focused on conducting deeper research, understanding the concepts in detail, and applying them practically. I took responsibility for analyzing the working principles of servo motors and different machine systems, and then shared these insights with the group to support our collective understanding.

  • Beyond theoretical learning, I also worked on applying these concepts in a practical context within our incubation center new way of machine is learn as not only the mechanism but functional prototyping of things. This included exploring how to design and fabricate simple machines using available resources such as 3D printing and basic mechanical components.

Through this process, I gained hands-on experience in:

  • Translating concepts into physical designs, understanding the limitations of materials and components and improving designs through testing and iteration. Working both individually and within the team helped me understand the importance of contributing knowledge while also learning from others.

Learning Through Teamwork

  • By participating actively in the group, I learned how engineering projects are developed collaboratively. Each member contributes different ideas and skills, and the final result is achieved through continuous discussion and improvement.

This experience helped me develop:

Better problem-solving skills - The ability to communicate technical ideas clearly - Confidence in applying theoretical knowledge to real projects - Application in Machine Design and Fabrication

  • As part of my contribution, I focused on how these concepts can be implemented in real machine design. I explored designing small mechanical systems and preparing them for fabrication using digital tools.

In my incubation center, i worked on transforming design ideas into physical prototypes by:

  • Creating CAD models
  • Preparing files for 3D printing
  • Testing mechanical movement

This step was important because it connected our learning directly to real-world applications.

Fusion 360 Design Process

  • Creating and Organizing Components

  • We began by creating components to maintain a structured design workflow. This helped us manage complex assemblies efficiently.

alt text

  • and other mechanism as door open and close

What I Learned from the Design Process

Through this process, I learned that good machine design requires careful planning, accurate modeling, and continuous testing. Using Fusion 360 helped me visualize ideas and improve them before physical production.

This week’s assignment helped me understand the full workflow of machine design—from concept and research to modeling and fabrication. By combining group collaboration with individual contribution, we were able to build a strong foundation in both technical knowledge and practical skills.

The experience of working together while also contributing individually prepared me for real-world engineering challenges, where teamwork and personal responsibility are equally important.

NEW Itaration steps to design hello_skylab and messsage when open the door and closs it

  • Hallo changed to Hello skylab and more clean ways as recommended by Instructor Rico as we work on it together.

alt text

  • problem faced uploading videos as link because it comes like the below (the wrong one)
<video controls src="Images/w12_image/C0165.mp4" title="Title"></video>
  • now solved by Instructor and friend’s from Kenya help me

Add the following

…/ infront of the source videos link as below (corrected one)

<video controls src=".../Images/w12_image/C0165.mp4" title="Title"></video>

Go to my file pag

Codes used in IDE

Code Source: AI (chatGPT) with prompt : “give code to run MQTT with servo motor Using ESP32 DEv Kit”

#include <WiFi.h>
#include <PubSubClient.h>
#include <ESP32Servo.h>

// WiFi
const char* ssid = "SSID";
const char* password = "********";

// MQTT
const char* mqtt_server = "broker.hivemq.com";
const int mqtt_port = 1883;
const char* topic = "esp32/servo/control";

// Objects
WiFiClient espClient;
PubSubClient client(espClient);
Servo myServo;

int servoPin = 25;

//Control flag
bool runServo = false;

// MQTT callback
void callback(char* topic, byte* payload, unsigned int length) {
  String message = "";

  for (int i = 0; i < length; i++) {
    message += (char)payload[i];
  }

  Serial.print("Message: ");
  Serial.println(message);

  if (message == "ON") {
    runServo = true;
    Serial.println("START servo loop");
  } 
  else if (message == "OFF") {
    runServo = false;
    Serial.println("STOP servo");
  }
}

// MQTT reconnect
void reconnect() {
  while (!client.connected()) {
    Serial.print("Connecting MQTT...");
    if (client.connect("ESP32Client123")) {
      Serial.println("connected");
      client.subscribe(topic);
    } else {
      Serial.print("failed, rc=");
      Serial.println(client.state());
      delay(2000);
    }
  }
}

void setup() {
  Serial.begin(115200);

  myServo.attach(servoPin);
  myServo.write(0);

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("\nWiFi Connected");

  client.setServer(mqtt_server, mqtt_port);
  client.setCallback(callback);
}

void loop() {
  if (!client.connected()) {
    reconnect();
  }
  client.loop();

  // LOOP MOVEMENT CONTROL
  if (runServo) {
    myServo.write(120);
    delay(500);
    myServo.write(0);
    delay(500);
  }
}