@stevempotter has a pretty simple one:
I am working on a slightly more complicated one, but probably will only work on a primo.