1. A system for communicating with a microdevice, the system comprising: a host computer adapted to communicate with a target microdevice, the target microdevice being a microcontroller or a microprocessor, the host computer including a host memory coupled to the host computer, a graphical user interface adapted to obtain user inputs from a user, an interface agent adapted to handle information flow between the graphical user interface and an integrated development environment stored in the host memory; wherein the graphical user interface includes a multimedia software program stored in the host memory; and wherein the integrated development environment is adapted to compile source code to build a target program according to information from the graphical user interface and, when the host computer is connected to the target microdevice, is further adapted to download the target program to the target microdevice according to the information from the graphical user interface.