Hi @jp04,
I had the same situation here. 3-4 satellites are not enough to get a fix. I got a fix quickly when the readings showed 7-10 satellites.
I recommend to try the following.
You might have bad luck with the sight of the satellites. Therefore try again at another location or another time. Attach a battery and go outside or at least near a window. You can use an augmented reality app on your phone that shows where the satellites are.
Add other satellites than the default. For example set satType to eSatGpsQz1cQz1S if you are in Japan. See the comments in the demo.
Try to attach an external GPS antenna. It requires additional parts (available at Adafruit or Akizukidenshi) and requires soldering. I can give you some advice if you want.
Check if the wifi board or anything you place around the antenna causes interference.
Should you get a fix, you can save the satellite data for a hot start the next time. This call persists the data to flash memory in case you power off. Don't use the function on each update as it will wear off the flash memory.
Gnss.saveEphemeris();
Btw. I would be interested your opinion on the wifi addon board you ask for in another post. Will you send large data like images? Is it fast and reliable?
I flashed the AT firmware to one of my ESP-32 boards and connected it via UART. It works but the transfer rate is pretty slow due to the limitting UART.