IRISNotes Digital Pen

There exist so-called Digital Pens, which will record what they are writing electronically, while writing on paper. These pens belong to two categories:

  1. The kind that require special paper.
  2. The kind that require a receiver be attached to the top of the sheet, which senses the positions of the pen during writing, but which do not require special paper.

The IRISNotes is a digital pen of the second kind, of which I happen to own one.

In general, I do not find this type of pen very useful, because the need does not arise often, to be writing on paper, yet to be digitizing what is written anyway. However, I have this pen, and have in the past installed Windows software to download its writings onto my PC.

I felt that it would be a challenge to get this relic to work again, while using Linux software to download its data. For that purpose, it was helpful to note, that the hardware is of the ‘Pegasus’ variety, regardless of how it was branded. And then it was easy to find a special, Linux, software-project, the aim of which was to do exactly that.

This software only comes in binary form, packaged for Ubuntu. Using Debian, we do not have a mechanism for PPAs. And so the only way for me to get it running, was to custom-compile it, which I easily did.

Aside from custom-compiling, I needed to create the following file:


/etc/udev/rules.d/50-hidraw.rules :

ACTION=="add", KERNEL=="hidraw*", MODE="0666"


(Update 04/23/2018 :

Actually, by now I’ve discovered that the project source tree actually has a sub-directory named ‘udev’, which contains the recommended Rules File.

The Rule I created above will certainly work, but by giving user-access to any and every HIDRAW device-file, may not provide the highest level of security. And so I would recommend that readers do what I’ve done myself by now – To use the Rules File supplied with the project. )

I should note that my version of IRISNotes pen is first-generation. I cannot guarantee that any of this will work with an IRIS 2 or an IRIS Executive 2 -type pen. I just happened to own a pen which was collecting dust, with the idle thought of wanting to reactivate it.

The version of this pen which I have, has two modes of operation: USB-mode and Bluetooth-mode. The BT-mode has always been rather pointless, because it would need an active wireless connection while I was writing. It was originally meant to work with Android and iOS devices, but lacked in performance.

The ability to download pages of writing that are saved in the receiver-module, has always been limited to working in USB-mode.

And so I am happy to announce, that my project was a success, and that I am able to use the command-line tool to convert captured data to SVG (image) files.

The ability to do OCR on the writing has always required Windows or OS/X, and under Linux, whatever ability we want, to convert the SVG drawings to text, must be supplied by the user or not at all. I am not that far along with it yet.

Continue reading IRISNotes Digital Pen


I just had some curiosity in practical OCR software, and installed a bunch of related packages on the laptop I name ‘Klystron’, including ‘tesseract-ocr-xxx’ packages. This batch of installations went on to include ‘gImageReader’, an actual GUI with which images can be read.

However, this revealed a cute little application that was Okay, I guess, but that would crash whenever I exited it. The solution to this problem was to custom-compile the latest version.

The package manager offers version 2.92 under Debian / Jessie. The available, custom-compiled version is 3.1.91. It is Qt 5 -based.

In order to compile that, I first needed to custom-compile Qt5-Spell, because that, too, is not good enough as things ship from the package manager. And eventually, when first trying to compile Qt5-Spell, in the required Qt5 mode (it will default to Qt4 mode), I also ran into this peculiar error message:

Qt5LinguistTools Not Found …

This actually requires that we install the package ‘qttools5-dev’, which can be confusing, because there is also a package named ‘qttools5-dev-tools’, which may already be installed to no avail.

But, now that I have surmounted these problems, I have a more serious application installed, and one that does not crash, just when exiting.


Note: This application uses a hard-coded version of ‘tesseract’, not the version which I installed from the package manager. Yet, I feel that having installed additional data files from the package manager, has also added languages which ‘gImageReader’ can read.

(Edit 06/05/2016 : ) It is also possible to install ‘gImageReader’, by adding the special repository to our sources list, which is being hosted by the application author, whose name is Mr. Sandromani.

$ sudo add-apt-repository ppa:sandromani/gimagereader
$ sudo apt-get update
$ sudo apt-get install gimagereader tesseract-ocr tesseract-ocr-eng

In this case, we are installing a binary from a 3rd party, and may also need to install the repository public key. This version uses the externally-supplied ‘tesseract’ engine, but it is a customized version of ‘tesseract’, which gImageReader is able to use. One point in installing the Debian version of ‘tesseract’ could be, to have a version that is closer to what Google designed, and that can be invoked from the command-line, or from within other applications.