We've seen some instances where customers attempting to start a Raspberry Pi headless (without a screen or peripherals attached) have seen issues where the Pi won't boot.
We've found some examples that this is caused by the Pi not being able to auto-detect a screen resolution, and so essentially 'gets stuck' at that stage of the boot process.
The link above shows some options to resolve this issue, which should be relevant for all models of Raspberry Pi:
Plug in a HDMI cable - Not ideal for everyone depending on the project, but if you do have an HDMI cable and a monitor to hand, this is an easy way to rule out the headless issue if you're troubleshooting boot problems.
Edit the config file (force hotplug) - Adding the line hdmi_force_hotplug=1 to /boot/config.txt has solved the issue for some users. You can edit the config file by entering sudo nano /boot/config.txt in a terminal window.
Force a screen resolution - Some users have had success with forcing a resolution in the raspi-config tool. You can do this by entering sudo raspi-config in a terminal window then selecting Display Options > Resolution and choosing a low resolution from the list.