HDD Regenerator isn't exactly free, but it works well recovering data on hard drives with bad sectors. There is a trial version that will repair one sector at a time, but you have to keep rerunning the program over and over, possibly a few thousand times depending on how badly the drive is damaged. Keep in mind that this won't work for data you have lost because it was accidentally overwritten.