5 or 6 wire (4 wire control)

Github, Google Code, or the Playground are all good choices.