Skip to content

13. Mechanical Design, Machine Design

Youngs Modulus Machine Panel

Assignments and Assessment this week

Mechanical Design (part 1 of 2)

Group assignment:

Design a machine that includes mechanism + actuation + automation + application Build the mechanical parts and operate it manually Document the group project

Machine Design (part 2 of 2)

Group assignment:

Actuate and automate your machine Document the group project

Back Ground Story for our Machine Development

For our Machine Week, we discussed about development of Open Source Tool that would support product development at FABLAB in Global South Countries.
Especially in Africa, it is known that the total African population will be 1/4 of Whole World population by 2050.
However, 80 percent of population in Africa are very poor. For example, there are basically No local manufacturing industry in Kenya.
Kenyan Farmer's difficulty

Since last year, FABLAB Winam in Kenya started developing FABLAB.able Kinetic Seat with Toyota.
FABLABable Kinetic Seat

In their Talk in FAB25, they are focusing to develop the seat with Bio Material such as fabric made of Sisal and Frame made of Bamboo.
Local Bio Materials in Kenya

In order to assure the strength of product, it is important to know the basic strength of each material such as “Young’s Modulus”.
Most of the time, the strength of material changes by it’s processing. What Chemical is used before dying? Was is completely dried with heating? etc…
Talking about Bamboo, it is known that the strength changes dramatically by heating, drying, keeping for a long time.
In addition, there are 81 bamboo species in Kenya, so how should they choose without knowing those unique strength characteristics.

FABLABable Young’s Modulus Measurement Machine

We decided to make simple but useful and FABLABable “Young’s Modulus Measurement Machine”.

1.Handmade material inspection device

This week our group assignment is At Global South’s FabLab, we are developing a “handmade material inspection device” to support manufacturing that utilizes local materials.

Specifically, it’s a tool that allows anyone to easily measure the strength (Young’s modulus) of materials unique to a particular region. Using this, local people can numerically check the strength of materials and make decisions such as “should I use it as is?” or “should I reinforce it with another layer?”

What is Young’s Modulus?

Young’s modulus is a numerical representation of a material’s resistance to deformation. It is the value obtained by dividing force (stress) by the deformation rate (strain). Specifically, it can be calculated by measuring how much deformation occurs in millimeters when a certain amount of force is applied. The formula for Young’s modulus (E) is: E = (L^3 * F) / (4 * w * h * d) It can be calculated if L = length, F = force, w = width, h = thickness, and d = deflection distance are known. Of these, W = width and H = thickness are determined by the material, and L = length is determined by the material spanning the device. To measure the change, the applied force (F) and the resulting deformation (L) are measured intermittently.

Young's Modulus

Understanding and Calculating Young’s ModulusWritten by Andy.Lu


You can see the Young’s Modulus Measurement image and how it differs.
Young’s Modulus Comparison of Kenyan Bamboo

Creation of Inspection Device

Inventor, Concept Slide Creation, Push Mechanism Modification Design and Fabrication: Kohshi Katoh (2026)

Supports Creation, Electrical and Electronic Design and Fabrication, Program Design and Fabrication: Daisuke Hanamido (2026)

Conceptual Slide

Here under is our initial sketch of Young’s Modulus Measurement Machine.
Initial Sketch

Written by Koshi Kato (2026)

In the initial conceptual explanation slides, the design began with the assumption of measuring the length altered by the rotation angle of a load cell (a component found in electronic scales, etc.) and a potentiometer. Furthermore, the material used for verification was bamboo grown in Japan.

The machine consists of following parts;
* Test piece base which can supports 150mm length of test piece with the support pillars distance as 100mm

  • 3D printing Push Rod with tip at the edge and Load Cell installed in the middle as series to the tip

  • Potentiometer set at the main frame with the connection of a string attached to the fixation point at the frame via spring in series.

  • Push Rod connected to the Stepper Motor via Screw shaft and Coupling

  • Push Rod with the Load Cell moves down by the Stepper Motor’s rotation through Screw Shaft, and Measure the Load and Displacement by the Potentiometer pule as the angle.



How the system works:

  1. The system should detect the first contact with load cell’s load signal, then stop and rise up a bit as the initial measurement position.

  2. Then start measurement by Push Rod moving down until the Load Cell detects the Load level decreasing 10% of the peek load value, then stop.

  3. The system will record the date of Load Cell, time, and potentiometer and save those data with CSV file format.

  4. CSV file data will be calculated by Excel like PC application to get the Young’s Modulus Peek Value, and Graph is shown as the Young’s Modulus in vertical axis and Displacement as the horizontal axis.

Assignment for each member

In our Machine Week activity, we set our assignment as follows;
* Daisuke Hanamido designs;
* Test Piece Base
* Motor controlling circuit with programming
* Data handling
* Video Editing

  • Kohshi Katoh designs;
    • Concept of Young’s Modulus Measurement Machine
    • Push Rod with measurement feature; Load cell, Potentiometer
    • Frame Structure focusing measurement accuracy and system durability
    • Presentation Panel

Zero Spiral

Last year in Kamakura, we used the Onigiri machine presumably made of bamboo chopsticks to verify the force of the MEM17 stepper motor.

We didn’t expect it to break, but when we moved the motor, it broke easily.

Therefore, we decided to reuse this machine in the First Spiral.

First Spiral

Modification 1 from the Onigiri machine: We removed the triangular mold and created a 10cm diameter Supports base.

Modification 2 from the Onigiri machine: We redesigned the top-pressing mechanism to be optimal for measuring Young’s modulus.

Considering the cost and range of measurement load, we decided to use Load Cell SC301A-100kg-V50 for the load measurement.
Here under is the Data Sheet of the Load Cell
Load Cell Data Sheet

To decide the length of Intermediate Rod, Kohshi drew a sketch to calculate the necessary length of the Intermediate Rod.
Intermediate rod part length
Intermediate Rod length
= Total - Coupling length - Drive length - Load part
= 390 -25 -147 -85 (mm)
=133mm

Detailed drawing process of Intermediate Rod is written in Kohshi’s individual documentation.

CAD for intermediate shaftCAD intermediate shaft below

Here is the Tip to press the Bamboo Test Piece.
Tip openTip closed

3D Printing Intermediate Shaft with different Support type.
3D printing intermediate shaft
Intermediate Shaftalt text

alt text

At this time, we made it possible to attach a load cell in between. This allows us to measure how much force is being applied.

3D printing Tip part
3D printing Tip parttip part 3D print

Connecting Tip and Load Cell
Connecting tip

Pressing Tip is set under Load Cell.
Load Cell and tip

Working with Amplifier for Load Cell
working with amplifier

Testing Load Cell signal
testing load cell

Signal from Load Cell is working
Load Cell signal

Connecting power cable
connecting power cable

Setting ofr 1st spiral test
setting for 1st spiral test

Confirming the load cell signal with 1st spiral test
confirming the load signal

We also reconsidered the method for measuring the length of deformation. Three options were proposed: 1. Potentiometer, 2. Laser displacement meter, 3. Calculation of displacement from the motor’s rotation angle.

At this point, it was 5 PM on Sunday and closing time at the Kamakura lab was approaching, so we decided that Koshi would complete the unfinished extrusion mechanism, and Daisuke would design and program the motors, sensors, and other electronic components by the weekend, and then we disbanded.


Second Spiral

Observing the motion of the motoring part, Kohshi found that the motor (from shaft to case) is holding the vertical load to press the Bamboo Test Piece which is not good condition.
Then he decided to modify the structure as following sketch.
reduced vertical load at Motor
In above structure, the Vertical Reaction Force from Bamboo Test Piece is being hold by the Steal Frame through Combined Radial-Axial Bearing Not by the Stepper Motor Shaft.

Detailed drawing process of New Frame for Second Spiral is written in Kohshi’s individual documentation.

Second Spiral Frame Drawing
Second Spiral Drawing

Setting Aluminum Frame in Cutting Machine
Cutting Aluminum Frame

Cutting Aluminum Frame by covering the part
Cutting Aluminum Frame

Cut Aluminum Frame
Cut Aluminum Frame

MISUMI Nut for Aluminum Frame
MISUMI Nut for Aluminum Frame

The nut has ball suspended by spring inside so that it makes assembly very easy without dropping the nut even at the vertical condition.
MISUMI Nut for Aluminum Frame

MISUMI Aluminum Frame nut can be installed in the middle of frame.
MISUMI Aluminum Frame nut function

MISUMI Aluminum Frame cross section
MISUMI Aluminum Frame cross section MISUMI Aluminum Frame system

Assembling Frame by confirming the length of each part
Assembling Frame

Base of frame was assemble on the flat table
Base assemble on flat table

Main Frame was assembled
Main Frame Assembled

Designing Motor Case
Motor Case design
Motor Case bottom design

Motor Case 3DP was designed with manual support with support paint function in Prusa Slicer.
Motor Case 3DP support setting

Motor Case 3DP setting for PrusaXL with PLA
Motor Case 3DP setting

3D printed Motor Case
3D printed Motor Case

Detailed drawing process of Designing Bearing fixation part is written in Kohshi’s individual documentation.

Kohshi decided to use Combined Bearing to bear the vertical reaction load at pressing the test piece by Aluminum Frame Not by the Stepper Motor shaft.

Combined Bearing NAX1023 was chosen with 2 of inner collars

Designing Bearing Case Bearing Case Design
Bearing Case Design
Bearing Case Design

Bearing Case 3DP was designed with manual support with support paint function in Prusa Slicer.
Support for Bearing Case

Bearing Support 3DP setting for PrusaXL with PLA
Bearing Support 3DP setting

3D Printing Bearing Support part
3D printing Bearing Support
3D printed Bearing Support


In order to stabilize the screw shaft especially for rotational angle direction, Kohshi designed rigid “Angle Stabilizer” for 3D printing.

Designing Screw Shaft Angle Stabilizer
Screw Shaft Angle Stabilizer design
Screw Shaft Angle Stabilizer design
-0.05mm offset from the Main Frame contact point was done for assembly

φ5.5mm holes for M5 fixation
hole design of stabilizer

Angle Stabilizer design for 3D printing
Angle Stabilizer

Angle Stabilizer 3DP was designed with manual support with support paint function in Bambu Studio.
3DP support

Angle Stabilizer 3DP setting for Bambu Lab A-1 with PLA
3DP Sliced

3D printed Push Rod Angle Stabilizer
3D printed Angle Stabilizer
Angle Stabilizer

Designing Top Board for MDF Laser cutting
Top Board design

Export Top Board sketch as DXF file for Laser Cutting
Export to DXF

Top Board Design for Laser Cut
Top Board Design for Laser Cut
Illustrator file for Laser Cutting

Testing for Laser cutting condition
Test LaserCutter setting

Laser Cut setting for 5.5mm MDF was chosen as following picture by Test Cut
Laser Cut Setting

Preparation for the Laser Cutting
Laser Cutting operation

Laser Cut Top Board
Laser Cut Top Board
Top Board

2nd Spiral Test
2st Spiral test

2nd Spiral test worked to some extent as the motor driven loading power with quicker motor rotation than our planning.
2nd Spiral result

Displacement measurement by Potentiometer

Having difficulty to get displacement data from Stepper Motor Rotational Angle, we decided to install Potentiometer for displacement measurement.

Kohshi Started to design the Potentiometer Stay and system for the displacement measurement.

Designing potentiometer stay
Potentio stay design

Potentiometer Stay 3DP setting for Bambu Lab A-1 with PLA
Potentio stay 3DP setting

3D Printing Potentiometer Stay
3D printing potentiometer stay

Potentiometer set at the Push Rod
Potentiometer set

Potentiometer measurement system
Potentiometer system
Potentiometer measures the travel distance of the Push Rod by the string which is fixed against the Main Frame via Spring.
The Spring keeps tension of the String so that there is no slip occurs at the spool of Potentiometer while it is rotating due to the travel.
PE Line (Izanas) for fishing is used as the string which has strong stiffness without deformation.

program

#include <AccelStepper.h>
#include "HX711.h"

// Pin settings
const int INTERFACE_TYPE = 1; 
const int STEP_PIN = D5; 
const int DIR_PIN = D4; 
const int LOADCELL_DOUT_PIN = D1;
const int LOADCELL_SCK_PIN = D0;
const int SW_PIN = D10;
const int analogInPin = A2;

// Variables
long HX711_reading = 0;
int sensorValue = 0;
int switch_status = 1;
int machine_status = 0; // 0:Idle, 1:Forward(Down), 2:Reverse(Up)

// Custom settings
const long THRESHOLD = 250000;    
const float MOVE_SPEED = 10000;   // Forward speed
const float ESCAPE_SPEED = 5000;  // Reverse speed

HX711 scale;
AccelStepper Xaxis(INTERFACE_TYPE, STEP_PIN, DIR_PIN);

void setup() {
  pinMode(SW_PIN, INPUT_PULLUP);
  Xaxis.setMaxSpeed(10000);
  Serial.begin(115200);
}

void loop() {
  int current_switch = digitalRead(SW_PIN);

  // --- 1. Switch Control ---
  if (current_switch != switch_status && current_switch == LOW) {
    if (machine_status == 0) {
      machine_status = 1; // Start movement
      Xaxis.setSpeed(MOVE_SPEED);
      Serial.println("START: FORWARD");
    } else {
      machine_status = 0; // Stop movement
      Xaxis.stop();
      Xaxis.disableOutputs();
      Serial.println("STOP: BY SWITCH");
    }
    delay(200); // Debounce
  }
  switch_status = current_switch;

  // --- 2. Motor Logic ---
  if (machine_status == 1) {
    // Forward mode: check for overload
    if (HX711_reading < -THRESHOLD) {
      machine_status = 2; // Auto-reverse
      Xaxis.setSpeed(-ESCAPE_SPEED); 
      Serial.println("!!! OVERLOAD: REVERSING !!!");
    } else {
      Xaxis.runSpeed();
    }
  } 
  else if (machine_status == 2) {
    // Reverse mode: keep moving back
    Xaxis.runSpeed();
  } 
  else {
    // Stop mode
    Xaxis.disableOutputs();
  }
}

// --- Data Acquisition (Core 1) ---
void setup1() {
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
}

void loop1() {
  if (scale.is_ready()) {
    HX711_reading = scale.read();
    sensorValue = analogRead(analogInPin);

    // Print data for Serial Plotter
    Serial.print(600);
    Serial.print(",");
    Serial.print(sensorValue);
    Serial.print(",");
    Serial.println(HX711_reading);
  }
  delay(100);
}

AccelStepper.h We used to control a stepper motor. However, we encountered a problem when combining it with a load cell. Looping both within the same IF statement caused erratic behavior, preventing the motor from rotating.

As a solution, our instructor,Kae Nagano (2019), offered a good suggestion.

Since our microcontroller was an RP2040, we used a second core (setup 1, loop 1) and created a program that constantly measured force and distance while activating the motor when a button was pressed.

Files