I had problems with
DS1307 based real time clocks, the culprit seems to be the solder we used. Let me explain.
We were using an Adafruit DS1307 based RTC I2C module on a stock Raspberry Pi. The clocks were built – and found to be communicating ok (eg. I2C was good), but not "ticking", eg. the second was not advancing. Building them on a breadboard (not soldering) led to working clocks, so the module itself was out of the question.
Also the electrical connection between crystal and IC, as tested by a simple multimeter, passed on all units.
Further investigation and narrowing things down with my trusted bus pirate (a god sent device for us without heavy testing equipment!) lead me to re-solder the connections with my own (ie. what I use at home) solder – and voilà, they worked. Further narrowing down showed that I actually only had to clean and re-solder the connections of the crystal quartz, not even the IC side had to be re soldered.
Does anyone know or have an idea or explanation why
S-Pb60Sn40 does not,
S-Sn60Pb36Cu1 does work in connecting the crystal quartz to the PCB well, eg. in a way that the
DS1307 starts ticking?
The large difference between the solder used seems to be in approximately swapped proportions of lead and tin used, but maybe the 1% copper does it's job somehow?
My further guess would be this has something to do with the choice of solder somehow damping the oscillator, but the "how" of it still leaves me baffled.
For the statistics: We have soldered 87 units with the "bad" solder, none of them working (eg. "ticking"). I have manually re-soldered 53 of them now, all working. For 48 of those I only de-, the re-soldered the crystal oscillator connections.
Edit 1 – Cleaning the solder pads
As proposed by some of you, I manually cleaned a number of PCBs with 70% isopropyl alcohol and/or pure water – no avail, the clocks still did not "tick" away. Only de-, then re-soldering the two crystal connectors makes them start ticking.
Edit 2 – The type of solder I used
The solder that did not work is this product from Stannol, the one that does work is this product from Felder Löttechnik GmbH (pdf in german, sorry, they don't seem to have an english version online).
Edit 3 – The flux that is in the solder (aka. getting closer…)
The non-working Stannol solder uses flux of type 2.1.2.A – that is, according to wikipedia an organic, water-soluble liquid (?? this seems to be wrong!) flux with halides. The working solder from Felder uses flux of type 1.1.2.B, that is resin, rosin based solid flux with halides.
\$\Longrightarrow\$ The culprit could either be the unknown "organic, water soluble" flux from Stannol or the different solder formula with added copper from Felder.
Your problem is almost certainly not a direct issue with the solder itself but with the flux in the solder. Many fluxes leave a conductive film on the board which must be removed for circuits such as yours.
Note that RTC chips try to be extremely low power so as to preserve the battery as much as possible. As such, the biasing of the 32.768KHz crystal for the oscillator is designed to be rather low current (i.e. high impedance circuit). The flux conductivity can sometimes be low enough to completely swamp out and literally short out the oscillator preventing it from working.