Eduardo Moreno has been charged with train wrecking, a federal charge, the US Department of Justice said.
He faces a maximum penalty of 20 years in federal prison if found guilty.
Officials said Moreno thought the Mercy was in the region because of a government takeover.
Moreno said he acted alone and did not preplan the attack.
A California Highway Patrol officer saw the crash and took Moreno into custody, the DOJ said.
About the Author