various microcontroller stuff