I can give you a few very broad tidbits. Some may find this offensive because they are so basic but I hope they help someone totally new a lot.
Read the manuals. This is the single biggest difference in the ones asking questions and the ones answering them. This is true across the board. Hardware, software, etc. Although we all absorb information at different rates none of us were born knowing these things. Asking some for help and asking someone to do your work for you are 2 totally different things.
All a controller does at the lowest level is very simple. They receive inputs (do some magic internally) and control outputs. This is automation of any type (PLCs, CNCs, Arduino, etc.). So in the end it is simply I/O. Some fast some slow some high some low but all I/O.
An input to one device is an output form another and an output from one device is an input to another. All you have to do is make them talk to one another and perform actions, stop actions in process or do nothing based on that conversation.
What is data? It is simply 1s or 0s. It can be arranged, defined, manipulated and interpreted in many ways but in the end it is 1s and 0s.
Keep it simple. Introducing more components or actions increases complexity and the potential failure points. An example would be: Drawing a circle in a cad program. Two simple arcs are usually much better than a bunch of tiny line segments arranged in a circle.
Determine the specs first, write them down and build from that. Simple part, complex machine, Cad/Cam features, etc. If you have no clearly defined goals how will know when you have reached them? This is critical to the next tip.
Start simple and take one step at the time. An example would be: You have a 3 axis machine you want to get motion on. Get one axis running properly first then move to the next.
Document everything. Take time to save time. Take lots of notes. This will generate answers to your questions later and if you have to ask for assistance this is very critical.
Know this up front. When you decide to build your own CNC you become the designer. No one will know more about any creation than the creator. DIY CNC is just that. You do it yourself. To simply gather up a bunch of components, slap them together and then ask for help when it does not work as expected is a cheeky way of asking others to do your work for you.
This link may be helpful.
http://www.cnccookbook.com/ I hope that helps,
Brett