There are a few considerations i'd like to point out: first, there were suggestions of using op-amps as comparators. this is possible, but rarely a good idea. why? well, slew rate comes to mind. if you use an op-amp without negative feedback (as in e.g. a comparator), you're going to get very high gain. that means the output stage is almost certainly going to saturate. which will decrease the slew rate. Since the original post did not mention what the frequency range of the signal is, it's hard to suggest an appropriate op-amp, let alone a specific one. you shouldn't use an op-amp in this application anyway, unless you absolutely cannot help it. as a bonus, comparators have an open-collector output, allowing you to easily interface to logic levels. then, there's the input range to consider. (I don't mean for this to sound patronizing). most comparators will allow a rail-to-rail signal swing (but not all, check the specs!). then, you need to make sure the supply voltage to the comparator is greater than the expected signal swing of the pickup's output. a negative "glitch" on the pickup's output could kill your comparator. Again, I don't know the possible output voltage range of the pickup, but you certainly need to keep this point in mind. finally, you probably want some isolation between your detection circuit and the pickup. some sort of opto-coupler if speeds permit would be a cheap solution. one solution that comes to mind is an H11AAx and a comparator. The H11AA series of optocouplers are meant for AC voltage detection. Used with an appropriately configured comparator, you could get the circuit to give you a pulse at every zero-crossing. The H11AAx has a turn-on/off time of 2us, and you need the input to exceed ~2V. this combo would also ensure that the input to your comparator stays within spec, and you can hook it to your PIC (i have a line voltage detection circuit based on this. The schematic is floating around somewhere on my desk if interested). for a faster coupler, you could use the H11Lx, or H11Nx (which are 1MHz and 5MHz, respectively). These types are already Schmitt-triggered. There are even types that have propagation delays of less than 100ns. they don't have the dual Ir diodes, so you'd be back to peak-detect and computing the midpoint again. Unless, Of course, you could run the input through an active full-wave rectifier, then do the zero crossing detection. that'd give you a pulse every time the signal went to zero. -Phil >I am working on an automotive timing circuit that uses a toyota reluctor pick >up. It's output is a pseudo sine wave that changes in frequency and amplitude >as the rpm changes. The ideal point to in the wave to send a position >interrupt is as the wave passes zero. I've tried running it through an op amp, >letting the wave swing from a 5v pedestal, and computing the midpoint between >the two peaks but this eats up too much time is an "after the event has come >and gone" solution. Anybody have a suggestion?