I was thinking about this problem and I think I've come up with a relatively simple way to synchronize two PICs (which could be extended to as many as you would like): Drive the PICs with an external oscillator, and also drive the external oscillator into the clock input of a D flip-flop (for each PIC). Both PICs need to programmed with the same code (at least for the first few lines), and preferably no start-up timer. Dedicate one output for synchronization, and the output is pulled low from an external resistor so it reads low on power-up. The first thing the program is to do is to make it an output and set the sync pin high. These sync pins are put into the D input of the flip-flops, and the outputs (Q) are put into an XNOR gate. The output of the XNOR gate goes into the /MCLRs of the PICs. As long as the sync pins change to the same state at the same time, the reset is not asserted. If there is ever a point where the two sync pins are not the same (on a clock rising edge), it is reset. From this technique you would either synchronize really quickly, or the chips would continually be reset. If there is any randomness in what phase of the clock cycle the PIC comes up in, it would oscillate briefly until it found the right phase and then lock in once it was correct. If you ever wanted to make sure they were all synchronized again- change the sync pin on one, which would force a reset on them all. Comments? Matt -- http://www.piclist.com hint: PICList Posts must start with ONE topic: "[PIC]:" PIC only "[EE]:" engineering "[OT]:" off topic "[AD]:" ad's