This expression originated in a form of torture that involved dragging the victim over the coals of a slow fire.
Related Idioms :
coals to Newcastle
something brought or sent to a place where it is already plentiful
Coal from Newcastle-upon-Tyne in northern England was famously abundant in previous centuries and carry coals to Newcastle has been an expression for an unnecessary activity since the mid 17th century.
heap coals of fire on his head
go out of your way to cause someone to feel remorse – British
This phrase is of biblical origin…if thine enemy hunger, feed him…if he thirst, give him drink…for in so doing thou shalt heap coals of fire on his head. (Romans 12 : 20)