My Final Project¶
This page tracks the development of my final project idea as it evolves through the Fab Academy programme.
Weekly Progress¶
Week 1¶
The Week 1 assignment was to plan and sketch a potential final project.

Autonomous pen plotter that draws line drawings on an unlimited surface with a pen of your choice. The robot knows its own position by scanning the environment with its camera eyes, so it can draw very precisely. As a hobby sewist, I want to use this little robot to copy sewing patterns, or as a weekend sumi-e painter, I want to copy my draft onto a very large paper with a water-erasable pen.
Week 2¶
The Week 2 assignment was to model a possible final project in 3D CAD.
After some research, I selected two 28BYJ-48 stepping motors. For my robot camera eyes, I picked the OV2640 module as it seems to go well with ESP32 microcontrollers. I skipped the servo and microcontroller for the time being.

Week 6¶
The Week 6 assignment was to design an electronics board.
Our instructor Tamiya-san recommended the dual H-bridge IC DRV8421 for motor control. The microcontroller in the lab inventory is the XIAO RP2040, though for the final project I may switch to another board in the XIAO series depending on the processing requirements.
The next step is to refine the board dimensions to fit within the CAD model of the robot body.

Week 7¶
Suddenly it occurred to me that an autonomous portrait drawing robot is also possible.
Portrait drawing robot that recognizes a human face with its camera eyes, converts the image to line-drawing paths with its microcontroller, and draws portraits with its robot arms.
Reference SCARA draw bot projects
- Fab Academy 2019 SCARA Drawbot
- Drawbot
- Brachio graph
- CNC Drawing Arm
- CNC Dual Arm Plotter
- Parallel arm 2D plotter
- Scara plotter
- Parallel scara plotter
- Parallel Scara plotter
Week 8¶
On week 8, I milled the board

Week 10¶
On Week 10, my board with two dual H-bridge ICs successfully drove two stepping motors and a servo.
Week 11¶
I replaced the micro controller on board with XIAO ESP32S3 Sense and developed a system to capture images with the OV2640 camera sensor and serve them over a local Wi-Fi network.

With advice from Tamiya-san, I also researched the face recognition system provided by Seeed SenseCraft with my board and XIAO ESP32S3 Sense and OV2640. This will be one of the key technologies to realize the portrait drawing by the robot.

Week 12¶
I decided to go with the portrait-drawing robot with SCARA arms and camera eyes. Here is my plan.
System Diagram¶
The portrait drawing robot integrates camera vision, on-device AI, path planning, and mechanical actuation into a single pipeline.
I need to find out if the XIAO can handle all the procedure on-device, or if it needs a connection to a remote computer.
graph TD
A["OV2640 Camera"] --> C
subgraph XIAO["XIAO ESP32S3 Sense"]
C["Face Detection\n(SenseCraft AI)"] --> D["Crop & Grayscale\nFace Region"]
D --> E["Edge Detection\n& Vectorization"]
E --> F["Line Path\nGeneration"]
F --> G["SCARA Inverse\nKinematics"]
end
G --> H["Three-Servo PCB"]
H --> S1["Servo 1\nElbow one"]
H --> S2["Servo 2\nElbow two"]
H --> S3["Servo 3\nPen Lift"]
S1 & S2 & S3 --> ARM["SCARA Arm"]
ARM --> OUT["Portrait on Paper"]
style XIAO fill:none,stroke:#333,stroke-width:1px
Tasks¶
| # | Task | Description |
|---|---|---|
| 1 | PCB design | Design a three-servo driver board (XIAO ESP32S3 Sense + 3× servo headers + power) |
| 2 | PCB fabrication | Mill and solder the three-servo board |
| 3 | SCARA CAD | Design robot body and arms in Fusion 360; export for 3D print or laser cut |
| 4 | Mechanical assembly | Assemble SCARA arm with three servos and pen mount |
| 5 | Face recognition | Develop / validate face detection pipeline on XIAO ESP32S3 Sense with OV2640 using SenseCraft |
| 6 | Image-to-path conversion | Process detected face image: edge detection → vector paths → ordered stroke list |
| 7 | Inverse kinematics | Implement SCARA IK to convert (x, y) path coordinates to servo angles |
| 8 | Integration | Connect vision pipeline → IK → servo control end-to-end |
| 9 | Calibration & tuning | Tune drawing speed, pen pressure, and path quality |
| 10 | Video & presentation | Record 1-minute demo video; prepare final presentation slides |
Schedule¶
| Week | Dates | Goal |
|---|---|---|
| Week 13 | Apr 14 – Apr 18 | Three-servo PCB design |
| Week 14 | Apr 21 – Apr 25 | PCB fabrication (mill & solder); SCARA CAD |
| Week 15 | Apr 28 – May 2 | Mechanical assembly; servo wiring & basic motion test |
| Week 16 | May 5 – May 9 | Face recognition pipeline on ESP32S3 |
| Week 17 | May 12 – May 16 | Image-to-path conversion (edge detection & vectorization) |
| Week 18 | May 19 – May 23 | SCARA inverse kinematics & servo control |
| Week 19 | May 26 – May 30 | Full integration & calibration |
| Week 20 | Jun 1 – Jun 6 | 1-minute video and presentation preparation |
| Final | Jun 9 – Jun 13 | Final project presentation |
Copyright¶
Copyright 2026 Fumiko Toyoda - Creative Commons Attribution Non Commercial
Source code hosted at gitlab.fabcloud.org