There could be a number of causes for this including the kind of washing powder used on the bedding, the kind of material in the pillows and duvet (some children can be allergic to feathers, some to the man-made fillings). Also, all bedding contains bed mites, regardless of how clean the bedding is and some children can be allergic to this. Other causes may be lack of ventilation in the room or the presence of toys - plastic can give off minute amounts of fumes.
Some children can react this way to milk so check to see if he has a milky drink before bed.
As you can see, there could be quite a list so it is a good idea to go through the room thoroughly.
It would also be best to get this checked out by his doctor as well as they may be able to pinpoint the reason.