[time-nuts] Arduino Uno and Pro Mini use ceramic resonators not crystals
Casey Jones
timenuts at caseyljones.com
Tue Feb 18 00:34:21 EST 2014
A warning to any time nut considering the Arduino Uno, Pro Mini, and
maybe the Nano, is that they use poor accuracy ceramic resonators rather
than crystals. On the Uno and maybe Nano, you can connect a wire from
the USB/serial chip, which has a crystal, to the clock input of the
ATmega328, but it is said that the reason they didn't do that on the
official boards is that the 16MHz square wave broadcast too much noise
to get FCC certification.
Something similar to the Arduino Micro can be had on Ebay for $5.30
shipped (ebay#181286407447). Like the Leonardo it dispenses with the USB
to serial chip and uses the ATmega32U4 with USB built in, for its CPU.
Because ceramic resonators aren't good enough for USB, it is forced to
use a crystal. Unfortunately the cheap one on Ebay uses a pinout
different than the official Arduino Micro. Even the official LED blink
example code doesn't work without modifying the source to change pin
numbers. It seems to use the circuit and pinout of the Spark Fun Pro
Micro board.
There is an interesting possibility with the Micro and Leonardo for
those of us that don't have computers with good fast serial ports, and
are forced to use USB to serial converters. With USB there is an
unpredictable delay of a millisecond or two waiting for permission to
transmit a PPS notification to the host computer. I think the ATmega32U4
has an interrupt upon completion of sending a USB packet to the host.
Thus perhaps the delay waiting to send could be measured and the error
reported to the host as an extra custom NMEA string or something. This
would only work if there was no slow USB hub, either built in or
external, intervening between the Arduino and the host, to add another
random couple milliseconds delay.
More information about the time-nuts
mailing list