#include "esp_timer.h"
In your app’s main loop()
		//----- DO HEARTBEAT TIMER -----
		HeartbeatTimer();
The Heartbeat Function
//*******************************
//*******************************
//********** HEARTBEAT **********
//*******************************
//*******************************
void HeartbeatTimer (void)
{
  	static int64_t HeartbeatLast1msTime = 0;
	static int Heartbeat10msTimer = 0;
	static int Heartbeat100msTimer = 0;
	static int Heartbeat1SecTimer = 0;


	while ((esp_timer_get_time() - HeartbeatLast1msTime) >= 1000)      //esp_timer_get_time() provides uS since startup. int64 x 1uS = 292,471 years before rollover
	{
    	HeartbeatLast1msTime += 1000;
		//-----------------------------
		//-----------------------------
		//----- HERE EVERY 1 mSec -----
		//-----------------------------
		//-----------------------------


		//>>>>>>>>>
		/*
		//Toggle a pin so we can verify the timer is working using an oscilloscope
		static int IoState = 0;
		IoState ^= 1;									//Toggle the pins state
		gpio_set_direction(GPIO_NUM_12, GPIO_MODE_OUTPUT);
		gpio_set_level(GPIO_NUM_12, IoState);
		*/
		//<<<<<<<<<<<




		Heartbeat10msTimer++;
		if (Heartbeat10msTimer >= 10)
		{
			//----------------------------
			//----------------------------
			//----- HERE EVERY 10 mS -----
			//----------------------------
			//----------------------------
			Heartbeat10msTimer = 0;





		} //if (Heartbeat10msTimer == 10)


		Heartbeat100msTimer++;
		if (Heartbeat100msTimer >= 100)
		{
			//-----------------------------
			//-----------------------------
			//----- HERE EVERY 100 mS -----
			//-----------------------------
			//-----------------------------
			Heartbeat100msTimer = 0;



		} //if (Heartbeat100msTimer == 100)


		Heartbeat1SecTimer++;
		if (Heartbeat1SecTimer == 1000)
		{
			//----------------------------
			//----------------------------
			//----- HERE EVERY 1 Sec -----
			//----------------------------
			//----------------------------
			Heartbeat1SecTimer = 0;




		} //if (Heartbeat1SecTimer == 1000)

	} //while ((esp_timer_get_time() - HeartbeatLast1msTime) >= 1000)
}