resonator vs crystal

PapaG:
The ad I saw online lists them as Gheo Electronics Arduino Unos.

According to the e-mail I got from Arduino, GHEO Electronics is authorized and so is Microcenter.

afremont:

PapaG:
The ad I saw online lists them as Gheo Electronics Arduino Unos.

According to the e-mail I got from Arduino, GHEO Electronics is authorized and so is Microcenter.

Good sleuthing! Good price too.

afremont:

PapaG:
The ad I saw online lists them as Gheo Electronics Arduino Unos.

According to the e-mail I got from Arduino, GHEO Electronics is authorized and so is Microcenter.

Well then congratulations for finding and sharing a very fine deal on a Uno R3 for $15, that is an amazing price. You have to understand our prior skepticism as the web is saturated with Uno clones masquerading as the real deal.

Lefty

Believe me, I was skeptical myself. I collect old watches and clocks and I've seen every form of trickery under the sun when it comes to cloning something. That's why I didn't buy from the bay. I've got fake swiss watch tools that came in the correct packaging and look identical to the real thing. The illusion falls apart as soon as you start twisting the threaded screws though. Nobody cuts perfect threads like the swiss.

I'm still shocked at the quality and accuracy of the resonator on the board. I'm going to pick up another board this weekend and measure the resonator to see if it was just a fluke.

OK you were right and I was wrong. Well done. :slight_smile:

I'm still shocked at the quality and accuracy of the resonator on the board. I'm going to pick up another board this weekend and measure the resonator to see if it was just a fluke.

As lefty indicated, tolerance ratings are no doubt statistical in nature, and individual parts
will lie along a Gaussian distribution, so many will be close to the center, but don't bet
on "always" getting good timing accuracy.

If you get a bad part, and figure out the error at 0.5%, it's really quite significant, if you
want good timing in your sketches. 0.5% is 432 seconds per day, and that comes out to
300 msec per "minute". I don't find that encouraging.

Right, I wouldn't expect to get a board that was actually .5% off at room temp. I'd consider that defective. I just didn't expect two orders of magnitude better performance than the spec demanded either. I'm surprised the manufacturer isn't really blowing their horn on that kind of performance.

Thanks GrumpyMike, you guys had me concerned there, for a minute anyway. :wink:

The point is, it's all statistics. With crystals, you know the tolerance range is narrow,
so the timing will certainly be good. With the ceramic resonators, it's pot-luck.

Also if you look at the ATmega datasheets, at the tables of RS232 baudrate vs crystal
frequencies, you'll see there already tend to be largish errors with many combinations,
so possible resonator timing errors will just add to that.

Also, since the newer R3 boards have ATmega chips to do USB, and then do RS232 to
the main processor, there may be a compounding of the baudrate error, although
I don't know the specific analysis here. I suppose someone actually double checked
this somewheres along the way.

oric_dan:
Also, since the newer R3 boards have ATmega chips to do USB, and then do RS232 to
the main processor

Don't forget the R2 boards - that's when the 8U2 was introduced into the Arduino chain - certainly for the UNO.

majenko:

oric_dan:
Also, since the newer R3 boards have ATmega chips to do USB, and then do RS232 to
the main processor

Don't forget the R2 boards - that's when the 8U2 was introduced into the Arduino chain - certainly for the UNO.

Actually the original Uno (I don't think they called it a R1) was introduced with the 8U2 chip and was the first board offered by the arduino folks to use the USB serial converter chip rather then the FTDI USB serial chip that prior USB connected boards used.

Lefty

ok, so going back to my original question...

If I was measuring time over say an hour, there would be a noticeable difference in accuracy. If however, it was used in an application like music, where the time periods in the low seconds, I can't see how there would be any difference in timing accuracy.

From one second to the next the drift would be so minimal as to be effectively non existent. Everyone agree?

If you're doing timing, it could be off by as much as 1 sec over 3 minutes, but for
music, 0.5% variation probably isn't going to be noticeable, I should think. You might
try writing a tone generator set to 1000 and 1005 hz, and see if the difference is
a problem.

I guess the question I should myself:
What is .5% of a 16th note, and could it actually vary .5% from one 16th note to the next 16th note?

What's a 16th note? You working in some strange scale?

Here's all the percentages of each note up/down from a base note (A440 in this case): Pitch Percentages For Semitones And Notes · mixxxdj/mixxx Wiki · GitHub

The closest difference is around a 3%.

It's unlikely to change 0.5% between successive notes in a song, may change
over minutes if the temperature changes. But you can "just do it", and test
it yourself in a few minutes.

16th are time divisions, not pitch.

While you say to "just do it", measuring timing accuracy isn't that straightforward.. How would you do it?

I meant if you're wanting to play music, just play it and see how it sounds. I
doubt the resonator timing will be an issue.

I wanted to follow up on this. I got myself another UNO board and the resonator on it is off by approx 350hZ. This isn't allot, but it's a far cry from my first board that is only about 50hZ off. The serial numbers of the boards are pretty close, so I guess it was just a fluke that my first board had such an accurate resonator on it. Resonator jitter doesn't seem to be an issue, but temperature variations are allot greater than with a crystal. I'd still like to see a user mod option to route the USB crystal signal over to the mega chip by cutting a trace and installing a solder blob short.

Your frequency measurement might also depend upon which oscillator pin you are
probing. You will want to measure at the low-impedance output node of the oscillator,
and not the high-impedance input node, since your test device may load that pin.

I am measuring it by running Timer1 as a 16 bit counter that ticks every .5uS. I use a Dallas RTC to generate a 1Hz square wave output that I measure with the Arduino by counting how many timer ticks occur between interrupts from the square wave generator. I'm using the capture facility to snapshot the timer so that any ISR handling delays or oscillator loading don't figure into it.