Skip to content

Week 12: Mechanical Design & Machine Design

Kanji-XYZ, a CoreXYZ plotter for Kanji

Hero image Drawing kanji with a z-axis brush stroke

Our team (Kieran, Youssef and me) built Kanji-XYZ, a CoreXYZ platform plotter that writes Japanese calligraphy with an actual brush. The Z-axis lifts and lowers the brush so that pressure changes produce the thick/thin strokes characteristic of Japanese calligraphy.

Group page: Fab Lab Kannai – Machine Building 2026


Assignments

Mechanical Design – Group Assignment

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

Mechanical Design – Individual Assignment

  • Document your individual contribution

Machine Design – Group Assignment

  • Actuate and automate your machine
  • Document the group project

Machine Design – Individual Assignment

  • Document your individual contribution

How the team planned and allocated tasks

Our instructor Tamiya-san had already prepared the overall mechanical architecture — the CoreXYZ frame, belts, kinematics, and sample code — as part of the Machine Building Prep . Starting from that baseline, the three of us split the remaining build work along each person’s strengths:

  • Youssef – Z-axis gantry caps and motor mounts, wood-PLA filament profile, thin-brush adapter
  • Kieran – brush clamp in flexible PLA, firmware, KanjiVG stroke extraction and Flask frontend
  • Fumiko (me) – three stepper-driver PCBs, decorative feet / spacers, limit-switch mounts, and the water dish

Our shared goal was to have a machine that could draw a full kanji on paper by Friday. Details of the full schedule and BOM are on the group page.


My individual contribution

1. Three stepper-driver PCBs with national-flag artwork

The machine needs three identical stepper-driver boards (one each for X, Y and Z). Rather than milling three visually identical boards, I took the PCB layout from the Machine Building Prep page as a PNG and dropped a national-flag graphic into an empty area of the silk region for each teammate’s board.

Board Flag Preview
Kieran (Canada) 🇨🇦 Canada board
Youssef (Syria) 🇸🇾 Syria board
Fumiko (Japan) 🇯🇵 Japan board

Because the traces and pads came directly from the verified prep-week PNG, I didn’t need to re-route anything — I only edited the artwork layer. The outline and hole files I used on the Genmitsu Kubico are below (same 45 mm scale):

Mill outline Holes

Workflow: 1. Opened the prep-week top-copper PNG in an image editor, masked the empty silk area and composited the flag into it. 2. Exported traces / holes / outline as separate 1000 DPI PNGs. 3. Generated toolpaths in mods and milled all three boards. 4. Stuffed the H-bridge IC, decoupling capacitors, pin headers and a connector using a mix of hand soldering and reflow with the heat gun — reflow for the H-bridge package, hand soldering for through-hole parts.

Traces – V-bit tuning

The trace cut was the part that took the most iteration. The board has very fine spacing around the H-bridge, so the cut-width setting in mods had to be dialled in carefully:

  • First try – cut width 0.4 mm (V-bit preset, default). Too thick. The cutter ate into neighbouring traces and several of the thin lines came out broken.
  • Second try – cut width 0.15 mm (my Week 08 Electronics Production setting). Too thin. The pads were barely separated from the surrounding copper, so shorts were likely.
  • Final setting – 0.4 mm V-bit preset, tool diameter adjusted to 0.28 mm, offset number raised to 2. This gave a clean isolation around every pad without breaking any of the fine traces.

V-bit milling result

Cutout and holes – flat endmill

For the hole pattern and the board outline I started from the 0.79 mm cutout preset in mods, but the endmill we actually have stocked in Kannai is 0.7 mm, so I adjusted the tool diameter down to 0.7 mm before generating the path. After that change the holes and outline cut cleanly with no rework needed.

Cutout and holes

2. 3D-printed accessories

I designed and printed the small parts that made the machine usable as a calligraphy setup rather than just a plotter:

  • Decorative feet – four rounded feet that lift the frame off the table so the paper and water dish sit at the same height.
  • Spacers – small spacers used between the aluminium extrusion and the acrylic baseplate to keep the Y-rails level. (but not used at the end)
  • Limit-switch mounts – brackets for mechanical limit switches on X and Y; I reused the limit-switch model from the 2025 Fab Lab Kannai BOM and only adapted the bracket geometry to our extrusion profile.
  • Water dish – a small cylindrical dish that holds the water the brush is re-wet in between strokes (visible on the left in the hero image).

3. Assembly contributions

During machine build I also:

  • Measured and tensioned the Kevlar thread for the CoreXYZ belts. Because the geometry is sensitive to thread length, I cut and routed each loop carefully so the gantry stayed square.
  • Helped debug the gantry alignment after a crash that loosened one of the thread loops.

4. Final touch

I laser-cut a set of personal 落款 (rakkan) stamps from gum-rubber mat so that the machine-stroked calligraphy would look properly finished — a hand-pressed red stamp in the corner is the traditional way to sign a Japanese brush piece. One stamp per team member, including Yuichi-san, our instructor.:

Yuichi-san Kieran Youssef Fumiko
Yuichi stamp Kieran stamp Youssef stamp Fumiko stamp

Stamped


Problems we ran into (and how we solved them)

A short list of the issues I was directly involved in — the full list, including firmware issues, is on the group page.

  • Z-axis travelled twice the expected distance. Root cause: the lead screw was a 4-start, not a 2-start as we had assumed in the firmware constants. Fixed by dividing the Z steps/mm by two.
  • Limit switch caused software freezes. The initial ISR blocked inside an interrupt; Kieran refactored it into a flag-based check in the main loop and I re-designed and re-seated the switch connectors.
  • Kevlar tension loss after crash. Re-cut and re-tensioned the loops; added a “home first, then move” step to the operating procedure.

Possible improvements

Covered in more detail on the group page, but from my side:

  • Current z-axis movement is sliding in from left to right, and sliding up from right to left, which already looks nice, but I would add more finer strokes using the stroke type information in KanjiVG.
  • To do so we would need a finer control of z-axis. If Quentin the inventor of CoreXYZ released his sample code, it would be much appreciated.

Design files

All files I contributed are in docs/design_files/week12/:


Checklist

  • [x] Documented the machine building process to the group page
  • [x] Documented my individual contribution on this page
  • [x] Linked to the group page from this page (and linked back from the group page)
  • [x] Shown how the team planned, allocated tasks and executed the project (group page)
  • [x] Described problems and how the team solved them (group page)
  • [x] Listed possible improvements (group page)
  • [x] Included design files (group page + this page)
  • [x] 1-min 1920×1080 MP4 video + 1920×1080 PNG slide on the group page

Reference