Here's my homebrew write-up for medieval period gunpowder weapons. Feel free to mine for ideas:
Gunpowder Weapons
Simple Melee Weapon
Fire lance, cost: 2 gp, damage: 1d6 fire, weight: 6 lb., properties: Two-handed, smoke cloud, special.
Simple Ranged Weapon
Hand cannon, cost: 25 gp, damage: 1d6 piercing, weight: 6 lb., properties: Ammunition (range 30/120), loading, two-handed, armor-piercing, smoke cloud.
Martial Ranged Weapon
Arquebus, cost: 50 gp, damage: 1d8 piercing, weight: 11 lb., properties: Ammunition (range 80/320), loading, two-handed, armor-piercing, smoke cloud, supportable.
Weapon Properties
Armor-piercing. When making an attack with this weapon, the target's AC is effectively reduced for the purposes of this attack by up to 3 points deriving from the target's armor and/or a shield it is wearing. Also, the weapon emits a thunderous boom audible out to 300 feet.
Smoke cloud. When used, this weapon creates a 5-foot-radius sphere of smoke centered on the attacker. The sphere's area is heavily obscured. It lasts for one hour or until a wind of moderate or greater speed (at least 10 miles per hour) disperses it.
Supportable. Attacks made with this weapon gain advantage while the weapon is resting on a strong support (wall, prop, etc.)
Special Weapon Properties
Fire lance. When ignited as an action, this weapon emits a 10-foot cone of flame. All creatures in the area must make a DC 10 Dexterity saving throw or take 1d6 fire damage. The fire ignites any flammable objects in the area that aren’t being worn or carried.
Ammunition
Fire arrows (20), cost: 2 gp, weight: 1 lb.
Fire arrows. When fired from a bow or crossbow, this ammunition not only deals the weapon's damage to the target on a hit, but, whether the attack hits or misses, all creatures within a 10-foot radius of the target must make a DC 10 Dexterity saving throw or take 1d6 fire damage. The fire ignites any flammable objects in the area that aren’t being worn or carried.