As I mentioned, I got a soldering iron for Christmas (as requested), and the first kit I chose to put together was the MintyBoost Kit (v2.0) from Adafruit Industries. Make Magazine also sells it in their store. It’s a pretty popular kit, and if you haven’t heard of it before, well, you just don’t hang around in the right places. :)
The MintyBoost allows you to charge most USB-powered devices from two AA batteries. Actually, if you want to get creative you can connect anything that provides between two and five volts of DC. This guy uses two D batteries.

The top of the MintyBoost circuit board with all components installed. To give you some idea of the sizes involved here, the PCB, from top to bottom, is about the size of a penny. Click on the image to go to its Flickr page. The Flickr image has notes describing the components and their purpose.
The primary purpose of this kit was for me to get some experience soldering. I’ve done a little soldering before, but very little, and never on a printed circuit board.
The heart of the MintyBoost is the LT1302 integrated circuit. There are a few capacitors to smooth out the input and output, a diode for reverse current protection, an inductor for the LT1302 to store energy to be converted, and some pull-up resistors to convince the USB device to charge. You can see the step-by-step building process here.
Apparently there’s no agreed upon standard for USB chargers. Most Apple products will charge if their two USB data lines are pulled high. The MintyBoost uses two 100k resistors for this. Other devices require other values of pull-up resistors or even pull-down resistors.

The bottom of the MintyBoost circuit board after soldering.
The actual performance of the MintyBoost for charging my iPhone is a little disappointing. I get a little better than half a charge when using freshly charged Sanyo Eneloop AA batteries. At first I thought that the circuit could be improved by limiting the current through the MintyBoost with a single resistor. However, after I did the math correctly, that turned out to not be the case.
As it turns out, the iPhone just doesn’t charge very efficiently. USB (and thus the MintyBoost) provides 5V DC, but the iPhone battery is 3.3V. The iPhone undoubtedly uses a linear regulator in its charging circuit, which means it effectively turns into a heater when being charged. The extra voltage is just released as heat. Switching regulators are more efficient, but more complicated and expensive. Plus, when you’re charging from your computer or an outlet, it really doesn’t matter.
When I first saw the MintyBoost printed circuit board I thought both it and the pads on it were very small. Once I got started it was no problem though. It is easily doable as a first project.
I’ve got an Altoids gum tin ready for it to go in, but I need some more double-sided tape. I’ll post some more pictures once I get it in the tin.