Mechanical design & machine design
Project Overview
The WordMiser Oracle
"The WordMiser Oracle" is a cross-space collaboration project, connecting the SenseCAP Watcher AI assistant from the Chaihuo Maker Space in Shenzhen, with the typewriter machine at the Macau Science Center in Macao, creating a unique interactive experience.
The core concept of this project is to create an "AI oracle that write words," which must limit its responses to 30 characters (adjusted to 25 characters based on our actual tests) and physically write them out by the typewriter machine.
The project can be divided into following phases:
- Phase 1: Build up the basic machine
- Phase 2: Wireless communction
- Phase 3: Further improvement
Individual contribution:
My role is mainly focus on the hardware design, building up and upgraded.
Phase 1: Build up the machine
Data research
In phase 1, our target is building up the basic writing/drawing machine, with the function to input a text or picture and let the machine write / draw it out. For this purpose, I had a research on different type of machine:
Comparing structure
The purpose of the machine is holding a pen to write, which is similar to using a arm to hold thing, similar as a robotic arm. So first we analysis some common types of robotic arm.

And our final choice is Cartesian coordinate robot structure. The working principles of this type of machine is similar to CNC machines, which is controlling an end efforter to go to a specific coordinates. As the X and Y axis is working in linear separately, it is easy for building up, controlling and programing.
We found that in last year, Chaihuo Maker Space had also built up a writing machines, which is also a Cartesian coordinate robot structure.

Reference: https://fabacademy.org/2024/labs/chaihuo/docs/assignment/week-10mechanical-design-machine-design./
But the a two bar structure is not suitable for long distance transportation (as we need to take the machine from Shenzhen to Macao), and it need a quite large spare space whiling operating.

Although the work structure is still a bit lacking, the components used in the machine generally meet our requirements. Therefore, we plan to reuse some parts and refer to other structures, like the alumimum bar and gear belts.
We find another good structure sample, a laser machine project(https://www.instructables.com/CNC-50mW-Laser-Engraver/). The base stucture is very stable, and the size is smaller. We decide the machine is writing on A4 paper, so the size is fit. So we will build up the basic stucture of the machine refer on it, and design a pen holder adding on it to hold the pen.
As we want to spend more time for the improventment and application, we want to limit the time wasted on the machine building, we hope to assemble the machine using existing resources as much as possible.
Here is the resources we found in the Labs:

Specification
Component | Specification | Quantity |
---|---|---|
MCU | Arduino Nano | 1 |
Arduino CNC Shield | Rev2.7 | 1 |
Stepper motor | Nema 17 | 3 |
Stepper Motor Driver | A4988 | 2 |
Servo Motor | MG90S | 1 |
Alumimum bar | 20 * 20 * 25cm | 2 |
Alumimum bar | 20 * 40 * 35cm | 2 |
Alumimum bar | 20 * 40 * 29.7cm | 2 |
Gear belt | 6mm * 36cm | 1 |
Gear belt | 6mm * 42cm | 2 |
Nylon roller bearing | M6-23mm | 12 |
Building the hardware
Building process
To make sure the design work, I build the 3D models of the components above in Fusion 360, and also design a pen holder using 3mm acrylic board.

Stepper model:https://grabcad.com/library/nema-17-stepper-motors-coaxial-60-48-39-23mm-1
Servo model:https://grabcad.com/library/mg90s-micro-servo-2/details?folder_id=14030136
Simulation:
The acrylic board part is export as following:

The overall result: Machine design_v1
And we build it with real components.
The final outlook:

2. Firmware controlling
Details
GRBL: A popular open-source firmware for controlling CNC machines with Arduino. It interprets G-code commands and controls the stepper motors accordingly.
File Sharing
- MQTT-text-Gcode-GRBL in Github
Open Source Used
Testing 1 - Direct control from computer
The software we use is ...
After the writing machine is finished, we do some testing:
- Test the motor by direct control from the computer '
3. Software Testing
After the connection between the machine and computer is set, the next step is doing a text writing test.
Details
-
First we try to write the text from the computer by the software build in function. '
-
We try to add the pen up and down action, and the G-code is (M03 and M05), but the function is reverse. '
If we can use the plug-in, we can solve the pen reverse problem and also can generate text and picture from inkscape.
Using inkscape plug-in to generature gcode control:
instruction: https://inkscape-manuals.readthedocs.io/en/latest/extensions.html#installing-extensions
The plug-in: https://drive.google.com/file/d/1Kfc7F9UUtgKDv8e2ULvpZOiOcIrNbcVQ/view
Result:
The plug-in is installed, but can't open in inkscape, even in different version of inkscape and different operation system(Windows and MAC OS).
Solving method: change the structure
Final result: writing the text with pen up and down
Also the drawing result:

Further improvement:
- Enlarge the writing area
- Make the paper install easier
- Reduce the parts of the component, make the installion easier.
Further Machine design_v2 simulation:
Member in our team
- Chon Kit Kuok
- Hongtai Liu
- Lei Feng
- Long Wai Chan
Chon Kit Kuok郭俊傑

Individual contribution
Writing Machine Hardware and Programming
MQTT data receiver
Hongtai Liu刘鸿泰

Individual contribution
SenseCAP Watcher AI Programming
Lei Feng冯磊

Individual contribution
MQTT Text-to-Gcode for GRBL Programming
-Convert Text to Gcode
-MQTT Transmission
Hero shot director
Long Wai Chan陳朗維

Individual contribution
Mechanical Structure Design
-Hardware connection
-Hardware upgrade