This application note describes the construction of a low cost serial programmer which uses a PC with a parallel (Centronix printer) port to control a PIC16C84. This programmer has the capability of programming a PIC16C84 microcontroller, and reading back internal data without removing the device from the target circuit. This feature is very useful in applications where changes in program code or program constants are necessary to compensate for other system features. For example, an embedded control system may have to compensate for variances in a mechanical actuator’s performance or loading. The basic program can be programmed and tested during design phase. The final program and control constants can be easily added later in the production phase without removing the microcontroller from the circuit.