I'm worn out after 40 hours of work, so creating my own projects and/or working on open source projects is difficult. However, without doing that, I don't feel that I can move on to a more challenging development position because I have no code I can show.
1. Do it for money. I find working for someone else motivates me pretty well. I wanted to learn how to use JS frameworks like ember or angular so I've done a couple of simple restaurant menu CMS systems for local businesses. I did them for peanuts on the condition that I didn't have hard deadlines. Even though I have the luxury of taking as much time as I feel like, I feel some obligation to anyone paying me for work. I've also found that it effectively narrows the focus of the work in a way that might be more challenging in a more free form project. It's a lot harder for me to not start including "cool" but often-useless features in my own projects while I tend to keep my work for others limited to what was agreed upon originally.
2. My other method is to set myself up with two or three productive activities and force myself to rotate between them. I might choose learning German vocabulary, refreshing math online and writing a simple app in a new language for a night and make an effort to always be doing one of those tasks. I try to look at this time as relaxation and free time itself, so I try to set few expectations. When I get bored/frustrated, instead of turning on the TV or opening the news, I switch to the next activity and repeat until its time for bed. You can move forward on unrelated hobbies this way, something that frustrated me when I first learned how to code and overdid the focus and attention I gave it, to the point of severe frustration.
Lastly, try to relax and take it easy. If you put yourself through Hell every night you'll quit and get nowhere. Take nights off when needed and get to bed at a decent hour. You won't see immediate returns so any strategy has to be looking toward the long haul.
Can you switch jobs? There are so many companies that need even just a passable engineer. If you're not growing and learning in your current role, maybe it's time to find a new one?
I'm at a point somewhere between not knowing how to code and not being skilled/experienced enough for a jr developer position, and would work for next to nothing, but every internship I see requires that you be in pursuit of a BS in CS.
Above all else don't let yourself get discouraged. There will probably be a dozen no's and/or people who just don't respond to your query but the person that gives you that first opportunity is probably the kind of person you want to be working with anyway.
Plenty of startups will take you on as an intern with little to no experience. If you put your reputation on the line and give them a few months of your time to figure it out and build something they need, they might hire you full time as a junior engineer. Shoot me an email if you'd like to talk more about this zack@zackshapiro dot com