As someone who has had several 'crazy' career moves over the years, it may well be crazy to do it, and yet still be the right thing to do for
you. I think the best way to do this would be to keep working, but to study part-time with Udacity.
Continuing to work in a good tech company gives you a big advantage in that your "professional network" (aka "people you know") contains a lot of smart developers, a small number of whom may have made similar career moves. It would be worth asking around in person or on your internal work chat groups etc to see if anyone has experience with Udacity courses, then meet up for a coffee and a chat. Don't say you want to change jobs, just start by saying you want to understand better what developers do, and that's why you want to learn to code. That makes you a more valuable PM, while at the same time you are building the skills that would let you make a career change.
As you learn more, you should keep in touch with those devs, and you can ask them for feedback on the projects you work on (clearly, the onus is on you to not abuse their time, but most people like to help someone who is hardworking, enthusiastic and respectful). Then, by the time you've developed your skills to the point you could take an entry level developer position, you will also have a bunch of developers in the company who know you, know how hard you've been working, and will often be willing to pass on knowledge of openings, and put in a good word for you in the hiring process.
Also, don't ignore the possibility of joining a startup once you have sufficient technical skills, a growing startup is exactly the kind of place that would greatly benefit from someone who understands team and project management and can deliver good code. They will hire you for the technical skills, not the PM skills, but that doesn't take away their value.
Email me if you'd like to discuss further, and best of luck!