Finish data translator, fix random bugs
add reference implementation on arduino