The technology can generate electricity in water flowing at a rate of less than one knot - about one mile an hour - meaning it could operate on most waterways and sea beds around the globe.
Existing technologies which use water power, relying on the action of waves, tides or faster currents created by dams, are far more limited in where they can be used, and also cause greater obstructions when they are built in rivers or the sea. Turbines and water mills need an average current of five or six knots to operate efficiently, while most of the earth's currents are slower than three knots.
The new device, which has been inspired by the way fish swim, consists of a system of cylinders positioned horizontal to the water flow and attached to springs.
As water flows past, the cylinder creates vortices, which push and pull the cylinder up and down. The mechanical energy in the vibrations is then converted into electricity.
Cylinders arranged over a cubic metre of the sea or river bed in a flow of three knots can produce 51 watts. This is more efficient than similar-sized turbines or wave generators, and the amount of power produced can increase sharply if the flow is faster or if more cylinders are added.
A "field" of cylinders built on the sea bed over a 1km by 1.5km area, and the height of a two-storey house, with a flow of just three knots, could generate enough power for around 100,000 homes. Just a few of the cylinders, stacked in a short ladder, could power an anchored ship or a lighthouse.
Systems could be sited on river beds or suspended in the ocean. The scientists behind the technology, which has been developed in research funded by the US government, say that generating power in this way would potentially cost only around 3.5p per kilowatt hour, compared to about 4.5p for wind energy and between 10p and 31p for solar power. They say the technology would require up to 50 times less ocean acreage than wave power generation.