First, a quick introduction of thoughts that just came to me. Potassium nitrate and sugar is a redox reaction. The potassium nitrate is the oxidizer, and the sugar is the fuel, or what is reduced (oxidation-reduction). Why potassium nitrate? It's cheap and readily available, used in fertilizer, preparing corned meat, etc. Burning something to make smoke is like the worst use of a chemical ever. Might as well use something cheap.

So there are two recipes I've used, one with wax and one without. They each have their pros and cons. The common elements are potassium nitrate and sugar. Potassium nitrate can be found in a certain brand of stump remover (it removes stumps). Spectracide is one. The ingredients list should say 99% potassium nitrate, KNO3. It's critical that it's 99% potassium nitrate, as anything else will either not work or emit more dangerous fumes. FWIW KNO3 is basically harmless in small quantities, since in smoke form you're basically breathing parts of what is a rather good fertilizer. 1 pound, i.e. one container, should be enough for your purposes.

Sugar - common table sugar is good enough for your purposes. If you want a potentially smoother burn, grind it up in a coffee maker or in a mortar and pestle.

The potassium nitrate in both recipes should not have any clumps, so crush it down to granular or powder form.

In both recipes you'll need to mix the amounts of potassium nitrate and sugar together in a container to make a mostly homogeneous mixture of the two, to enhance a smooth burn.
 

In the event you don't have a weight that measures in grams, ballpark it with tablespoons or cups. So in Recipe 1 it would be 4 parts wax, 4 parts sugar, 6 parts potassium nitrate.

Recipe 1:

40 grams wax
40 grams sugar
60 grams potassium nitrate.

The wax can be from a regular candle, birthday candle, whatever. I prefer colorless candles. Warning: melted wax is incredibly annoying to remove from a pan, since a slight sheen remains unless you scrub with lots of soap, or heat up water in the skillet you used to melt the wax until it's boiling and throw the contents in the toilet. Or you can follow this page: http://cookingcircuits.com/home/2013/7/24/legendary-smoke-bomb-how-to and the videos in it and use half an aluminum can or something.

Basically, you melt the wax in a skillet over low, taking care to remove the wick if it's a candle. Then mix in the sugar and potassium nitrate mix, until the whole mixture is pourable. Pour it into some sort of wooden tube capped at the end with thick tape and some napkins to absorb what might leak through. You can also use PVC. Warning, the mixture will be very hot, and will cool slowly, making it hard to handle the tube. Don't use a cardboard paper tube, it's too thin. Unless you wrap that in some thick tape. Before it cools completely, put in some matches, flammable end out, or fuse, or sparklers, into the end of the tube. This will make it easier to ignite the wax. Once it's cooled, wrap the whole thing in aluminum and make a smaller opening at the end with the matches, to prevent too much oxygen from entering the burning end.
 

This recipe makes enough material for a smoke tube that burns for like 2 minutes, like this https://www.youtube.com/watch?v=UscysiUS03c. Smells like candles when it burns.

Recipe 2:

This recipe is basically underpowered rocket fuel without the iron oxide that acts as a catalyst. To make it burn less powerfully, add a few more grams of sugar than in this recipe. Thing is, this one is a bit more complicated and can potentially send flames shooting five feet high if you are an idiot.

60 grams potassium nitrate
30 grams sugar (optional: grind it up)
10.8 grams corn syrup (Karo, use the light kind)

50 mL hot water
 
The following instructions are without a thermometer. If you have one, use the temperatures in this video: https://www.youtube.com/watch?v=ip1ih6ZT7jA. If you have an electric skillet, use that too.

Prepare a pvc or wooden tube, capped at one end (with electrical tape for instance). Best tubes should be 3/4" to 1.5 " in width. Mix the hot water with the corn syrup, until the corn syrup has dissolved. Pour the mixture into a 10-12 inch skillet on a stove-top set to Low or Warm-Low. When the heating mixture just starts to turn yellow (due to caramelization of sugar), add the potassium nitrate - sugar mixture, and mix it in. Soon you will notice that the mixture will start to "blup" as water tries to escape. Keep stirring to avoid too much caramelization. The water will continue to evaporate and the mix will probably turn more and more yellow. This is fine. Caramelization of sugar just results in a slightly slower burn, i.e. more smoke, which is probably preferable to power. The mixture will get really mushy.
 
Take a bit out and flatten it. Drop it on a plate to see what kind of sound it makes. If it clinks, you're good to go. Take the mixture on a bbq stick or spoon, and stuff it into the tube. Keep doing this until the tube is full or you run out of mixture, then fill another tube. Poke a hole into the end of the tube for some matches (red tip up), fuse, or sparklers. The tube will be very hot. Put the tube into the freezer to cool down, or let it cool somewhere safe, like a kitchen-top, overnight or for a few hours. Cap the other end to keep out moisture.
 
To clean your utensils, put them all into the skillet, fill the skillet with water, heat the water till boiling, and the residue will dissolve away. Pour off the hot residue-water mixture, scrub the skillet and you're good to go. (Or you can cool it down and pour it on the grass outside. It is, after all, a fertilizer.
 

This burns a bit more furiously and much hotter. If you used PVC as your tube, the tube will either become pliable or pieces of the inside wall will fly out during the burn.