Look, if you are really passionate and lacks funds then I would defiantly recommend starting for free as something is better then nothing. You will eventually earn money form it but it would require some extra time.
You would mainly be earning through Advertisement since it would be difficult to sell a course or a affiliate product.
While on other hand, if you have self-hosted blog, then it would be easy and rather quick for giving you money.
But I would recommend you to go for self-hosted site, most hosting companies offer discounts for new customers and if you buy for long-term plan, then you would be saving handsome amount.
One last thing, I guarantee you that if you work steadily, you will get all the money back in first 6 months