There is a free dog coat pattern over at Circle of Crafters. It works best if you have a small dog, as the pattern is one you print out. I'm guessing you could resize it for larger dogs on a photocopier using big paper.
I used a layer of plaid flannel and a lining of brown flannel. The result is warm, but not bulky. I also added top stiching that wasn't part of the instructions, but it made the coat look more finished. My dog isn't a fan of the coat, but she hates any kind of clothing. I like the velcro closure, so it can be easily taken off (by you, but not by the dog!).
Dog lovers: there are lots of cute pictures of dogs wearing the coats their owners made for them at the Circle site