The 3-week-old baby suffered life threatening injuries and is now in foster care, said officials.
Vidal Antonio DeJesus, 25, surrendered to authorities on Thursday. He was charged with aggravated and simple assault, recklessly endangering another person and endangering the welfare of children.
"Vidal is not a monster. OK? He did not purposely hurt my son. He did not beat him," Carisa Snyder, the baby's mother and DeJesus' girlfriend, told WFMZ-TV.
Police and paramedics responded to DeJesus' home at 1545 North 10th St. on May 7 for the report of a baby being injured.
The baby was transported to Hershey Medical Center for treatment of a broken left arm, a broken right leg and 13 broken ribs, said officials.
"DeJesus admitted to inflicting the injuries due to becoming frustrated with the child crying," said District Attorney John Adams.
According to investigators, DeJesus admitted to grabbing Romeo by the arm, lifting him off a bed and hearing a snapping sound. Adams called the case incomprehensible.
"Children never should suffer these type of injuries," he said.
Snyder stood by her man and called DeJesus an excellent father. She said he is remorseful for what happened, and it was unintentional.
"He's the father of my child. I forgive him. I know he would never hurt my son, I know that," said Snyder, who added she also has a 20-month-old son with DeJesus.
DeJesus admitted to becoming frustrated with the baby on two other occasions. At one point, DeJesus squeezed Romeo's chest with his thumbs causing the sound of "cracking knuckles," said investigators.
Snyder broke down in tears Thursday, and admitted she's angry.
"I'm angry because he is my son and I feel like I should have protected him. I'm very angry," said Snyder.
DeJesus was arraigned Thursday afternoon. He was committed to the Berks County Prison on $500,000 bail.
Romeo, who spent seven days in the hospital, is said to be recovering well. He turned 2-months-old on Thursday.
--------Information from WFMZ-TV.