This project is a very simple modular solution. The whole project will be fully documented and released Open Book under OBFL Launchpad license.

The hardware for the reference model consists of a Raspberry Pi with camera, and a AAXA Technologies micro-projector. Any projector and any Linux SBC with Video4Linux camera will work with the software. The stylus hardware will probably be a Teensy (since I have one on hand, and it is super simple for a beginner to use). My drawing calls for a PIC, which is probably the right hardware choice for power consumption and no unnecessary complexity, but the software stack is a bit much for the average beginner, and I want this to be as simple as possible for anyone to build.

The whiteboard: it will be a headless linux application, allowing multiple front-ends to exist. The whiteboard itself will be accessed through an OAUTH API. The stylus is implemented as a module. Other types of stylus can be created. The stylus will operate by viewing the RaspiCam, applying a simple math transform (all explained in the Book), and determining cursor position, angle, and intensity. The intensity is controlled by a pressure transducer on the stylus, which modulates the 2 LEDs color to transmit the data to the camera. The angle is determined by the seperation between the 2 LEDs. This allows a chisel-tip such as a whiteboard marker to be emulated.

There will be a modular API for adding tools to the whiteboard. Example tools would be: color change, "brush" change, shapes, charts, graphs, file load, etc.

A reference web application will be created which communicates with the backend API to create a functioning whiteboard. Access can be shared through this web site or directly through the API at the user's discretion.

A blackboard can be simulated too. The stylus could easily emulate chalk. More than that, a different or simpler stylus can be made. A stylus can be made using only 1 LED and a simple on-off. A stylus can be made which doesn't use the camera to communicate. The whole platform is open-ended and open-source.

Design Goals

  • Low Cost (the prototype is $300 nominal, though I own all the parts already, and the projector takes up 2/3 of the cost)
  • Portable, so that someone can take it into a conference room or whatever
  • Simple enough that beginners can understand how to build it, and how to modify it to suit their needs
  • Allow physical drawing with a stylus (using a mouse to draw is not the same skill as whiteboarding, and doesn't let ideas flow the same, using a finger is also different from holding a stylus)