I started by designing a robot geometry that covers a 90X90mm note.

I Worked with Onshape for it's low (or no) price. it's alright, but I am used to solidworks so I had to adapt a bit. I Came up with the below design where main parameters are L1=80mm, L2=90mm, D=55mm.

I had two NEMA17 motors, an arduino uno and a dual stepper driver shield from DFRobot.

The design below is holding everything together, controller, motors, arms, note holder, keypad.

Key feature is the hole at the end of L2, which the pen goes through, this ease the inverse kinematics a lot.

For the FW I went for a bottom up approach, testing a feature every time:

a. Synchronized point to point motion of the motors (in joint frame)

b. Continuous buffered motion (still joint frame)

c. inverse kinematics

d. a+b+c to get straight lines by buffering points through the inverse kinematics

e. same for circles

f. game engines (tic-tac-toe + connect4)

g. keypad

h. game flow that uses drawing + keypad + game engine

Watch and share: