An optoelectronic device, such as a solar cell, light-emitting device, or photodetector, comprises a substrate, a number of fibers supported by the substrate so that an end of each fiber is in electrical communication with the substrate surface; an optional first layer, covering the substrate, though which the fibers protrude, and a second layer overlaid on at least part of the first layer and exposed fiber surfaces. The second layer may be electrically conducting, and electrically isolated from the substrate surface by the first layer. The second layer can be in electrical communication with each fiber, and an electrically conducting path can exists between the second layer and the substrate surface through each fiber. The substrate, in whole or in part (such as the substrate surface) can be electrically conducting. The electrically conducting path may comprises a semiconductor p-n junction, so that the optoelectronic device emits light, provides a photovoltaic potential, and / or is sensitive to light, for example acting as a photoresistor, photodetector, and the like.