The 22-year-old spent last season on loan at Southend and Luton, scoring nine goals in a combined 43 matches in League One and League Two respectively.
The striker also scored for the Shrimpers in the fourth-tier play-off final victory over Wycombe while on loan at Roots Hall in 2014-15.
He only made two league starts for Charlton before being let go in May.
Find all the latest football transfers on our dedicated page.
Cambridge United have signed forward Joe Pigott on a one-year deal following his release by Charlton Athletic.