The 26-year-old – who won the Saddlers’ Player of the Year this season – is out of contract in the summer and will leave on a free.
The Saddlers wanted to keep O’Donnell and opened contract talks over six months ago but failed to convince him to stay.
A statement read: “We are disappointed that, despite contract negotiations beginning during the autumn with an initial contract offer made in November, Richard believes his future lies elsewhere.
“However, we wish him all the best in the future and thank him for his efforts during his time at Banks’s Stadium.”
O’Donnell joined on a free transfer after leaving Chesterfield in 2013 and made 101 appearances for the Saddlers, helping them reach Wembley for the first time in their history when they lost 2-0 to Bristol City in the Johnstone’s Paint Trophy final in March.
The Sheffield Wednesday youth product, who has been linked with Bradford, took to Twitter to explain his decision and thank the club.
He wrote: “The decision I’ve made is purely based on what I think is best for me and my family. Anyone who knows me will know it’s not for financial gains. I made the club aware around 10 days ago that I would not be staying.
“Thank you to the fans for the support over the time I’ve been here, it was a great way to finish my time by getting player of the season and helping the club to get to Wembley for the first time.
“Both of which I’m very proud of. It’s been the hardest decision in football I’ve ever had to make but I feel it’s time to move on and take a new challenge. Thank you again, I wish the club and the fans the best of luck.”