Embedded devices use not only the microcontrollers, but also external devices to realize their functions. Due to lack of external device driver, developers may implement their own one, which can easily cause bugs. Once bugs are injected, debugging is often performed using physical devices, and such debugging is one of the difficulties in embedded development. Emulation is a technique for detecting bugs without physical devices. However, to our best knowledge, no studies focused its capability of detecting bugs in external device driver. As external devices can be modeled by describing state transitions and constraints, it is possible to detect bugs in the operation of external devices. In this paper, we propose a method for detecting bugs based on constraints of state transitions by emulating the operation of a microcontroller including external devices. We also confirmed that the proposed method can detect bugs using firmware with intentionally injected bugs.