OpenMooCow is a silly little program which emits a "moo" sound in response to a device being inverted. To do this, it reads information from an accelerometer device. Originally, I wrote this for Openmoko devices, but it's since been modified to work the sensors in Thinkpad laptops as well.

OpenMooCow is simultaneously the most useless and most popular piece of software I've ever written. I haven't yet made up my mind whether this is a good thing or not.

More details below...

openmoocow.pngLicence Information

The code created by me is licenced under the GNU GPL, version 3 or later. The image was obtained from and was released into the public domain by its author (see here). The sound effect is "freeware" from Unfortunately, Flashkit's freeware licence forbids commercial redistribution, which means the combined package is "non-free". If you know of a good free cow sound, I'd be very happy to hear from you...

Installation Instructions

OpenMooCow is available as a source tarball, via Git, or as an OPK file. It's available in the default feeds for SHR, which means you may just be able to do "opkg install openmoocow" to get it.

You will need SDL and GTK+ installed - the opkg dependencies should take care of that.

For Openmoko devices, you can install either via the feeds as above, or download the opkg (or ipkg, same thing) and install it manually with opkg. Or, download the source tarball and cross-compile using the toolchain.

Efforts to package OpenMooCow for Debian are in progress, meaning you'll be able to get it with just "apt-get install openmoocow". However, a problem with SDL means that it doesn't yet work.

You don't need a small portable device with accelerometers to run OpenMooCow! Simply download the source, compile and install via the standard ./configure, make, sudo make install routine.

Source tarball: openmoocow-0.4.0.tar.gz
opkg: openmoocow_0.4_armv4t.ipk
Git repository: git://

Usage Instructions

There isn't much to this program :) Simply run it from a shell ($ openmoocow) or (for Openmoko) from Illume's menu. It'll try to automatically determine the type of accelerometer present and open its main window. If it can't open the main window (e.g. if no DISPLAY variable is set), it'll still moo according to the accelerometers.

If you click/prod/tickle the cow picture, you'll also get a "moo".

Known Problems

If you're having trouble getting your new friend to talk to you, look here for information and discussion.

Further Information

See also the Openmoko wiki page about OpenMooCow.