The 26-year-old has penned a two-and-a-half-year contract after passing a medical at Sixfields on Thursday afternoon.
Manager Ian Sampson said: "It is well known how keen we were to bring Shaun to the club.
"We have worked very hard and had to be very patient but we have finally been able to get the deal done.
"I would like to thank the chairman for allowing us to do the deal, we had to increase the original offer a couple of times to get the deal done and we did that.
"Shaun is a good goalscorer, has a fantastic attitude and is the sort of player who will help us kick on. I am very excited by this signing and it is a sign of the ambition we have as a club to move forward."
Source: PA
Source: PA