The 29-year-old has made only 12 league appearances in four years for the Potters having spent time on loan at Derby, Preston and Barnsley.
He previously played under Neil Warnock when the pair were at Sheffield United.
Warnock told the club website: "He knows how I play and he'll fit in well with what we have here."