Source: http://perso-laris.univ-angers.fr/~cottenceau/ArduinoCottenceau2016.pdf