chrispitzer
chrispitzer

Reputation: 1069

ESP32, enabling external 32kHz crystal

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...

quartz crystal schematic

Upvotes: 2

Views: 1559

Answers (1)

David Albert
David Albert

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

Related Questions