What wrong is, your puppy is sick and your not taking him to the vets. He is too young to go very long without eating or drinking. If you can't afford a vet, please try to find him a home that can,.there are going to be many more times he will need a vet as he is growing older, so it isn't going to get any better. You sound like you really care about him, please don't sit back and do nothing.
I'm sorry your puppy is sick but, as it has been said before, part of owning a pet is being able to accept the financial responsibility for it's care.
First off, that is too young a puppy to be out like that. I assume it has had some of it's shots? I'm sure it has not completed the entire series.
This could be any number of things from the food you are feeding, parasites (have his stools been tested for parasites? Has he been wormed?). He may have picked up a parasite at the lake even though you are not saying he has diarrhea. If you have some chicken, boil it up (no skin) and add some white or brown rice to it and feed him small amounts a few times a day and see if that helps at all. I would hesitate telling you to give him any medication. This *sounds* like he is vomiting bile. Hate to say it, but he should be checked. Do you possibly have a spay/neuter clinic in your area? Sometimes, their fees are cheaper.