Go into Seller Admin > Cart Shipping Settings, set the Cost of a Small Box and Regular Box both to 2.95, and leave everything else set to 0.00. If you will only ship to buyers in the USA, select United States in the Shipping Destinations list. Click Next to save changes and proceed to the Shipping Rules screen, but you can just click Back to Admin from there.
Configure your single-widget product with Shipping enabled, set it with a weight of 0.00 to be packaged in a Regular Box, with a capacity of however many units you would ship for $2.95. Configure your "2-pack" product the same way. Configure your free product the same way, but packaged in a Small Box with capacity of 1. Note that these package/capacity settings are strictly for shipping-fee calculation purposes; you can actually pack and ship your items however you wish.