Abstract This paper describes the development of an undergraduate course in microprocessor programming and interfacing electronics for non-electrical engineers. The course has been developed over a number of years to meet an increasing demand from industry for mechanical engineers with an understanding of microprocessor programming and interfacing. Two assignments have been developed and are described. one taken by all students and one which is available as a final year option. Both exercises teach assembly language programming techniques. The final year option also includes the construction and testing of a variety of interface circuits. A considerable amount of effort has been put into the selection, modification and integration of software and hardware packages from a variety of sources to form a microprocessor development system for undergraduate teaching. Since those taking the course are mechanical rather than electronic engineers, the development system had to be tailored to their needs.