Seperti yang orang lain katakan, frekuensi dan stabilitas frekuensi yang akurat adalah alasan untuk menggunakan resonator keramik atau kristal eksternal. Resonator beberapa kali lebih akurat daripada osilator RC internal dan cukup baik untuk komunikasi UART. Kristal jauh lebih akurat, dan perlu jika Anda melakukan beberapa jenis komunikasi lain seperti CAN, USB, atau ethernet.
Alasan lain untuk kristal eksternal adalah pilihan frekuensi. Kristal datang dalam berbagai frekuensi sedangkan osilator internal biasanya satu frekuensi dengan kemungkinan pilihan 4x PLL diaktifkan. Beberapa PIC inti 24 bit yang lebih baru memiliki pengganda dan pembagi dalam rantai jam sehingga Anda dapat menekan berbagai pilihan frekuensi dari frekuensi osilator internal tunggal.
Tentu saja ada berbagai aplikasi yang secara inheren membutuhkan frekuensi atau waktu yang akurat selain komunikasi. Waktu adalah properti dalam elektronik yang dapat kita ukur paling akurat dengan harga murah, jadi terkadang masalahnya diubah menjadi salah satu pengukuran waktu atau menghasilkan pulsa dengan waktu yang akurat.
Lalu ada aplikasi yang membutuhkan sinkronisasi jangka panjang dengan blok lain. Osilator 1% akan dimatikan lebih dari 14 menit per hari jika digunakan sebagai dasar untuk jam waktu nyata. Waktu jangka panjang yang akurat juga mungkin diperlukan tanpa harus tahu waktu sebenarnya. Misalnya, Anda ingin sekelompok perangkat berdaya rendah untuk bangun sekali setiap jam untuk bertukar data selama beberapa detik dan kemudian kembali tidur. Kristal 50ppm (sangat mudah didapat) akan dimatikan tidak lebih dari 180ms dalam satu jam. Osilator RC 1% bisa dimatikan dalam 36 detik. Itu akan menambah tepat waktu dan karenanya kebutuhan daya ke perangkat yang hanya perlu berkomunikasi selama beberapa detik setiap jam.