microcontroller implementation