Quartz crystal headache

I have bough many other and dozen of 16MHz quartz crystals (HC-49U). Many of them served well for years, but particular one I used in my own 3.3V arduino clone fail suddenly.

The board is used for battery powered GPS navigation prototype device and suddenly after two years (used 4-8 hours once in a week) started to behave weird: sometimes wont start to work, sometime apparently stop to work. I have lost a lot of time checking battery capacitance, voltage regulator, wire connections, shorts...

Nothing helped until I started to replace one by one components on board and the guilty one is found - 16MHz quartz crystal.

Indeed weird, it suppose to work for years and have precision 1-5 ppm.

Failing could be on:

  • Physical damage.
  • Corrosion
  • Extensive heat
  • Large voltage swings, or applying large voltage
  • Radiation
  • ...

However, non of extreme conditions happens.

I wonder how it is possible that such quality quartz crystal fail after only two years working in perfect condition?

Hard to say.... most mechanical things (or electro-mechanical, biological etc) can fail, or have a chance of failing. Sometimes, tracking down the faulty part(s) can be time-consuming. The nice thing is.. the experience will help to pinpoint the fault more quickly next time if a similar issue arise, by first testing the oscillator output (to see if we're getting oscillations).

The ATMega328 is not rated to function at 16 MHz when running on 3.3V.

http://forum.arduino.cc/index.php?topic=213105.0

You may also have failed to use the correct capacitors for the particular crystal you have chosen. That does matter!

Switch to 8 MHz and you are very unlikely have problems. You will have to load a new bootloader.

It's very unlikely here, but putting too much current through a crystal can shorten it's lifetime..

Allan

I had a crystal some time ago that started to do strange things - sometimes frequency was right others, way off. Turned out it was cracked and being held together by the metalization on both sides. Sometimes it would operate at the designed frequency, others at the frequency of one of the "chunks" - like you, took a while to find it.

For a mobile project, I like to use AVR chip with running at 8 MHz internal oscillator. There are no need any quartz crystal, capacitors. The power supply by two AA batteries. But wonder what happen if an UNO board is set to run 8 MHz but the external oscillator is still 16MHz. Is it running as normal?

There have been plenty of times where I made a new board with 16 MHz crystal, forgot to burn the fuses, and downloaded my code with a Programmer - and then had the board run reeeeeeaaally slow as it ran from settings of 8 MHz internal oscillator divided by 8.

But - if you go the other way, take an Uno's processors and then run it without the crystal and don't change the fuses - the chip will not run. You need a crystal connected for a programmer to change the fuses to run without the crystal.

gpsmikey:
I had a crystal some time ago that started to do strange things - sometimes frequency was right others, way off. Turned out it was cracked and being held together by the metalization on both sides. Sometimes it would operate at the designed frequency, others at the frequency of one of the "chunks" - like you, took a while to find it.

I will cut it off and examine physically, I cannot see any crack. Btw, when I plug it in back, LEDs on power on blinks , but very slow, it seems to me 1Hz. Before I cut it off, I will provide couple of test actually to determinate what freq is exactly now or is it drifts widely due work.

I have made two identical testing boards with double headers (often use 2 SPI devices), both with 16MHz, not soldered, in order to test with different freq (PAL project etc) - headers are pro ("gold-plated") to avoid any corrosion issue, and 2x 22pF caps. So that was the first part simply pulled up and replaced with a new one. That was enough for device to start to work correctly. All covered in plastic case (not hermetically). This board where failed is used once in the week, the second one daily and it never fail.

When iron solder (soldering station) as well homemade PCBs, temp is ~185C (60-40, 0.5cm tinol wire), 1-2s per join. I starting with headers, resistors, capacitors and other ICs. The 328p is in DIP package. Noting to worry about, after 6 years of experience with PCB homemade process. Capacitors are all extra low ESR and bypass polyester type or similar, not ceramic (except 22pF)

There is nothing special with device, when acquiring satellites, it start with max 100mA and ~75mA until fix, after which all require ~50mA.

As I wrote in one of my prev. topic about using 8MHz for 2560, the datasheet of 328p is unclear about oscillator freq with 3.3V. The graph is not precise enough to extrapolate required freq. On other hand, that info for 2560 is clear. After many tests (SPI, UART), all shows that 16Mhz with 328p is safe to be used with 3.3V, at least these I need. That cut out many parasitic ICs necessary with 5V, as level shifters in order to extends battery life. Device with all power on (including constant logging on SD card) may run continuously 40 hours with 3AA fully charged 2500mAh NiMH batteries.

All in all, there is nothing I can point is a reason for failing, more because it is used once in a week only.

As I wrote in one of my prev. topic about using 8MHz for 2560, the datasheet of 328p is unclear about oscillator freq with 3.3V. The graph is not precise enough to extrapolate required freq.

The speed grades graph is very precise. 3.78V is minimum needed to run at 16 MHz. That's just straight linear interpolation from one axis to the other.

To run the 2560 at 3.3V, you need a 2560V

6/10 of (4.5 - 2.7)V + 2.7V = 3.78V

all shows that 16Mhz with 328p is safe to be used with 3.3V, at least these I need.

No, it is not safe, as you have clearly demonstrated.

DO NOT confuse the beginners on this forum with misinformation.

Of course you can violate manufacturer's specifications, and sometimes you will get away with it, for a while.

jremington:
No, it is not safe, as you have clearly demonstrated.

DO NOT confuse the beginners on this forum with misinformation.

Of course you can violate manufacturer's specifications, and sometimes you will get away with it, for a while.

Please read these two messages carefully! And do not impose me what I can and cannot do. Stop with insinuations as well.

I highly doubt some beginner read this, it will rather open his own topic...

Make as well note that similar is made by Adafruit and Ladyada years ago, as well as probably other:

http://www.ladyada.net/library/arduino/3v3_arduino.html

Why do not make them similar letter not to confuse their customers too?

How you explain that other board with another 16MHz works perfectly fine DAILY with no failure of any kind. Did you read that info at all?

I would officially ask ATMEL support about. Whatever I look at it, in this chart is informatively set boundaries for safely range, there is nowhere graph explicitly for 3.3V (read datasheet for 2560, there there is).

Whatever you all think, you cannot extrapolate safe voltage for 16MHz from that chart! Ask ATMEL about to be certain.

Or get variable power supply, oscilloscope and running MCU (SPI, I2C, UART...) and test what is minimum voltage needed to run project safely for 328p and 16MHz.

I would officially ask ATMEL support about.

Please do, and post the response for us to see.

We have seen posts where Serial at a minimum was flaky when running 16Mhz at 3.3V. Bumping the voltage up solved the problem.
Unless one tests all functionality of the chip, there is no way to know what works fully and what does not.
The chart says right on it that the frequency and the voltage are linear from 2.7V/10MHz up to 4.5V/20MHz.
You can ask Atmel tech support, see what they say. The chart says to me that something was found to be not fully compliant. They have provided answers in the past, such as the 200mA clarification (200mA per VCC/Gnd pin, not 200mA total).

CrossRoads:
We have seen posts where Serial at a minimum was flaky when running 16Mhz at 3.3V. Bumping the voltage up solved the problem.

Please post the link.

I work all the time with max 115200 baud and works perfectly fine with both boards. Only problem may make some terminals if turned on/off some feature, optimization...

Because of that, I have my own serial terminal application wrote and running all the time is needed.

arduino_314:
Failing could be on:

  • Physical damage.
  • Corrosion
  • Extensive heat
  • Large voltage swings, or applying large voltage
  • Radiation
  • ...

Could also be noise.
A low loop gain makes them susceptible to this.

Could be a slight change in environmental noise.

That's a question for ATMEL though.
Could also be the crystal ageing out of tolerence.

Please post the link.

I will not - the search tool is not good enough to find a specific post or two or three over 6+ years of posts.

arduino_314:
Make as well note that similar is made by Adafruit and Ladyada years ago, as well as probably other:

3.3V Conversion | Arduino Tips, Tricks, and Techniques | Adafruit Learning System

In the above link, note their sentence, with the word 'probably' in italics. The italics were introduced by themselves.

"This is a little lower than the power/frequency specification for the AVR chips since they ought to have about 3.6V to run 16Mhz but its probably not going to be an issue since AVRs can be overclocked a little."

CrossRoads:
I will not - the search tool is not good enough to find a specific post or two or three over 6+ years of posts.

Thank you. Then that I can consider just as an isolated incident with unknown reason.

I have documented all experience I had and got a lot of speculations and insinuations, especially regarding using 16MHz.

An electrical engineer need to know that without certain math and/or physic model and A LOT of precise measuring and testings, chart is just informative/aprox. representation.

Further discussion of any kind is pointless.

Please make this topic read only.

Then that I can consider just as an isolated incident with unknown reason.

Bullshit - the problem was definitely ended with an increase in power supply voltage. Just because I can't find the several instances of if doesn't mean it didn't occur and was solved.

Atmel publishes the chart as part of the datasheet. This engineer takes it at face value unless told otherwise, just like any other data in the datasheet.

Read only now ...