When the PC was first introduced, it was a simple device that allowed easy development of customized hardware and hardware interfaces. As the PC has developed over the years, the ease of customization and interfacing has lessened to the point where most people feel that it is too difficult to develop custom hardware and applications for "Windows" based PCs. This text introduces the reader to hardware and software aspects of the PC and then goes on to show them how to create customized applications and interfaces. It provides coverage of all PC interface methods including Parallel Port, Serial Port (RS-232), I/O busses (ISA, PCI, IDE and SCSI) and the new USB. It includes experiments and practical projects along with theoretical discussions of how different interfaces operate, and there is source code for all experiments in 8086 assembler, Visual Basic, Visual C++ and LabView. The accompanying CD-ROM contains the source code for all the applications and experiments along with standard tools for developing custom applications.