Jon here - I'm a Shopify Guru :)
Free shipping can be set up under your Settings > Shipping section of the admin. Whether you're using weight based or price based shipping, you can set up a range that would offer free shipping. For example; orders $100 or more, or if you're using weight based rates; orders over 50 lbs. Just click the "free shipping rate" checkbox when you're setting up the desired rate.
To offer a product that is free + shipping, you would want to create a product with a $0 price, and make sure that is set to "require shipping". Next, to set up the shipping, if you're using a price based shipping rate you'll want to make sure you have a price range set up that includes $0, for example; $0-$20. Whatever price you set that shipping rate at is what the customer will be charged when they checkout with this free product. The same applies for weight based shipping rates, just make sure you set an accurate weight for the product and it will be charged for shipping accordingly.
I hope this helps! Feel free to contact the Guru team any time if you have any questions at all.
I have my Free plus Shipping items set up that way, but this morning I found an abandoned checkout with 4-5 Free plus items and $0 charge. I need them to pay shipping for each individual Free item. So if they order 4 and they individually cost $5 each dfor shipping,it would total $20 instead of them only being charged for shipping once.