  Embedded systems represent a billionaire market and are present in most of
the processors produced in the world.Embedded software interacts with external
peripherals such as sensors and actuators through drivers. The strong
interaction between drivers and external peripherals often hamper embedded
software development, in special the testing task, giving that the physical
environment may not be deterministic and difficult to be recreated during the
tests, the hardware may not be available or its presence may not be desirable
or costly. Aiming at addressing these problems, this paper introduces a
solution to test drivers on microcontrollers, based on a method that uses three
components: a Device Under Test (DUT), a Double device, and a computer. The
computer runs a test orchestration code, while the DUT runs the test target
code, and the Double plays the role of the real external peripherals that
interact with the DUT. The proposed solution was successfully implemented and
validated using different protocols.
