Kaminsky averaged 9.8 points and four rebounds in 282 games with the Charlotte Hornets after he was the No. 9 overall pick in 2015. He shot a career-high 46.3 percent in 16.1 minutes per game last year.
"Frank is an exceptional shooter who will help us space the floor and give our guards more room to operate," general manager James Jones said in a news release. "His size and strong decision-making skills are also a great fit for the team we are building, so we are excited to welcome Frank to Phoenix."
The Suns did not release financial terms of the contract. Kaminsky made $3.6 million with the Hornets last year.
Kaminsky was the Hornets' sixth man for the last two years. He made 16 of his 23 career starts for the team during the 2016-17 season.
Phoenix went 19-63 last season. The Suns have not made the NBA playoffs since 2010.