The clubs have been locked in talks since the weekend with the 32-year-old flying into Catalonia this morning in an attempt to push through a deal.
The club were keen to offload Aubameyang's wage -- which starts at £250,000 a week -- after a deterioration in his relationship with manager Mikel Arteta, having been stripped of the captaincy in December following a series of disciplinary issues before being left behind as the first-team squad traveled to Dubai for a winter training break earlier this month.
Barca's financial troubles are well-documented and they told the north London club that they could only pay a small portion of Aubameyang's wage in any loan agreement.
But after talks threatened to collapse Monday, the two sides later found a compromise in which Aubameyang signs on a free transfer, meaning Arsenal are rid of his wage for good and Barcelona get their man.
Sources have told ESPN that Aubameyang has taken a pay cut to seal the move, motivated in part by the prospect of another spell in the wilderness had he stayed in north London.
Aubameyang has not played for the club since Dec. 6 and was sent home from the Africa Cup of Nations after medical tests had shown he had cardiac lesions. He had previously tested positive for COVID-19 upon arriving in Cameroon for the tournament.
Sources previously told ESPN that Juventus striker Alvaro Morata, on loan from Atletico Madrid, was Barca's primary target to fix their goal-scoring issues, but Aubameyang became their focus after a deal for the Spain striker did not materialise.