Debugging:
Prior to going down the road of building a replacement oscillator, I first tested thatthe oscillator was the only thing broken by generating my own square wave at the 374.214 kHz frequency (using my AnalogDiscovery 2) and injecting it into the board in place of the oscillator (pictured in gallery). The board and motor worked as designed with this frequency, so that confirmed that the oscillator was the only damaged component.
Why is a custom frequency needed?
One question that came up initially is why the special frequency for the oscillator? The reason becomes clear if you work your way backwards. The stepper driver operates the motor in 1-2 phase excitation as shown below:

This effectively steps one tooth per 8 clock cycles (but in a manner that reduces vibration, which is good for its application).
The stepper motor is rated for 24 teeth per revolution, and has a 500:1 gearbox attached, plus another 20:1 factor for the worm gear drive, for a total gearbox factor of 10,000:1.
In normal tracking mode, the full 14 bit counter divider is in play, so the input frequency is first divided by 2^14 before generating the clock for the stepper driver. Putting all of these together, we can compute the final output rotation rate:
This gives a rotation of 15.41714 degrees per hour which is fairly close to the sidereel rotation of 15.04 degrees per hour. There may be some other factors that I'm not aware of, but at least at first glance, the reason for the odd frequency is they backed out what single clock part they needed to get the frequency stability and approximate tracking needed.
Searching for Replacement Options:
I spent a fair amount of time looking into replacement oscillators, but as expected, the minimum order size for any replacement crystal oscillators was typically 1000 or 2500 - far more than I wanted for a one-off replacement. I found a handful of custom MEMS oscillator options, but I ran into two main issues:
- They didn't tolerate a 5V supply
- They were too small to just solder in place with bodge wire
I eventually found a MEMS oscillator that had a low minimum order quantity, a factory programmable frequency for the range that I needed, and a ppm value at least as good as the crystal oscillator had (it was +- 100ppm, this is +-50ppm).
The chip was far to small to bodge in place for a repair, however, so to use it, I ended up designing a custom PCB.
Custom Oscillator Board Design
The custom board needed to meet a few different functions.
- It needed to provide a footprint that matched the DIP-8-4 footprint of the original chip.
- It needed to take the 5V supply and drop it down to 3.3V for the MEMS oscillator.
- It needed to take the 3.3V clock output and level-convert it back up to 5V CMOS levels for the output
These functions were performed by including on the PCB an LDO to generate the 3.3V rail, and a level converter chip for the output. Other than some additional bypass capacitors to meet minimum capacitance for the LDO stability, and to add bypass to the other chips, that's all there is to the PCB design.
Project Result
After soldering up the board and testing it, I installed the board into the remote board in place of the broken crystal oscillator. Testing confirmed the Takahashi Sky Patrol II was restored to its original functionality.