Saeid Moradi, 29, told a Bangkok court that he was about to leave Thailand when he found four bombs hidden inside radios in a cupboard at a rented house in the city.
Two of the devices exploded as he ran into the street to throw them into a nearby canal, the second tearing off his legs, he said.
Moradi and Mohammad Khazaei, 42, are among five Iranians suspected of involvement in the February 2012 blasts that followed attacks in India and Georgia and saw Israel accuse Tehran of waging a terror campaign.
Moradi said he accidentally triggered one of the bombs when he opened a cupboard in the apartment.
"I was stunned and threw it into the corner, believing it was a smoke bomb," the wheelchair-bound suspect said via a translator, adding he grabbed two other bombs and ran outside to throw them into a nearby canal.
He did not refer further to the fourth device.
Prosecutors accuse Moradi of hurling one bomb at a taxi and a second at two police officers as they approached him on the street, but it instead detonated near the suspect.
However, the defendant said he dropped one of the devices near the taxi by mistake, and tried to throw the other away as the policemen approached, fearing it would detonate and hurt them.
"I knew if the police stopped me I'd have to drop the bomb which may have endangered them and people nearby.
"So I threw it about a metre in front of me," he said, adding he blacked out and woke up at hospital later to find his legs had been torn off in the blast.
Fellow defendant Khazaei, who smiled and gave a two-finger victory sign to journalists as he arrived from prison for the hearing, said the pair were due to travel to Kuala Lumpur when Moradi came across the devices.
The court heard that Khazaei ran out of the house after the first explosion and headed to the airport where police arrested him at the boarding gate.
"I didn't commit a crime. I am innocent," he said.
The pair have already pleaded not guilty to charges including attempted murder and possessing explosives.
Speaking earlier outside the court, their lawyer Kittipong Kiattanapoom vowed that "we will fight every charge".
In June last year a Malaysian court ordered the extradition to Thailand of another of the Iranian suspects, Masoud Sedaghatzadeh.
Sedaghatzadeh was arrested at Kuala Lumpur's international airport a day after the Bangkok blasts. Two other suspects are believed to have returned to Iran.
The court is expected to give a ruling on June 20.