I'm doing the same thing. I'm going to use an Arduino Uno to drive my RepRap. I based my electronic on RAMPS 1.4.
RAMPS support dual extrusion and an heater bed, but my RepRap doesn't have any of these right now. So I decided to build my own electronic based on RAMPS. I'm building it in a modular way, so I don't have to change all the electronic if I want to add a heater bed or dual extrusion at a later time.
Right now I have built a motor controller board which can control two steppers motors using two Pololu chips. I'll build a second one identical to it to control a total of 4 "axes" (x, y, z and extruder).
Their is only one of the two Pololu on the photo. I'll also add screw terminals on the right side of the board to connect the steppers.
I'll then build a third board for the extruder heater and thermistor circuits.
The Arduino Uno has 14 digital I/O and 6 analogs in. The pins 0 and 1 are used by the serial. So their is 12 digitals and 6 analogs left. What I wan't to do is use an 8-bit shift register (like this one) to control the 4 axes enable and direction pins (8 pins total). It will only use 3 pins on the arduino so I save 5 pins.
So I guess the pinout for my electronic will be something like this:
D0: serial to computer
D1: serial to computer
D2: z min
D3: x STEP
D4: z max
D5: y STEP
D6: z STEP
D7: x min
D8: shift register SER
D9: shift register RCLK
D10: shift register SRCLK
D11: extruder STEP
D12: x max
D13: (not used)
A0: thermistor
A1: heater
A2: y min
A3: y max
A4: (not used) (could be used for the ATX power supply control)
A5: (not used)
Their is 3 pins left for either a heat bed (2 pins) or a second extruder (2 or 3 pins, enable, direction and maybe the second heater could be controlled by a second shift register daisy chained to the first without using additional pins. See here)
RAMPS support dual extrusion and an heater bed, but my RepRap doesn't have any of these right now. So I decided to build my own electronic based on RAMPS. I'm building it in a modular way, so I don't have to change all the electronic if I want to add a heater bed or dual extrusion at a later time.
Right now I have built a motor controller board which can control two steppers motors using two Pololu chips. I'll build a second one identical to it to control a total of 4 "axes" (x, y, z and extruder).

Their is only one of the two Pololu on the photo. I'll also add screw terminals on the right side of the board to connect the steppers.
I'll then build a third board for the extruder heater and thermistor circuits.
The Arduino Uno has 14 digital I/O and 6 analogs in. The pins 0 and 1 are used by the serial. So their is 12 digitals and 6 analogs left. What I wan't to do is use an 8-bit shift register (like this one) to control the 4 axes enable and direction pins (8 pins total). It will only use 3 pins on the arduino so I save 5 pins.
So I guess the pinout for my electronic will be something like this:
D0: serial to computer
D1: serial to computer
D2: z min
D3: x STEP
D4: z max
D5: y STEP
D6: z STEP
D7: x min
D8: shift register SER
D9: shift register RCLK
D10: shift register SRCLK
D11: extruder STEP
D12: x max
D13: (not used)
A0: thermistor
A1: heater
A2: y min
A3: y max
A4: (not used) (could be used for the ATX power supply control)
A5: (not used)
Their is 3 pins left for either a heat bed (2 pins) or a second extruder (2 or 3 pins, enable, direction and maybe the second heater could be controlled by a second shift register daisy chained to the first without using additional pins. See here)