Embedded systems are being built with renewable power sources such as solar cells to replenish the energy of batteries. The renewable power sources have a wide range of efficiency levels that depend on environment parameters and the current drawn from the circuit. Unlike low-power designs whose goal is to minimize energy consumption, systems with renewable power sources should maximize the efficiency of the sources by load matching. To match the wide dynamic range of solar output, it is necessary to exploit multiple power "knobs" simultaneously. This paper combines computation vs. communication trade-offs, algorithm selection, scheduling and dynamic voltage scaling to maximize the dynamic range of the load over time. Experimental results show one to two orders of magnitude performance improvement for a wireless handheld system running image compression applications.