He has approx £800 a month pure disposable income and he’s refusing to contribute even £20 a week.
Selfish little shit. Where did he learn such a disgusting entitled attitude?
Ok, so sit him down and explain that as he’s refusing to contribute to the household, there are going to be a few changes starting tomorrow.
Change the WiFi password, because he doesn’t pay for that. You’re cancelling his phone contract as of tomorrow. He can sort out his own.
Give him his own food cupboard which you stock with smart price pasta, basic tinned tomatoes, a loaf of bread, beans, a basic box of cereal, you get the idea. Lock all other food away if you have to.
Empty the bathroom of all toiletries and take your own wash bag in when you need to.
No cooking for him, washing, cleaning or driving him anywhere.
Tell him that you have a responsibility to feed and house him until he’s 18, and you will do exactly that, the bare minimum, until he turns 18 at which point he’ll need to find somewhere else to live. Consider that he’s been served plenty of notice.
Stay completely calm and factual during the conversation. And mean it.
Hopefully even the conversation will give him a short sharp shock. But follow through with it and see if his shitty attitude improves any.