Working video:

Comparison with my handwriting:

Can you identify which ones were written by the machine? (It's close but not perfect yet)

So lemme explain...

The problem:

Rote memorization is not a path to understanding. Yet still, it is the bread and butter of the education system in many countries- mostly in Asia. Copy pasting 100 pages of lab records from a pdf by hand, writing the same problem 20 times, solving repetitive problems like a robot, etc won’t help us understand and apply the content. It is important to note that this is a problem with the system. I wouldn't blame teachers for teaching us the way they are taught to teach.

Here's a video that discusses the problem. (The point really starts at 2:00)

Here's another one:

It's hard for us to change the system, but we engineers can create solutions.

Existing solution: 

I was fed up with copy pasting assignments and 100 pages of lab record from a pdf by hand. I decided to make a pen holder tool for my ToolChanger 3D Printer to write the lab record for me. Here's what I did

  1. Measured the dimensions of my lab record book and created a template 
  2. Opened the template in Inkscape and copy pasted the content to be written
  3.  Converted the text to Hershey's text using the KM Laser plugin.
  4. Adjusted the text to align with the page template
  5. Converted the text to Gcode using the 4XiDraw plugin
  6. Align and clamp down the book to the machine
  7. Sent the Gcode to the printer to print.
  8. Repeat from step 2 for all the pages

Homework machine is not a new idea. It has been attempted before. This attempt where they taped a pen to their 3D printer and did a similar thing got 14M views and 250K likes on Twitter. ('Homework machine' is an extremely popular idea!) Almost all of the attempts on the internet uses the same workflow (Except this one that costs 200$ per font?) . Here are the problems with this workflow:

Problem with the existing solution: 

(Image showing a page written by my ToolChanger using Gcode generated using Inkscape and a single line font that came with one of the plugins. This got caught by the teacher)  


The Solution:

After the lab teacher caught me and asked me to rewrite the 100 pages by hand, I decided to double down. Starting from software, I set out to create a machine to efficiently and effectively do your homework without getting caught by the teacher. Here's how:

Record your handwriting

The software needs to know your handwriting to write in your handwriting. Your handwriting stroke is recorded and saved in a format suitable for the Gcode generation python script to process. Please see the project log section to see how it's done now.

(Image shows the python GUI  app I hacked together to record handwritings)

Generate answers 

The access to ChatGPT is a gamechanger. The upcoming Wolfram Alpha plugin will likely make ChatGPT do accurate math. these plugins should fix the achilleas heel of ChatGPT. All you have to do is generate answers and / or copy paste the content for the Gcode generation software to process. 

(Image showing an assignment I wrote with the 1st generation handwriting font written by ChatGPT)

Generate Gcode for the machine 

The software to generate Gcode does the following:

The python script I made to generate Gcode does all this with roughly 10X the speed of the Inkscape plugin that generates Gcode in the previous workflow. You can copy everything you want at once. No need to copy paste it page by page- unlike the previous workflow! You can add page break tags in the content if you want it to continue from the next page. 

(Image showing the current Gcode processing script, the output Gcode and the text input for the script.)

The machine 

Overall, the custom software and hardware makes writing homework with the machine effortless and effective. I have been writing assignments and lab records using the machine since June 2022. With the latest software, my teachers were unable to accurately distinguish machine written text and human written text