The 31-year old left-back has penned an 18-month contract with the Whites, delighting manager Neil Warnock.
"I'm absolutely delighted,” Warnock told the club’s official website. “Stephen has the experience I think we need in that position.
"He is a former international who, for whatever reason, has been allowed to leave Aston Villa.
"He's a player I've tried to sign a few times before and I'm pleased he turned down West Ham to come here."