Arduino librabry based on the work of Steven Cogswell