From Openmoko

Jump to: navigation, search



ValaCompass is a 3D compass application for the 3D compass included in the Freerunner Navigation Board and Freerunner Navigation Board v2 written in Vala and using GTK and Cairo. It uses the LIS302DL accelerometers of the GTA02 to display the North direction in a 3-dimensional way. Thus, no matter in which direction you hold your Freerunner, vala compass will show you where the North is.




ValaCompass works with the hmc5843 kernel module provided by User:Cmair and available at

Calibration phase

After starting the valacompass executable, rotate your freerunner in all possible directions for about 5 seconds. After it, keep the device in one position for 3-4 seconds and wait for a stable direction information :).

Current Issues

  • Electrical interferences heaviliy influence the accuracy of the compass (e.g. TVs). Therefore, be careful when you calibrate your compass.
  • The compass is not quite responsive. This may be due to the accelerometer kernel driver. I am going to investigate that as soon as possible.
  • The redrawing mechanism is not the fastest as well. If I will have spare time, I will try to rewrite the application with the efl libs.


ValaCompass is currently at version 0.11.

ValaCompass uses libsensmon library provided by the SensMon project. Thus, you can find the sources for this library at

The ValaCompass sources are available at

For SHR-core and SHR-unstable corresponding packages are available.

Personal tools