can you try adding ESP_ERROR_CHECK(esp_event_loop_create_default()); and see what errors you get?

When I compile and deploy my project, I see the following warning

i2c: This driver is an old driver; please migrate your application code to adapt driver/i2c_master.h,

which causes my system to never finish initialization. In my case, the M5Unified library needs to be updated to use driver/i2c_master.h

Perhaps your timeout is related to the loop never initializing. At this point, I am only guessing what the issue might be.