The LED control (LEDC) peripheral is primarily designed to control the intensity of LEDs, although it can also be used to generate PWM signals for other purposes. The calculation of the duration take place later. My program receives frames: Management, Data and does not receives Control. 4. 9 posts. Each interrupt has a fixed priority, most (but not all) interrupts are connected to the interrupt matrix. So is there a way I can implement a delay… Hello community, I made a function that should be able to create a delay for a certain number of microseconds, here the code. One of the GPIO pin will be initialized and configured as. June 30, 2022. When ı create a task using xTaskCreate() function and adding some delay in the task function. If this signal is set, pad latches current values of input enable, function, output enable, and other signals which come from the RTC mux. Hardware Configuration a Potentiometer is connected to my broad and used as Analogue input. I don't know what the valid maximum value to call with is,. Board index English Forum Discussion Forum ESP-IDF; Need API support to provide micro seconds delay. Board index English Forum Discussion Forum ESP-IDF [SOLVED] My function for microseconds delay doesn't work properly. Timer callbacks are dispatched from a high-priority esp_timer task. Note that this is busy-waiting, so. This is the documentation for Espressif IoT Development Framework ( esp-idf ). Hello community, I made a. #include <rom/ets_sys. Timer has a callback function associated with it. "ESP-IDF as Component" would imply that ESP-IDF is some sort of library for Arduino, which is (IMO) misleading, because it's true the other way around. The ESP32 Wi-Fi programming model is depicted as follows: Wi-Fi Programming Model. For this, we’ll use the timer’s. I also used portTICK_RATE_MS but the speed didnt change . print output. [ −] pub struct FreeRtos; FreeRTOS-based delay provider for delays larger than 10ms. I especially appreciate your explanation of esp_delay_us(), as the underlying code is impossible to get at short of reverse engineering the ROM, which is pretty much impossible. Hello, I am trying to provide delay between the RGB colors of an led. Suggested change -- change "microseconds" to "milliseconds" because vTaskDelay is based on FreeRTOS time tic which is in multiple milliseconds. I am trying the run stepper motor with the tmc2208 driver and ı want to delay in microseconds like 5uS or 10 uS. So I measured delay between input signal (on the pin 4) and ISR processing point (pin 18) by an oscilloscope and I see the delay between an input event and output event is 4 microseconds!!!! It's unbelivieble too long!!!Get time in uS since powerup int64_t esp_timer_get_time() esp_timer_get_time() returns 64-bit time since startup, in microseconds. h> ets_delay_us(10); //Stalls execution for #uS Exact delaysThis discussion on sub-microsecond ESP timing seems well worth reading FYI. ASSER_WARN with BT SPP (IDFGH. // Initializing the variable with the time BEFORE the count. esp_timer set of APIs provides one-shot and periodic timer s, microsecond time resolution, and 64-bit range. The ESP32 SoCs contains from 2 to 4 hardware timers. It looks to be an unnecessary delay since the previous function, rmt_wait_tx_done, takes. Joined: Wed Jul 28, 2021 12:25 pm Location: Italy [SOLVED] My function for microseconds delay doesn't work properly. ↩1- It's not Arduino related. esp_timer set of APIs provides one-shot and periodic timers, microsecond time resolution, and 64-bit range. Under the hood, the esp_timer. Board index English Forum Discussion Forum ESP-IDF [SOLVED] My function for microseconds delay doesn't work properly. Post by ESP_Sprite » Sun Feb 12, 2023 2:24 pm I honestly don't quite know if the Arduino SDK has any support for this (don't know that SDK that well), but ESP-IDF does; on the ESP32, you use the I2S peripheral to DMA data from the ADC. When using a bootloader from these early ESP-IDF versions and building a new app, enable the config option CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS. After this time, the interrupt callback is executed. ) to perform the delay. in order to get a microseconds’ delay for another try. You guys have always been the source of the "straight skinny" on what's going on in the idf and the ESP32. That will be streams of those logical high signals to control an Infra-red LED. INCLUDE_vTaskDelayUntil must be defined as 1 for this function to be available. 3. Board index English Forum Discussion Forum ESP-IDF; Need API support to provide micro seconds delay. Where do you get the Delay() function from? It's not part of ESP-IDF. The ESP32 chip contains two hardware timer groups. I also used portTICK_RATE_MS but the speed didnt change . The idf. Hello community, I made a. They are all 64-bit generic timers based on 16-bit pre-scalers and 64-bit up / down counters which are capable of being auto-reloaded. So if you modify CCOUNT, this will likely affect FreeRTOS tick interval. Since I am taking differences the constant term is not important, and the 130 ns is acceptable. Return. Different from the API before IDF v4. ESP-IDF ESP-BOX ESP-ADF ESP-MDF ESP-WHO ESP-SkaiNet ESP32 Arduino IDEs for ESP-IDF ESP-AT ESP IoT Solution ESP. , Xtensa and RISC-V) available of ESP chips. Here is the github repo: Sketch file. The FreeRTOS kernel is ported to all architectures (i. Hello community, I made a. 9 posts. Re: Function for reading cycle count of CPU clock. For ESP-IDF v5. This depends on the setting of divider, that will be used as divisor of the incoming 80 MHz APB_CLK clock. HelWeb Posts: 36 Joined: Sat Mar 23, 2019 8:39 am. Timer callbacks are dispatched from a high-priority esp_timer task. Delay and timing¶ Use the time module: import time time . // This code is for testing analogRead delay // Compiled using Arduino IDE // ESP32-WROOM-DA Module // Board is ESP WROOM 32 made by // Does nothing more than fire a periodic timer // interrupt every 200 microseconds and an analogRead // inside the ISR: PinTEST is high before read, // then is low. IDEs for ESP-IDF ESP-AT ESP IoT Solution ESP RainMaker Rust ESP8266 Report Bugs Showcase; Chinese Forum 中文社区. Delay a task for a given number of ticks. Intensity-Duration-Frequency (IDF) Files: Includes the latest version of short-duration rainfall Intensity-Duration-Frequency (IDF) statistics in the form. In deep sleep mode, CPUs, most of the RAM, and all the. Joined: Wed Jul 28, 2021 12:25 pm Location: Italy [SOLVED] My function for microseconds delay doesn't work properly. Board index English Forum Discussion Forum ESP-IDF [SOLVED] My function for microseconds delay doesn't work properly. Till Now, we have used ets_delay_us FreeRTOS API to get microseconds delay but that is not recommend to use. Raising the timer interrupt’s priority can reduce the timer processing delay caused by interrupt latency. Struct esp_idf_hal :: delay :: Ets. Because all the callbacks are dispatched from the same task, it is recommended to only do the minimal. Joined: Wed Jul 28, 2021 12:25 pm Location: Italy [SOLVED] My function for microseconds delay doesn't work properly. h. To create a timer, call esp_timer_create (). 0 have been backported. Added documentation regarding delay() resolution in esp-idf component #3014. Hello community, I made a. println (sensorValue); vTaskDelay ( 1 ); // one tick delay (15ms) in. Till Now, we have used ets_delay_us FreeRTOS API to get microseconds delay but that is not recommend to use. ESP_Sprite, to me, "the company gang" is a term of respect. g. ESP-IDF ESP-BOX ESP-ADF ESP-MDF ESP-WHO ESP-SkaiNet ESP32 Arduino IDEs for ESP-IDF ESP-AT ESP IoT Solution. (Although ESP-IDF doesn't support tick rates higher than 1000Hz. And the most important things that delay() will pause the execution of other codes. 2. Hello community, I made a. Delay booting. When the operation is complete, the callback function will be called with ESP_HIDD_OPEN_EVT. When ı create a task using xTaskCreate() function and adding some delay in the task function. void Delay_us(uint32_t. h for it to reside in. In this guide, we will show you how to use FreeRTOS timers and delays using ESP32 and ESP-IDF. After successful setup the timer will automatically start. void esp_rom_delay_us (uint32_t us) Pauses execution for us microseconds. Pauses the program for the amount of time (in microseconds) specified by the parameter. Code that executes faster can also have other positive effects, e. I edited the example code and removed all I. A positive number or. The spi_flash component contains API functions related to reading, writing, erasing, memory mapping for data in the external flash. Besides, running a timer every few tens of microseconds leaves nearly no time for the system to do other things. Post by jhinkle » Sat Dec 08, 2018 5:00 pm . Reiner1210 Posts: 39 Joined: Tue Mar 20, 2018 6:28 pm. The timer can be started in one-shot mode or in periodic mode. Joined: Wed Jul 28, 2021 12:25 pm Location: Italy [SOLVED] My function for microseconds delay doesn't work properly. The PCF8574 I2C expander is shown below. There are a few tasks with priorities higher than that of esp_timer (like WiFi task), so while those tasks are running, esp_timer will not dispatch callbacks. In section "API Guide - Wi-Fi Driver" -- in sub-section "ESP32 Wi-Fi. Note that this is busy-waiting – it does not allow other tasks to run, it just burns CPU cycles. ST7789とのSPI通信プログラムを実装していて、初期化関数の中でコマンド送信後delay ()でちょっとだけ時間調整をしている部分があった。. There are a thousand microseconds in a millisecond and a million microseconds in a second. Posted by rtel on December 24, 2014. Step 1: Create a new project. esp_timer set of APIs provides one-shot and periodic timers, microsecond time resolution, and 52-bit range. This could change in future Arduino releases. because it seems to me that delayMicroseconds does not work on esp or am I wrong? is there something like this for ESP? Top. 13 posts 1; 2; Next; Ritesh Posts: 1323 Joined: Tue Sep 06, 2016 9:37 am. vTaskDelay issue bit me. How to ensure that both core tasks run properly. Optimizing execution speed is a key element of software performance. Currently, the largest value that will produce an accurate delay is 16383; larger values can produce an extremely short delay. A. Board index English Forum Discussion Forum ESP-IDF; IDF documentation suggests microsecond delay - should be millisec. Hi, it's me again with more stupid questions. The constant portTICK_PERIOD_MS can be used to calculate real time from the tick rate - with the resolution of one tick period. 0. Our ESP32 will host a web server that serves the HTML/CSS files to a web client which is a web browser. hth, gl esp_timer set of APIs provides one-shot and periodic timer s, microsecond time resolution, and 64-bit range. I am trying the run stepper motor with the tmc2208 driver and ı want to delay in microseconds like 5uS or 10 uS. FreeRTOS is an open source RTOS (real-time operating system) kernel that is integrated into ESP-IDF as a component. 0, the functionality is not limited to the “main” SPI. Saskia Posts: 40 Joined: Mon Jun 26, 2017 11:45 am. The first pulse duration can not be zero, and it has to be at least one. Setting "Extra delay in deep sleep wake stub (in us)" option under "ESP32 specific" menu in menuconfig to some value like 500 (microseconds) did not work out. I especially appreciate your explanation of esp_delay_us(), as the underlying code is impossible to get at short of reverse engineering the ROM, which is pretty much. Author: Pranav Cherukupalli <cherukupallip@gmail. I dont get any delay even if I add some different delays. I also used portTICK_RATE_MS but the speed didnt change . Need API support to provide micro seconds delay. Delay in uS. For example, if GPIOA is connected to CPU0, and the dedicated GPIO instruction is issued from CPU1, then it’s impossible to control GPIOA. Different from the API before IDF v4. Till Now, we have used ets_delay_us FreeRTOS API to get microseconds delay but that is not recommend to use. 0000041666666666667 ms per clock tick. 9 posts. TimTapMan August 2, 2022, 7:42pm 1. Also only the RTC GPIO pins (GPIO0 - GPIO5) can be used for deep sleep external wakeup. This callback function is called from the esp_timer task each time the timer elapses. h) will allow you to busy-wait for a correct number of microseconds. ESP_ERR_INVALID_STATE if the timer is not running . Code: Select all. Hello community, I made a. For 2 sensors thats ~ 128 milliseconds. Board index English Forum Discussion Forum ESP-IDF; Need API support to provide micro seconds delay. When the timer expired it would be triggered. ESP-IDF For HTTP request under ESP-IDF framework I have used example from protocols directory. System time can be kept using either one time source or two time sources simultaneously. Board index English Forum Discussion Forum ESP-IDF; Need API support to provide micro seconds delay. 1) Bug with IDF functions that internally call vTaskSuspendAll () The assert in vTaskDelay () checks to see if the uxSchedulerSuspended of the current core is set. Code: Select all. ’. Upon exit from light sleep, peripherals and CPUs resume operation, their internal state is preserved. See Sleep Modes for these sleep modes and sub sleep modes. A transaction on the SPI bus consists of five phases, any of which may be skipped: The command phase. Upon exit from Light-sleep, the digital peripherals, RAM, and CPUs resume operation and their internal states are preserved. One is to wait for a period after resetting a chip (BME280). ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. Board index English Forum Discussion Forum ESP-IDF; Need API support to provide micro seconds delay. This function would load the correct interval (delay) into the pre-configured timer. For the demonstration purpose, I will use the LCD1602, which is connected via the PCF8574 I2C expander. Numeric values in an array from a 8-bit 8kHz wave file. Post by filo_gr » Thu Sep 09, 2021 6:57 am . I am trying the run stepper motor with the tmc2208 driver and ı want to delay in microseconds like 5uS or 10 uS. vTaskDelayUntil is absolute in terms of the ticks set by scheduler and FreeRTOS Kernel. The esp products use the standard POSIX time library functions. void esp_rom_delay_us (uint32_t us) ¶ Pauses execution for us microseconds. For example, the speed of a timer in an ESP32, which is running at a clock frequency of 80MHz, will be 80MHz or 8000000MHz for a set prescaler value of 1 and will be 1MHz or 1000000Hz for a prescaler value of 80. THE TICK is a new Netflix show. 4 posts • Page 1 of 1. Hi, I'm following the sntp example to get the unix timestamp but. The ESP32, on the other hand, is built on the esp-idf. py -p [PORT] flash idf. Up to 80 microseconds it is all good and stable, but if I raise the PWM frequency,. It is located at mid-low elevations in the southern Rocky Mountain Trench to the east, on the southern portion of. The timer can be started in one-shot mode or in periodic mode. That means that it ticks at C times per second or, each clock tick is 1/C seconds. Resolution timer_u32 uses 80 MHz clock (in most. The ESP8266EX microcontroller integrates a Tensilica L106 32-bit RISC processor, which achieves extra-low power consumption and reaches a maximum clock speed of 160 MHz. Board index English Forum Discussion Forum ESP-IDF; IDF documentation suggests microsecond delay - should be millisec. The timer_u32. Dimming an LED may be done with PWM - not so with a. Till Now, we have used ets_delay_us FreeRTOS API to get microseconds delay but that is not recommend to use. Parameters. py build idf. 0. The second ISR would be connected to the Timer. The exact hardware timer implementation used depends on the target, where LAC timer is used for ESP32. In deep sleep mode, CPUs, most of the RAM, and all the. Inter-Processor Call (IPC) Interrupt Allocation. See the Backported Features for more information. It’s highly recommended to install and operate GPIO bundle in a pin-to-core task. void esp_rom_install_channel_putc (int channel, void (*putc) (char c)) ¶ esp_rom_printf can print message to different channels simultaneously. I am trying the run stepper motor with the tmc2208 driver and ı want to delay in microseconds like 5uS or 10 uS. sleep_us ( 10 ) # sleep for 10 microseconds start = time . One of the best things about Arduino is the ability to just block for a period with: delay (1000); // hang on a second, buddy. When ı create a task using xTaskCreate() function and adding some delay in the task function. @rahmanshaber The ESP32-C3 does support deep sleep with external wakeup. I made a test PWM signal on a GPIO pin (50% duty) and connected it to input pin. ESP-IDF FreeRTOS is based on the Xtensa port of FreeRTOS v8. I dont get any delay even if I add some different delays. [ −] pub struct FreeRtos; FreeRTOS-based delay provider for delays larger than 10ms. Post by filo_gr » Thu Sep 09, 2021 6:57 am . Board index English Forum Discussion Forum ESP-IDF [SOLVED] My function for microseconds delay doesn't work properly. This will take about 30 microseconds to execute: int samp = adc1_get_raw((adc1_channel_t)channel2);. ESP32 supports two major power saving modes: Light-sleep and Deep-sleep. Joined: Wed Jul 28, 2021 12:25 pm Location: Italy [SOLVED] My function for microseconds delay doesn't work properly. ESP32-delay関数(時間調整について). Optimizing execution speed is a key element of software performance. The most relevant examples that deal with logging are the. Then look at the hello world example and modify it blink an LED while still continuously printing the 'hello world' string. Do you really want to block and spin for 9ms? I do. Post by filo_gr » Thu Sep 09, 2021 6:57 am . Step 4: Connect the potentiometer to the ESP32. For example, 1us = 1 / 1000000 of a second = 1MHZ clock rate. Projects Discussion and Showcase Device Hacking. We would like to show you a description here but the site won’t allow us. I do this delay with a few NOP()s. ESP-IDF ESP-BOX ESP-ADF ESP-MDF ESP-WHO ESP-SkaiNet ESP32 Arduino IDEs for ESP-IDF ESP-AT ESP IoT Solution ESP RainMaker. however is fast to give a more precise delay. Post by filo_gr » Thu Sep 09, 2021 6:57 am . You guys have always been the source of the "straight skinny" on what's going on in the idf and the ESP32. Board index English Forum Discussion Forum ESP-IDF; Need API support to provide micro seconds delay. vTaskDelay(500 / portTICK_RATE_MS); You can use vTaskDelay () even if not using FreeRTOS tasks. Answers checklist. Read part 1. 5% of the province. Github: my esp32 disassembly. Hi everyone, I would like to measure a pulse duration of 32us (4 clock cycles at 125kHz). Problem is, I cannot start them from outside before the time is over. , reducing overall power consumption. Board index English Forum Discussion Forum ESP-IDF; Getting the uptime. I also used portTICK_RATE_MS but the speed didnt change . ducalex commented Jul 19,. e. Till Now, we have used ets_delay_us FreeRTOS API to get microseconds delay but that is not recommend to use. I want to introduce delay (lets say few "us") to the input pulse whose pulse width is 20us and of 10 Hz repetition. This is the second part of a series of ESP-IDF tutorials that I will complete as I learn stuff. Hello community, I made a. Board index English Forum Discussion Forum ESP-IDF; IDF documentation suggests microsecond delay - should be millisec. Actual resolution may be less. However, the time I receive back from the NTP server doing so is in seconds and I would like to have the time in milliseconds or microseconds precision. In esp_idf (which the arduino environment is built on, so you can use it there as well) you'd normally use either a timer peripheral to un-block a task faster than. I dont get any delay even if I add some different delays. Therefor, I read a lot, especally about xSemaphoreGiveFromISR which seems to be the most efficiant way to deal with this problem. We will demonstrate GPIO Interrupts through an example that uses a push button and an LED. I would definitely advise you to switch from Arduino to the esp-idf framework. com> */ # define uS_TO_S_FACTOR 1000000 /* Conversion factor for micro seconds to seconds */ # define TIME_TO_SLEEP 21600 /* Time ESP32 will go to sleep (in seconds) */ RTC_DATA_ATTR int bootCount = 0; /* Method to print the reason by which ESP32 has been awaken from. In the Extension, select ESP-IDF option: We will click the ‘ sntp ’ under the Protocols tab. Post by filo_gr » Thu Sep 09, 2021 6:57 am . Code that executes faster can also have other positive effects, e. v5. Now click ‘ Create project using template esp_timer . void esp_rom_install_channel_putc (int. delay () will stop every other code from execution. So, Normal communication with that module using ESP32 is UART but. 0, thus deferring time_t overflow for another 292 billion years. Espressif ESP32 High Resolution Timer. Post by filo_gr » Thu Sep 09, 2021 6:57 am . 5 posts • Page 1 of 1. With a. It's. Joined: Wed Aug 29, 2018 3:17 pm. The ROM function ets_delay_us() (defined in rom/ets_sys. #include "esp_task_wdt. ESP_OK on success. I dont get any delay even if I add some different delays. The spi_flash component contains API functions related to reading, writing, erasing, memory mapping for data in the external flash. One of the best things about Arduino is the ability to just block for a period with: delay (1000); // hang on a second, buddy. The timer_u32() is an alternative for the esp_timer_get_time() function as described in Epressif Documentation. The Wi-Fi driver can be considered a black box that knows nothing about high-layer code, such as the TCP/IP stack, application task, and event task. 0. There are two units available on-board of ESP32 and enumerated in mcpwm_unit_t. Sets how quickly the timer counter is “ticking”. It should be much faster. ESP-IDF ESP-BOX ESP-ADF ESP-MDF ESP-WHO ESP-SkaiNet ESP32 Arduino IDEs for ESP-IDF ESP-AT ESP IoT Solution ESP. Internally, esp_timer uses a 64-bit hardware timer. Because there are more interrupt sources than interrupts, sometimes it makes sense to share an interrupt in multiple drivers. ESP-IDF ESP-BOX ESP-ADF ESP-MDF ESP-WHO ESP-SkaiNet ESP32 Arduino IDEs for ESP-IDF ESP-AT ESP IoT Solution ESP. July 6, 2022. For the ESP-IDF board, we have chosen the custom board option. Use one of the following methods instead:. For example, some device drivers require a delay implementation, and might use it to sleep anywhere from a few dozen microseconds to a few hundred milliseconds. The spi_flash component contains API functions related to reading, writing, erasing, memory mapping for data in the external flash. The following line always rounds down, resulting in a much shorter delay: The delay has to be configurable to sub microsecond resolution. When ı create a task using xTaskCreate() function and adding some delay in the task function. Parameters. If the Modem-sleep mode is enabled, station will switch between active and sleep state periodically. In section "API Guide - Wi-Fi Driver" -- in sub-section "ESP32 Wi-Fi. period: timer period, in microseconds . time. 9 posts. As you can see above PCF8574 has 4 input pins GND, VCC, SDA, SCL and 16. The two output signals are typically used to command the motor to. Post by jhinkle » Sat Dec 08, 2018 5:00 pm . tv_sec is of type time_t, meaning it is seconds since epoch (Jan 1, 1970). Hello community, I made a. Board index English Forum Discussion Forum ESP-IDF; get current time in millis() 4 posts • Page 1 of 1. delayMicroseconds () is a cycle-counting loop, so it doesn't include any time taken by background functions like interrupts. To start the timer in one-shot mode, call esp_timer_start_once (), passing. Joined: Wed Jul 28, 2021 12:25 pm Location: Italy [SOLVED] My function for microseconds delay doesn't work properly. 3. Internally, esp_timer uses a 64-bit hardware timer. I dont get any delay even if I add some different delays. If you don't want to use vTaskDelay maybe you could make the priority of the IDLE and the MAIN task equal. In the Extension, select ESP-IDF option: We will click the ‘ esp_timer ’ under the System tab. Correct, the default esp-idf settings. I am trying the run stepper motor with the tmc2208 driver and ı want to delay in microseconds like 5uS or 10 uS. 0-rc1 as on. In ESP-IDF you will use esp_timer_get_time() function. Register access macros. I am trying the run stepper motor with the tmc2208 driver and ı want to delay in microseconds like 5uS or 10 uS. 1 post • Page 1 of 1. Actually, we have connected one module over UART with ESP32 chip in our product. source ·. That is how other arduino boards work and a lot of code and libraries expect delay to work as per the documentation. Additionally, there are some power-down options that can be configured to further reduce the power consumption. The parameter in vTaskDelayUntil is the absolute time in ticks at which you want to be woken calculated as an increment from the time you were last woken. period: timer period, in microseconds . Set the interrupt trigger type of the CPU to edge. This function is used to configure the timer. As we saw by the coding. Description: micros() returns strange values when using arduino-esp32 as component of esp-idf, millis() returns values higher when using arduino-esp32 as component of esp-idf, then values using simply from Arduino IDEOverview. h> // Sets the name of the audio device btAudio audio = btAudio ( "ESP_Speaker" ); The string that you supply to the btAudio object becomes the name of the ESP32 Bluetooth connection. Board index English Forum Discussion Forum ESP-IDF [SOLVED] My function for microseconds delay doesn't work properly. void esp_rom_install_channel_putc (int channel, void (* putc) (char c)) esp_rom_printf can print message to different channels simultaneously. 1. Tested making a call and saving values. where "state" is a global variable. 1. 9 posts. I read somewhere about 100 ticks per second but the whole esp-idf document is over 1600 pages long. To create a timer, call esp_timer_create (). I dont get any delay even if I add some different delays. See the configuration section for more information. I encountered the following problem when using it: if I use a value such as delay_us(20), it doesn't work! Driving a pin (from high to low and vice. I don't want to use the vTaskDelay () since it effects also other part of my code. Post by filo_gr » Thu Sep 09, 2021 6:57 am . Re:. Joined: Wed Jul 28, 2021 12:25 pm Location: Italy [SOLVED] My function for microseconds delay doesn't work properly. If ESP Timers prove problematic, then I like your assembler-delay idea. vTaskDelay issue bit me.