Which I/O pins would be best suited for this?

I'd like to connect a typical breadboard (dip not sheild ie: Nano) compatible USB enabled Arduino with the following hardware.
All 5V logic

pin count, device
6 Relays (driven with a ULN2803)
4 Opto Inputs (Open collector with 4.7K pullups)
3 RS485 (TX,RX,DE)
1 433 MHz RX module (eg: QAM-RX2-433)

Optional (any spare I/O will be assigned)
1 pushbutton
1 LED

I'm coming from a PIC background and have little experience with AVR / Arduino I/O assignments.

Comments welcome.

Well by using some of the analog inputs pins as digital pins (by referencing them as pins 14-19) you should have enough I/O pins to cover your components listed using the standard 168/328 boards. Of course the 1280 based Mega board has tons on I/O pins, lots more program and data memory plus four USARTs for more demanding applications. Pins 0 and 1 are 'hardwired' to the AVR internal USART but there are software serial libaries that can drive serial I/O from any pair of I/O pins. None of your other listed devices require any special pins, so any of the normal 13 digital + 6 analog/digital pins can be assigned to work with them.

Hope to see you come up with something interesting for the Arduino platform as I've seen your work and products using the PIC platform.

Lefty

Thanks Lefty.
It's destined to be my first kit that can be built with an 18F2550 (UBW) or Arduino Mini or Duemilanove which one would be better ???
Ideally it'll have practical applications such as an I/O extender for WHS & Linux servers (and PC's of course)

It appears the HW UART is tied up with the FT232 on the Arduino so I guess it'll have to be done in software.

Is there a pin with capture or interrupt priority for the 433MHz RX module? Usually that type of communications is Manchester encoded.

Is there a pin with capture or interrupt priority for the 433MHz RX module?

I/O pins 2 & 3 are the two available external user interrupt input pins (for the 168/328 AVR, 1280 AVR has 6) that are supported with the Arduino core library: http://arduino.cc/en/Reference/AttachInterrupt

The Duemilanove (and clone versions of the same) has by far the largest population of users I'm sure. Software is the same but board foot print and shield compatiblity differs with all the mini or DIP packaged boards.

Lefty

I’d like to connect a typical breadboard (dip not sheild ie: Nano) compatible USB enabled Arduino …

I have found the Oak Micros om328p clone to be completely software compatible with the Arduino Duemilanove, but in a breadboard format, with a price advantage compared to the Nano, and built-in USB connector advantage compared to the Mini.

Does it really have to be "USB enabled"?

You could use something like the RBBB, and connect the FT232 only when you need it to talk to the PC.

I’d like to connect a typical breadboard (dip not sheild ie: Nano) compatible USB enabled Arduino …

I’ve had success with these…
http://www.pjrc.com/teensy/

It occurred to me that many of the parts are shared among the AVR chip + FT232R and the 18F2550 that it might be easier to just use an Arduino programmed 28pin DIP and the FT232R chip.
It would also open up the opportunity to use just an FT232R on a minimal version (RS485, 422, 4 relays) as the FT232R has 5 programmable I/O pins.