Skip to content

10. Mechanical / Machine Design

1. Weekly Brief Summary

We made “Juicy Fruity Messenger”. I disassmebled old 3D printer, made another basement, converted g-code.

2. Weekly Assignment Requirement

  • Group assignment:
    • Design a machine that includes mechanism + actuation + automation
    • Build the mechanical parts and operate it manually.
    • Actuate and automate your machine.
    • Document the group project
  • Individual assignment:
    • Document your individual contribution.

3. Group Assignment


FabLab KAMAKURA 2021 Lab site / mtm

4. Design and Prototyping

First, we discussed the concept of the machine and the workflow. I designed the mechanism for squeezing the fruit and the mount for the 3D printer, and also found the necessary information for the script to convert the G-Code, which I shared with the members.



We dismantled the extruder. The stepping motor rotates, and the combination of gears and hobs feeds the filament to the heat end.


For squeezing fruits, we decided to use stepping motor and gear rotation. A stepping motor can be rotated by G-Code, E numbers. We made rapid prototypes by paper, cardboard. Finally I made it by 4mm MDF board.


End Effector Improvement



I designed and printed Basement of end effector, yellow part on photo. The prototype was not strong enough, so it was redesigned several times and formed as a single piece using a 3D printer.

G-Code Edit

Command Function
G0 Move Fast
G1 Move
G2, G3 Circular Move
G28 Home all axes
M302 S0 allow cold extrusion
M82 Set extruder to absolute mode
G92 Set current position as origin

Inkscape has a G-Code output extension, but it’s not suitable for 3D printing. I found some erros and non-suitable specifications for this week’s assignment, and tell the solution of them for my group assignment partner, he made convert script.

  • To move end effector’s motor, we need to enable cold extrusion by M302 S0

  • If you set more than 6 parameters in G02,G03 commands , the machine will stop working ( I don’t know why…).

  • It was not possible to get a negative value in the Z axis. I solved the problem by using a place floating only (num) from the bed as the Z origin with G92 Z(num) and making it a number less than or equal to (num).

5. Run Result




Last update: July 5, 2021