Patrick Dockhorn bio photo

Patrick Dockhorn

Micro DevOp, Maker of Software Robots & Soccer Leftwinger

Email Twitter Facebook Google+ LinkedIn XING Instagram Github Stackoverflow Flickr

Ravensburger is a german toy manufacturer and a market leader in Europe in games and children’s book.

In 2010 the company designed a new product, tiptoi, originally intended as a digital audio learning system for children aged 4 and up, which has since taken Germany by storm. Tiptoi looks like a large pen, and includes an optical sensor that reacts to barely visible codes printed on the toy that then trigger some basic logic to be executed via code that has previously been loaded into Tiptoi via an USB interface; in its simplest form an audio file is played when a certain code is detected on the toy.

As of 2015 Ravensburger is selling over 100 different books, puzzles, games & animal figurines that can interact with TipToi. One example of such a toy is a large world map, where the child can move the pen over a country which then triggers and audio file to be played by the pen, explaining facts about the particular country.


Tiptoi has created a large following outside the products provided by Ravensburger as well, especially since Entropia, a community group in Karlsruhe affiliated with the Chaos Computer Club, helped in reverse engineering the pen and created an OpenSource tool called tttool, that allows for everyone to annotate their own books, puzzles etc. with audio narration driven by Tiptoi.

c’t, a popular german computer magazine, has also published an article about TipToi and how to use it for a DIY speaking book.

It is fairly easy to create your own version of tttool on a Mac, however if you don’t want to install over 1.5GB of code for the Haskell development environment, you can directly download tttool Version 1.3 for MacOSX Yosemite here.

Installing tttool on the Mac

$ git clone

  • Update the cabal tool (Haskell’s ‘make’) and install dependencies

$ cd tip-toi-reveng-1.3
$ cabal update
$ cabal install --only-dependencies

  • Build tttool
$ cabal install --bindir=.
  • Now you can access tttool from the local directory

$ ./tttool