James Mueller, 28, is charged with felony unlawful possession of a firearm.
Mueller's 7-year-old son brought the loaded semi-automatic handgun to Lindbergh Tuesday, but did not make any threats.
Steve Huff with the school district said a staff member at the school saw the gun when the boy showed it to friends at the school. Administrators immediately confiscated the gun and the boy was taken to the principal's office before being sent home.
Mueller was taken into custody Tuesday for an outstanding felony warrant for nonsupport.
In 2005, Mueller was sentenced to two years in prison for felony possession of a controlled substance.
Mueller is being held on a $20,000 bond and is scheduled to appear in court on December 24.