Search found 15 matches

by fededim
Wed May 13, 2020 7:07 pm
Forum: ESP-ADF
Topic: Esp32 ULP/RTC time drift
Replies: 3
Views: 7286

Re: Esp32 ULP/RTC time drift

Final post: I did some tests with an external 32Khz crystal and the clock behaves much better. In 6 hours time the drift is only 160ms compared to a computer, probably it can be further tuned by adjusting the capacitors (unluckily no datasheet came with my crystal so I had to try with a predefined c...
by fededim
Wed May 06, 2020 1:31 pm
Forum: Hardware
Topic: RTC with 32.768 kHz crystal
Replies: 14
Views: 31293

Re: RTC with 32.768 kHz crystal

For those interested in the ESP-WROVER-KIT-V3 schematics ( https://dl.espressif.com/dl/schematics/ESP-WROVER-KIT_SCH-3.pdf , on the right of the picture search for C12) - made by the same EspressIf - there are two capacitors of 12pf and R4 isn't even present. I'll try with these values, even though ...
by fededim
Mon May 04, 2020 7:53 am
Forum: ESP32 Arduino
Topic: Change RTC clock source
Replies: 0
Views: 2480

Change RTC clock source

Hi,

a question: is it possible under Arduino to change RTC clock source ? On ESP-IDF there seems to be the function select_rtc_slow_clk but I can't find any equivalent on Arduino.
by fededim
Mon May 04, 2020 7:39 am
Forum: Hardware
Topic: RTC with 32.768 kHz crystal
Replies: 14
Views: 31293

Re: RTC with 32.768 kHz crystal

Hi, I am connecting to this thread...I would like to add a 32.768 Khz crystal in order to have less RTC clock drift during deep sleep (I have measured almost 35 seconds in 2 hours time with standard internal RC 150 Khz source!). The hardware design guidelines at page 11 show the typical circuit belo...
by fededim
Sun May 03, 2020 2:55 pm
Forum: ESP-ADF
Topic: Esp32 ULP/RTC time drift
Replies: 3
Views: 7286

Re: Esp32 ULP/RTC time drift

Thanks for the observation I did not notice it. It seems that the execution time of my code containing some I2C reads/write takes up 15ms on each schedule and this summing up in the long run makes my ULP schedule drift. The problem is that the number of samples where the drift occurs is not fixed. I...
by fededim
Sat May 02, 2020 6:40 pm
Forum: ESP-ADF
Topic: Esp32 ULP/RTC time drift
Replies: 3
Views: 7286

Esp32 ULP/RTC time drift

Hi, I have written a simple ULP program which takes BME280 I2C data and the sample time by querying the RTC registers and saves it into a buffer in RTC memory. After having collected 180 samples, it wakes up the ESP32 in order to copy these samples from RTC memory to SPIFFS. While copying the data I...
by fededim
Thu Apr 23, 2020 2:46 pm
Forum: Report Bugs
Topic: RTC_I2C SDA sampling
Replies: 5
Views: 12174

Re: RTC_I2C SDA sampling

ESP_Sprite wrote:
Fri Feb 09, 2018 3:41 am
WiFive unfortunately is correct: the I2C hardware in the ULP samples at the wrong edge. Either using a delay element or software I2C is a possible solution.
I do have the same problem with BME280, it reads bad values. What do you mean by using a delay element ?
by fededim
Mon Apr 20, 2020 7:18 pm
Forum: ESP-ADF
Topic: ULP Timestamp and support for structs
Replies: 10
Views: 16101

Re: ULP Timestamp and support for structs

Solved also this, the assembly code was fine, the problem was in the printf for 64 bit types you have to use %lld

printf("ULP RTC %lld C++ RTC %lld Diff %lld\n", ulprtc,cpprtc,cpprtc-ulprtc);

Also the difference which was always reported as zero is now printed. Ok now I concentrate on I2C part.
by fededim
Sun Apr 19, 2020 7:42 pm
Forum: ESP-ADF
Topic: ULP Timestamp and support for structs
Replies: 10
Views: 16101

Re: ULP Timestamp and support for structs

Another question on my ulp code (the sleep time is 5 seconds). It should read RTC ticks and save them into sdata[0], sdata[1], sdata[2], but unluckily it doesn't since it always prints a strange value which is always the same (there is also an I2C read for BME280, but I skipped it since it does not ...
by fededim
Sun Apr 19, 2020 2:34 pm
Forum: ESP-ADF
Topic: ULP Timestamp and support for structs
Replies: 10
Views: 16101

Re: ULP Timestamp and support for structs

Thanks, I managed to solve the problem. You have to call esp_sleep_enable_ulp_wakeup() every time (I believed that you could call it only once) before calling esp_deep_sleep_start().