I know where you are coming from OP-I have been really stressed lately, due to many factors, and have been really shouty, impatient and often downright unfair to my ds. Similar things really-being rushed in the morning, barking orders, expecting too much, being a bitch if I am honest.
I started taking St Johns Wort, to see if it helped a bit, and also Evening Primrose Oil (1000mg) every day because I think having horrendous PMS doesn't help.
I do think it can become a habit, and I agree with counting to ten, taking a deep breath, and remembering that your ds is only little.
Being a lone parent is just really fucking hard. Especially if you are broke/worried about money/lonely.
I recently had a friend staying, and it was so lovely to have someone to hang out with, I realised how much of a grind my life has been lately, and how much I need to socialise sometimes, and have some fun. It's really easy to let the weight of the world sit on your shoulders, and , unfortunately if it's just you and a child sometimes you can take it out on them.
Well done for acknowledging there is a problem. You are not a bad person, because you care how your behaviour affects your ds.
Cut yourself a break, try and get out more, take a deep breath and try and enjoy little moments with your son.
Last night I was knackered and wanted to hang up the washing, but I made myself play cars with ds and he was so happy, his little face was beaming, and even though I really didn't want to play, after I did I felt glad that I had .