The 20-year-old has penned a one-year contract with the option to extend it by a further 12 months.
Caldwell had previously been on trial with the Buddies before being offered a permanent deal.
"I am delighted to have joined St Mirren. Having been at the club now for a couple of weeks I have thoroughly enjoyed every minute here and already feel part of the set up," he told St Mirren's official website.
St Mirren start the new Scottish Premiership season away to Motherwell on August 9.