The 25-year-old former Watford man moves from Bristol Rovers after activating a clause in the three-year contract he signed in the summer of 2013 following Rovers' relegation from the Football League.
Despite his side's poor season, O'Toole enjoyed a good campaign on a personal level, scoring 15 goals, and had been linked with moves to League One newcomers Scunthorpe United and Chesterfield.