I haven't written about this in a while, so I should provide an update....
The FAA ordered 30 upgrade kits for the rest of the timers, and 20 additional timers to be delivered with the upgrade board. That's a total of 50 upgrade boards. This was actually very good news, as it shows they have faith that the approval blockade will eventually be removed.
I got a quote from Elecrow for turn-key assembly, meaning they fabricate the boards, procure the components and assemble the boards. The price quoted was very reasonable and not much above what I'd pay for parts. Having them do the assembly was a no-brainer, considering the difficulty in working with the fine-pitch MSOP and 8 lead SOT23 packages.
I learned from the last assembly project - specify every detail, even what you believe to be obvious. I made a map showing the locations of every part, the orientation of the chips and connectors, backed up with detailed pictures. Parts list triple checked. It was time to commit the order.
A couple weeks later, I received my boards. I connected one of them to a TAP-28 board with a test program that cycled through the volume steps with a constant-frequency tone. And I was rewarded with a random series of beeps at various frequencies and varying loudness separated by unexpected periods of silence. I ran the test again. Similar random (and different) results. I tried another board with similar results.
I got out a loop and looked at one of the boards. Everything looked well soldered. Then I noticed something. The resistors on the new board had different markings than on the boards I had assembled. For example, my I2C pull-up resistors were marked 472 and theirs were 4701. All the resistors were different in the same Way!
Then I thought about it. Surface mount resistors are marked with the numbers of the value, and the last digit is the number of zeros to add.
My resistor was 47 plus 2 zeros = 4700.
Their resistor was 470 plus 1 zero = 4700.
To troubleshoot, I ran through the test sequence 10 times, recording it on my phone, and plotting the wave file results on one page. This made a couple things clear. The first was that the results were indeed random every time the test was run and second, that there was a general trend of increasing volume during each run.
I was beginning to see something. With the random series of beeps and silence it was hard to pick out any pattern, but the graph showed the I2C-controlled digipot appeared to be doing its function. The I2C clock chip seemed not to be working properly. I repeated the tests while looking at the frequency of the sound with an FFT program on my phone. Instead of a constant frequency, it was shifting. A light popped on....the random periods of silence were caused when the tone was outside the range of hearing - the clock chip is capable of generating a 68MHz output. The clock chip was randomly responding to I2C data meant for the digipot! Cutting the I2C data trace to the clock chip resulted in the expected progression of volume steps at its default frequency of 1kHz.
Removing the clock chip and replacing it with one from a reliable source (Arrow) resulted in perfect operation. The Linear Technology chips my assembler had obtained with counterfeit.