I want to automatically make shipping free if user select one specific payment method. Is there any extension to do this or do i have to code one myself, if so where should i start.
There is no need to use extension for it. You just need to create a shopping cart promotional rule for it.
1) Goto Promotions >> Shopping Cart Price Rules
2) In the Conditions tab select Payment Method which you want to make it as free. Check the screenshot below
3) Goto Actions tab and mark free shipping as For Shipment with matching items. Please check below screenshot
Save the rule and thats it, the shipping will be free for selected payment method.