Once you have decided that you need a specific hardware to perform a task, you might want to create a custom PCB for the hardware. Is that really difficult? The short answer is NO. However, there are some basic electronics you should know before you venture into the custom PCB fabrication.
This blog post will cover creation of custom one of a kind PCB for testing purposes.
Starting point:
Once you have an idea of what you would like to build, you will want to design and create a circuit on paper, curcuit creation software (EagleSoft comes of mind), and/or breadboard. Personally, I am a visual person and create my circuit on breadboard and test it out to make sure that circuit is behaving the way I envisioned end-to-end.
As an example, I would like to create my own Arduino micro controller and create a custom PCB for the controller. I would start with breadboard layout as below.

On this breadboard, I make sure that clock is set to 16Mhz with a crystal. I also make sure that power is down converted to a clean 5V and reset pin is set in case I ever want to reset my circuit

Once the breadboard circuit is set, I design the same circuit in a circuit design program. This ensures that I have the circuit that I need without potential errors and layout issues.
Once the circuit is designed, a custom circuit can be printed out. This is where the fun begin.
Ok. We now have the arduino circuit but I don't have a PCB yet. What do I do? At this point you are at a fork in the road. You can either send this to a PCB printer to have them create it for you. There are a number of services out there who can even run a small batches. Personally, I'd take a different path and test teh PCB first, taking us into the topic of this blog. We will use photo sensitive copper plates and etching solution.
Print your PCB on a transparency sheet and expose it to light for a few seconds (15s will do). Use 2 sets of lights for this. A red light will give you enough light in your workshop (like a dark room for photo development) and bright white light for exposing the PCB with image from the transparency.

Once the Image is exposed, you can develop it a solution of positive developer. Once the image appears on the copper board, you are ready for etching. Wash off the board with water to stop the development process.

At this point, dip in the newly developed PCB into a Sodium Persulfate solution. This will etch the board for you.

You can replace the Sodium Persulfate solution with Muriatic Acid and Hydrogen Peroxide. Muriatic Acid can be found in pool cleaning section of your local hardware store and Hydrogen Peroxide can be bought from local pharmacy.
Happy etching!