The 28-year-old right-winger has joined the club on a two-year deal.
Duffy, who was born in Liverpool, played youth football for both his local club Liverpool and then Wrexham.
After leaving the Welsh side, Duffy began his senior playing career with Vauxhall Motors in 2004 and later went on to have spells with Prescot Cables and Southport, before being snapped up by Morecambe in 2009.
Following a successful two-year stint with Morecambe, he was on the move again to join Scunthorpe United where he made 122 appearances and scored ten goals, before linking up with his most recent club Doncaster Rovers in the summer of 2013.
Last season saw him make 39 appearances for Rovers and find the back of the net twice. Unfortunately for both the player himself and Rovers, the campaign ended with the club being relegated on the final day of the season, after Blues' last-gasp draw at Bolton Wanderers.