Orthogonal codes of variable lengths are essential for multirate services in the Third-Generation Partnership Project (3GPP). We propose an alternative to Walsh functions for variable spreading codes. There are three important points in this paper. First, we design an orthogonal code of constant length by mapping the points of a set of finite projective planes to chips of high/low amplitudes. Second, we develop variable spreading codes using multiple layers of recursion. Last, we compare and contrast the proposed variable spreading technique with Walsh functions in terms. of ease of synchronization, blind-rate detection, and wide-band characteristics.