This article is from the Pyrotechnics FAQ, by Hans Josef Wagemueller email@example.com with numerous contributions by others.
A relatively cheap and simple smoke mixture is potassium nitrate
(saltpetre) and sugar. The mixture can be used in powder form, but much
better results are achieved by melting the components together. The
mixture should be heated slowly until it just melts - beware of excessive
heating as the mixture will ignite. Keep a bucket of water next to you in
case the mixture does ignite, and peform the entire operation outdoors if
The mixture does not have to be completely liquid, the point at which it
has about the viscosity of tar or cold honey is about right. While it is
semi-liquid it can be poured into cardboard or clay molds, and a fuse
inserted. Once it cools and hardens it will be similar to a stick of hard
candy, hence its common name of "caramel candy".
Mixture: The mixture burns very hot. Don't go near it once ignited, and
don't assume that whatever the mixture is contained in or
standing on will survive. Try not to breathe the smoke as fine
particles in the lungs are not good for them.