Code-spreading using low-rate convolutional codes has been proved to have good performance. This broaches the issue of how to construct good low-rate codes. In this paper we come up with a novel method to construct arbitrarily low rate convolutional codes for various constraint length K. The proposed method in this paper outperforms some previous work in three ways. First, it does not have to iteratively search from a starting code. Then the results demonstrate that the number of generators used for each specific code rate is much smaller, to avoid synchronization trouble. Finally, paths to achieve maximum free distances are in a rather small scale as well, giving birth to a good distance spectrum in the first element