Una cosa non mi convince molto: i valori letti mi sembrano di "fantasia" come temporizzazioni, bisognerebbe verificarli con un oscilloscopio o un analizzatore di stati logico.
Con il sistema dell'articolo poi mi pare che alla fine legga un pacchetto su due quindi si aumenta la latenza.
Per imparare a programmare il progetto è valido, per uso pratico ci sono in commercio buoni stabilizzatori cinesi a 10, esiste anche progetto open source serio per modificarne il firmware, potresti prender spunto da li.