Readesm Documentation

Digital Tachographs are a compulsory equipment for trucks heavier than 3.5 tons within the European Union. Readesm converts the binary data retrieved from the tachograph or driver card into human-readable form. The ESM files Readesm can read typically have extensions .tgd, .esm, .ddd or .add.


  1. Installation
    1. Windows
    2. Compiling in Windows
    3. Ubuntu packages
    4. Compiling
    5. Subversion repository
  2. Starting the program
  3. Questions and answers
    1. Where can I get the documentation for the tachograph file format?
    2. How can I download the data from the vehicle unit?
    3. Doesn't the driver card just hold 28 days of data?
    4. How secure is the cryptographic system?
  4. Modifying the program
  5. Resources
  6. Getting further help
  7. Acknowledgments



Download the Installer. Execute it, then start readesm from the start menu. You will have to associate it with tachograph files yourself. Note that the windows version does not check the RSA signatures.

Compiling in Windows

Compiling in windows is not difficult. You can use the Qt SDK, it already includes MinGW. You will also need a version of cmake, and you might want to install a subversion client, for example tortoise svn.

For simplicity, put the cmake location, the qmake location and the mingw location in the PATH environment variable. Then open readesm's CMakeLists.txt with qtcreator, and you are ready to go.

Ubuntu packages

There are precompiled packages in my personal package archive. Installation in Ubuntu should work by typing

sudo apt-add-repository ppa:k-2005/ppa
sudo apt-get update
sudo apt-get install readesm

Afterwards you can start readesm by typing readesm on the command line, and associate a file extension with it.


You can get the program files from my homepage, or from the development page at Sourceforge.

To compile, you need

If you want to check whether the signatures in the tachograph data check out, you also need:

If you have all prerequisites installed, unpack a release tarball or get the source from svn, then build with cmake. In Ubuntu you might do something like:

sudo apt-get install libqt4-dev qt4-qmake libqtwebkit-dev libgcrypt11-dev libgmp3-dev
sudo apt-get install cmake build-essential subversion
svn co readesm
cd readesm/fileformat
cd ..
mkdir build
cd build
cmake ..
sudo make install

On other systems, use your distributions package manager to get the tools and libraries, and execute make install as root. You might also want to try checkinstall or build a package for your distribution in another way.

Readesm installs icons and mime-type-information on unix systems. If you did not install the Ubuntu package with apt-get, you will have to update your mime database. In SUSE Linux, that means running update-mime-database /usr/local/share/mime as root, in other distributions it might be something similar.

Subversion repository

If you want the most recent changes and bugfixes or want to help developing, the subversion repository is at The repository does not contain the automatically generated code, so you will have to run in the folder fileformat first. To compile from svn:

svn co readesm
cd readesm/fileformat
cd ..
mkdir build
cd build
cmake ..

Starting the program

You can use readesm in gui mode or in command line mode:

Questions and answers

Where can I get the documentation for the tachograph file format?

The Tachograph file format, download protocol, printout format and basically everything about digital tachographs is defined in OJ:L:2002:207, p. 1-252. As with all European legislation it is available in several languages, for example

If you want to view it in another language, replace the EN in the url for the english document with your preferred language code.

How can I download the data from the vehicle unit?

I wrote a little program ( for serial download in python, it is currently in the readesm subversion repository and you can download it from my loadvu blog post. As testing it requires a company card and a truck, svn versions are often untested and will often require some hacking to work flawlessly.

How can I download the data from the driver card?

Use Fahrlinux.

Doesn't the driver card just hold 28 days of data?

Well, no. The driver cards hold between 5548 byte and 13780 byte of activity data. That translates to 28 days only if a lot of activity changes have to be recorded. For most drivers, the card stores about one year of driving records. A possible way to clean the card would be to press break every minute on some slow Sunday.

How secure is the cryptographic system?

That depends. On one hand, the cards and vehicle units use 1024-bit RSA, which is so far reasonable even for really confidential information and not directly breakable. On the other hand, well...

So far the cryptographic system itself might be unhacked. It is far easier to just drive with a borrowed card at night than to retrieve the secret key. On the other hand, there is some monetary incentive to avoid detection by manipulating the data, and some day this will be enough.

Please drive carefully, simply sticking to the necessary law is the simplest way to avoid fines.

Modifying the program

You are free to modify and redistribute the program under the terms of the GPL. Although it is not required, I suggest you contact me if you made any changes or if you plan to do something.

You do not need to be a programmer to improve Readesm, if you want some texts translated to your native language, just start qtlinguist and type them in. Or if you think readesm needs a nice icon, create one.

If you modify the code, some hints:


These links might help you use Readesm better:

You can also try open dtacho, an open source project trying to create a complete management suite for tachograph data. The ERCA website FAQ might also answer some questions regarding digital tachographs.

Getting further help

If the program crashes, won't install, if you have feature requests or general feedback, feel free to either: