He gets $8 million in each of the next two seasons and agreed to donate $80,000 annually to charity.
The 30-year-old d'Arnaud split last season between the New York Mets, Los Angeles Dodgers and Tampa Bay Rays. After struggling to hit with both the Mets, he got only one at-bat with the Dodgers before rebounding with the Rays, hitting .263 with 16 home runs and 67 RBIs.
He played 92 games for the Rays, seeing most of his time at catcher (76 games, 62 starts) but also made 16 starts at first base with 21 games overall at the position.
The Braves are in need of a catcher after Brian McCann retired after the end of last season.
The Braves have been aggressive this offseason, signing ex-San Francisco Giants closer Will Smith to a three-year, $40 million contract and re-signed reliever Chris Martin to a two-year, $14 million deal. The Braves also re-signed catcher Tyler Flowers ($4 million) and outfielder Nick Markakis to one-year deals this offseason.
D'Arnaud is a career .246 hitter with 63 home runs and 231 RBIs in 500 games over seven seasons.