The Price column links to the cheapest online sources I could find (usually eBay) when I purchased my components. The images link to alternative stores in case you want to buy most of the components from the same place.
If you have a local electronics shop it's probably easiest to buy the small inexpensive components (resistors and capacitors etc.) there.
Component
400 point mini breadboard
Breadboard wire kit
Arduino Nano v3
A4988 Stepper Driver
100μF 50V electrolytic capacitor
4N35 Optocoupler
470 Ω resistor
Crocodile clip wires
2.5mm shutter release cable
Power supply
2.1mm DC barrel jack
4-pin 2.54mm connector kit
2-phase stepper motor
Alternatives
Larger breadboards will of course work as well.
You can make your own wires or use any other type of solid core wires you already have. I find these kits very easy to use and makes for a tidy installation.
Any Arduino with a FTDI FT232R USB chip will work.
It's vital that it's a FTDI chip because the stacking software is using a FTDI proprietary protocol (D2XX) to communicate with the device.
You can also use an Arduino without a FTDI chip by adding a FTDI breakout board.
Any type of stepper motor driver will work. I recommend one with simple STEP/DIR inputs.
The A4988 based drivers gives good price/performance ratio. They have 1/16-step micro step resolution, operates from 8 – 35 V and can deliver up to approximately 1 A per phase without a heat sink or forced air flow (it is rated for 2 A per coil with sufficient additional cooling).
Another popular board is the EasyDriver.
The value is not very exact, 47μF and over will work.
Resistor values between 220 Ω and 1k Ω are OK.
If you don't mind soldering there are more robust ways to connect the shutter cable, using a 2.5mm female socket.
Be sure to get a cable with a connector that fits your camera! There are many different connectors.
You can use another connector instead of 2.5mm at the controller end as long as you can hook it up. I'm using 2.5mm because it's cheap and most camera specific versions are available.
The type will depend on the requirements of your motor.
Make sure the amperage is enough to satisfy your motor.
Other types of connectors are also possible, like the CCTV plug adapter.
Any sort of connector that makes it easy to hook up the motor cables to the breadboard will do.
Lots of options for the motor. The NEMA17 size is popular.
Try getting a motor with at least 200 steps (1.8 degrees/step).
To avoid heat issues, use the least powerful motor that still has the torque and speed required for your setup.
Notes
Get a version with the header pins soldered.
Newer Arduino boards no longer use FTDI chips for USB connectivity (they use 8u2/16u2 chips instead).
There's also new "Nano" boards which uses an alternative USB chip called CH340 which won't work either.
The current codebase will fit into ATMegas with 16Kb program memory (ATmega 168) but it's a tight squeeze so I recommend getting a model with 32Kb (ATmega 328).
Get a version with the header pins soldered.
Used to protect the stepper driver board from LC voltage spikes.
Might not be necessary if you don't use the A4988 driver board.
Used to isolate the camera connection.
Needed for the optocoupler.
Used to connect the camera remote shutter cable.
Some cameras use 2.5mm stereo headphone cables. Others have proprietary cables.
The Arduino will get its power from the USB connection, so this power supply will only feed the motor (via the stepper driver board).
Used to make it easy to hook up the power to the stepper driver board.
It's important to have a good solid connection to the motor because if it gets disconnected when powered on it can fry your driver board.