Project: Anoto Reverse Engineering

Getting Anoto pens working on Linux

Status: cancelled

Runtime: 2017 - 2017

Participants: Andreas Schmid, Raphael Wimmer

Keywords: anoto, linux, reverse_engineering

Streaming tracking data from Anoto pens (in this case: Logitech io2) to applications on Linux without requiring the Anoto SDK

We have tried several different approaches to get streaming data from the pens. However, documentation is poor, and several people who have worked with Anoto pens have strongly suggested that we use something else (e.g., the Neo Smartpen is quite sleek, its protocol is well documented, and some PDF files with dot patterns can be downloaded free of charge).

We acquired a few old Anoto pens on eBay and would like to use them on Linux.

  • Ron B. Yeh's PaperToolkit pages (last updated in 2006)
  • Timothy Akujuaobi got bluetooth streaming working with Linux but provides little documentation: Streaming Explanograms: Networking for Real-Time Wireless Collaboration (he notes that the SPP service needs to be called “anotostreaming” whereas Ron B. Yeh's tutorial requires the service to be called “ANOTO STREAMING”. TODO: find out whether both variants work)
  • Radu Motisan wrote a demo application for Android that connects to Anoto pens in 2012. However, he did not share much information about how he reverse-engineered the protocol: “I cannot disclose the exact details used for communication, but I can say that the HID protocol used by Anoto comes with additional commands used to access and control the data processed by these pens. A very well organized structure, that allows downloading stored data or handling real time data, stats on memory or battery, and handwriting details such as pen pressure or coordinates.”