The software part of a hardware project I'm currently developing