This section describes how to make a custom footprint and is only necessary if the component you are using doesn't have a footprint in the preexisting KiCad footprint library, i.e. you cannot find the footprint in the right column of the "Run CvPcb to associate components and footprints" window.
While creating your own footprint isn't always necessary, often you can find the footprints online, it is generally useful to understand how to make your own footprints. To open the Footprint Editor, return to the KiCad startup window and click Tools -> Run Footprint Editor. First, you'll want to create a new footprint. Using the dropdown menu select File -> New Footprint and name you're footprint. There are specific footprint naming conventions established by the IPC which you can learn about here to create a consistent footprint library.
The a labeled screenshot of the Footprint Editor window can be found below:
At this point, you'll want to create a new project library for footprints. This will essentially be a folder that holds all your footprints and is accessible by KiCad. To do this click File -> Save Footprint in New Library. In the popup menu make sure the "Path Base" leads to your KiCad project an name the library. This will now be a folder with a .pretty suffix. Now that you've created your footprint library you want to make this your "active Library". You can determine if you have selected an active library by the parenthetical statement in the top left corner of the screen, adjacent to "Footprint Editor". This will say Footprint Editor (no active library) if no library is selected. To set up your newly created library use the dropdown menu and select Preferences -> Footprint Libraries Manager, in the popup window select the "Append with Wizard" button. In the next popup window make sure "Files on my computer" is selected and click "Next". Then, find the library you just created with the .pretty suffix, this should look like ExampleFootprintLibrary.pretty and will likely be found in your project directory. Click "Next" and then confirm the changes to the library by clicking "Next" again. Now, you can decide to save the library to the KiCad global library or to just the current project. If you plan on using this library again for different projects you'll want to save the library globally but if you are using KiCad for one specific project and don't intend on using it again soon then saving "To the current project only" might be more appropriate.
Now, you should see your project library, ExampleFootprintLibrary.pretty, with the path under "Library Path". If you do not, something with "Append with Wizard" went wrong and the library will need to be appended again. Select "OK" and the window will close. Now, select File -> Set Active Library. Search for the library name you just created, select it, and press "OK". Now, the top left corner of the screen should read "Footprint Editor (active library: FootprintExampleLibrary). Now, you'll be able to save your footprint in your specific project library. This will also make things easier as all subsequent footprints for your current project can be saved in this library. This library will also be findable in Eeschema's footprint association section.
(Please Note: If any of these instructions were confusing or just too boring to read, a very similar video tutorial can be found here, specifically starting at 2:49)
Drawing Your Footprint
Now that your active library is set you'll be able to save your drawing to a accessible place. The footprint drawing process can be somewhat clunky but almost any action can be achieved by right clicking the thing you want to adjust. For example, the first thing you'll probably want to do is move your footprint name and the text that says "REF**" out of the center of the screen. Moving things can be done by right clicking but a faster way is to use your mouse to hover over the thing you want to move and click the "M" key. To release the thing you are moving just left click. There are many keyboard short cuts that make drawing and navigating the footprint editor easier and most of these can be found by right clicking something and reading the right side of the drop down menu.
That said, you'll want a basic understanding of the different layers of a PCB before you draw lines, holes, and pads, since you must select which layer you want your drawing to apply to. For a brief description of the different layers you can read this article. On the left of the footprint Editor you'll find the icons that will allow you to change the unit types and adjust the grid size for the screen. I suggest a grid size of something like 5 or 10 mils (if you're using inches). On the right side of the screen you can select between the different drawing tools, here you will find options for pads, lines, arcs, and text.
The footprint orientation can be a bit confusing since you're dealing with the 2 dimension layout of a 3 dimension object, but the term footprint is appropriate. If you're unsure about the orientation of your footprint (it is easy to accidentally draw a mirror image of the footprint you're looking at the bottom of the component) imagine pushing your component pin side down into wet sand and then removing the component. The imprint left on the sand is the picture you'll be trying to draw, which is why footprint is an appropriate term.
The pads tool, which has a green donut shaped icon on the right, is how you will draw the solder pads for the pins of your components. To place a pad select the "Add Pads" icon or select Place -> Pad, left click and to place a pad. Now, you'll want to edit your pad. Right click the pad and select "Edit Pad". This will allow you to make sure the pad is appropriately placed with respect to the origin and that the shape and size of the pad is correct for the component. Before you edit your pad you'll want to know if your component is a surface mount device (SMD) or requires through-holes. A SMD is a device that can be soldered directly on top of your PCB, whereas a through-hole device requires a hole to be drilled into your PCB for the pin of your component. If the component is a SMD you'll want to edit the "Drill" "Size X:" to a non-zero value, this will ensure there isn't an exposed copper layer where you want to drill your hole. If you're component is a SMD you'll want a value of zero for the drill "Size X:" since you won't need to drill a hole. The different specifications for the shape and size of your pads should be accessible through the component's data sheet. Now you can adjust the "Pad type", "Position X", "Position Y", "Size X", "Size Y", and "Technical Layers" as needed. Lastly, you'll want to change the "Pad number" according to the pins in your data sheet, i.e. if you're making a footprint for a chip you'll want to number the pins according to the chip's data sheet pinout.
While you may choose not to actually print a component outline if you don't plan on adding a silkscreen layer, a footprint with only pads makes the visualization of the component almost impossible; thus, making the outline of your part is highly recommended. To draw a line use find the "Add graphic line or polygon" icon on the right and select which layer you want your line to be drawn with. The different layers are listed on the right with names like F.SilkS, which means front silkscreen, and B.Cu, which means back copper. Choose the appropriate layer and draw the outline of the part. Make sure the lines are to scale with the physical size of your part, as this will be helpful when designing the layout of your board. Finally, you'll want to make a courtyard for your component. The courtyard indicates how much space your component needs, which ensures that footprints aren't placed too close together. To choose the courtyard layer select F.CrtYd or B.CrtYd. Now, draw a rectangle (or different shape) around the component, such that the physical component could fit inside that size shape. Now, if the footprint is to scale and looks accurate you're ready to save the file and use it with Eeschema's footprint association tool.