EVM (Evaluation Module), also known as EVB, has become an important tool in developing embedded systems because it can shorten the development cycle. It is also very useful in course modules which cover embedded system programming. However, an EVM with the configuration suitable for the diversity in embedded system programming is quite expensive such that setting up a laboratory for students to practice programming embedded system sums a large amount of funding. This paper presents the design and the implementation of a software EVM, namely SWEVM, which serves as an effective tool in teaching embedded system programming. SWEVM can emulate the main functionality of Creator PreSOC kit which is an EVM product of Mircotime Inc., a Taiwanese company. Its design is highly modularized with good configurability for both flexibility and expandability. Students can easily exercise the common make-load-execute cycle of embedded system programming using SWEVM with no hardware device other than an ordinary PC. Therefore, SWEVM serves as a good alternative to the costly hardware EVMfor education purposes.