In some embodiments, deposition of complex oxides by ALD techniques involve sequential pulsing of a cation precursor and the oxidizing co-reactant into the process chamber, interspersed by a purging step after each pulsing step; purging uses an inert gas like Argon to remove unreacted precursor chemistry from the deposition chamber/environment. The ALD of multi-component oxides (e.g., BiFeO3 is made of Bi2O3 and Fe2O3 binary oxides) typically involves layer-by-layer growth of the individual binary oxides, e.g., Bi2O3 layers and Fe2O3 layers, to form a macroscopic ternary/quaternary oxide film. Compositional uniformity at the nanometer scale is achieved by engineering the layer “pitch” to obtain each “supercycle” of ALD film. For example, 20 cycles of Bi2O3 plus 20 cycles of Fe2O3 will result in a 40 cycle supercycle recipe, and a less microscopically homogeneous film compared to a 10 cycle supercycle recipe where each supercycle consists of 5 cycles of Bi2O3 plus 5 cycles of Fe2O3. The temperature of deposition also influences not only the film crystallinity, morphology, and/or grain size, but also the nanoscale uniformity of composition. In some embodiments, ALD deposition temperatures can range from room temperature to 500 C. In some embodiments, process pressure in ALD ranges from approx. 0.5 Torr to approx. 10 Torr. In this manner, a wide range of different films can be deposited using the same precursors.