A search of the Surrey Road home in the early morning found the illegal substances, along with scales and heat lamps believed to have been used to grow and supply cannabis.
A camouflage crossbow was also found on the property.
A 37-year-old Rivervale man has been charged with drug possession, intent to sell or supply and carrying a prohibited weapon.
He will appear at Perth Magistrates Court on February 16.
Belmont police also searched another Rivervale home at Nannine Place and recovered two marine echo sounders and a marine stereo system believed to have been stolen.
Anyone who may have had marine equipment stolen should call the police station to assist with their investigation.