For starters, at 3 months old he cannot be staying in that crate all night! He should only be made to hold it for about 3-4 hours. That means waking yourself up in the middle of the night to take him out. Making him hold it for that long can lead to bladder infections or he may go in the crate. Once he soils where he sleeps it will be difficult to break.
I suggest leaving the crate door open for him during the day and start feeding him in there as well. Right now he views it as something bad because he gets shoved in there and closed up for 8 hours. Most little dogs love their crate, but they need to associate it with good things
Also, try working up his time alone in the crate. Put him in with a treat for 5-10 minutes. Only let him out when he stops fussing and praise him. Increase the time throughout the day to 30 minutes up to an hour and more. I give Wookie a kong with a treat inside to keep him occupied. Before long he will start going to his crate to get away from it all

And he won't cry so much when you put him in. Good luck!