Reputation: 1069
I'm having the damnedest time finding reliable docs on using an external quartz 32khz crystal with my esp32 project. I'm using ESP-IDF.
My external 32khz crystal is hooked up to IO32 and IO33 (those should be the right pins).
I'm currently using ESP-IDF 4.4.3.
I've gone in through menuconfig
and turned on everything I can think to turn on. Here are the changes I made...
======== The settings changes I made in menuconfig ========
The `>` notation shows how I navigated the menus.
> Component Config
> ESP32-specific
> RTC clock source
* set to `External 32kHz crystal`
> Component Config
> ESP32-specific
> Additional current for external 32kHz crystal
* left at `none`
> Component Config
> Bluetooth
* Enable Bluetooth
> Component Config
> Bluetooth
> Bluetooth controller
> MODEM SLEEP Options
> Bluetooth low power clock
* set to `External 32kHz crystal`
> Component Config
> Bluetooth
> Bluetooth Host
* select `nimBLE - BLE only`
And still I'm getting no oscillation signal when I look at the crystal with an oscilloscope.
Is there anything I need to do in C++ to enable my external 32khz crystal? To initialize it? To set the pins up correctly to use the crystal? The docs only talk about settings changes in menuconfig, I don't see any code I'm supposed to employ.
Do you see anything I'm missing?
==============
In response to hcheung
below, here's a schematic of our quartz setup...
Upvotes: 2
Views: 1559
Reputation: 31
I found that older ESP32-WROOM-32 modules (with r1 processors) work without a parallel load resistor, but for newer modules (with r3 processor) the XO won't start without 2-10M of parallel resistance.
Upvotes: 0