Embedded systems engineers need to learn how I/O programming expressions for microcontrollers evaluate. We designed, implemented, and tested an intelligent tutoring system prototype for learning such evaluations. The Microcontroller Knowledge (MicK) tutor guides a student step-by-step towards a solution. A domain reasoner, built using the Ideas framework, generates feedback and hint messages. MicK supports various microcontrollers and programming languages by dynamically creating exercises and using lookup environments. Instructors can easily customise MicK, for instance by adding new exercises and changing the reported feedback messages. MicK is validated in a pilot study with questionnaires filled in by students and lecturers. The results show that the step-by-step feedback and hint messages contribute to understanding how microcontroller I/O programming expressions evaluate.