An experiment aimed to help people who have difficulty handwriting, (due to fine motor problems), to write.

Similar projects worth following
The system uses a Laptop's (or PC's) webcam. Basically you draw in the air with your hand or pointer and the path of the hand or pointer is recorded on screen.

The system is very simple.

The current prototype pointer uses a small LED and battery, it has a switch that turns the LED on when the pointer is squeezed.

When the LED is switched off (or is not detected by the camera) the recorded movements are moved to the left and a new drawing point will start the next time the light is detected.

Code is heavily based on the tracking.js library - see: and is based off one of their example applications.

A video of how it works (at this point):

  • 1 × LED Fiber Optics / Emitters
  • 1 × battery holder
  • 1 × lever switch
  • 1 × PC or Laptop webcam
  • 1 × Javascript based Web Application

  • Motivation

    Jonathan Kelly05/11/2016 at 00:35 0 comments

    The primary motivation is to find something to assist a young school student with fine motor problems, better do his mathematics schoolwork.

    He can't do any written working with pen and paper. He can type (slowly and clumsily) which allows him to do written work in many subjects but much arithmetical working typically involves noting steps down, crossing things out, rearranging terms etc. This is difficult to record via a keyboard. Even more difficult for someone with fine motor problems.

    As a consequence he has to either try and direct an assistant to write his working steps or he has to do many steps it in his head which make it hard to follow his working (and results in errors). It also makes it hard to learn arithmetic techniques that use written steps.

    The idea may not prove to be of much value but I think it is worth exploring.

View project log

  • 1
    Step 1

    The idea is the system should just require a Laptop and a simple, low tech, low cost pointer.

    The application code is at

    The code is very rough - a quick hack to see if the idea has legs.

    The pointer is also very rough - a yellow LED, switch and battery holder, zip tied to a wooden stick.

View all instructions

Enjoy this project?



Jonathan Kelly wrote 09/24/2016 at 23:59 point

Hi Lee.

Thanks for your comments.

I actually have another project that I wrote that provides a maths interface and a diagram drawing application along the lines you suggest.

I should put it up on the Hackaday site but have never got round to it.

It uses mathjax javascript stuff to do the equation and symbol display bits and relies on simple (one finger) keystrokes to drive both the maths and diagram drawing interface.

It was initially meant to be the display component for the light pen idea here but it turned out to work better for the intended user with just a keyboard interface.  It initially used a trained neural net to get input from things like the Light Pen but that has since been disabled because as mentioned - for the intended user the keyboard input worked better.

By mapping symbols to widely spaced keyboard letters I avoid the need for 2 key inputs or close accuracy of hitting keys (eg shift = for the minus symbol is replaced by 'p' for plus etc) and it also provides the ability to draw diagrams without using a mouse but by steering "to and from" cursors with keys.

The code for the application is at 



  Are you sure? yes | no

Lee Cook wrote 09/24/2016 at 18:29 point

Have you thought about providing a dedicated maths style interface rather than a writing style one?

Take a look at the equation editor within the MS Office packages and that's the sort of thing I was thinking.  Obviously the interface would need to be made a lot chunkier to support the lack of motor skills but then, there is likely a lot of complexity that could be dropped depending on the level of the student.

There are some open source equation editors that you may be able to pick up code from:

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates