Hardware features in a target board?

I'm finding that a lot of my recent designs use the same basic hardware (some LEDs with transistor drivers, an LCD, rotary encoders, buttons, and a piezo buzzer), so I'm thinking about making a custom PCB with rough-ins for that hardware on board.

I was wondering if anyone had some suggestions for anything besides what I mentioned there that would be good to include to make it a bit more general purpose.

Also, I'm leaning towards making it a standalone board with the ATmega168 and ICSP header on-board rather than a shield so that the whole board can easily be including in a finished product rather than tying up an Arduino. Any strong arguements for that either way?

I intend to make it the size and shape of a shield, but as a standalone, I can change that more easily.

Thanks for your suggestions.

perhaps- an IR Receiver - "ports" for I2C, SPI, Serial (?)

The IR Receiver is a great idea.

I'm trying to incorporate everything onboard so I'm not sure I2C/SPI/Serial/etc would be worth the I/O lines.

With 20 pins, so far I'm thinking:

3 for LEDs 6 for an LCD (7 if I want a PWM backlight) 6 for 2 rotary encoders with buttons 2 for extra buttons

1 for an IR receiver

= 18 pins used (19 with PWM for the LCD).

I also want to use the FrequencyTimer2 library which might take over pin11 (I need to check the docs again). If it does that's 19 (20 with the backlight).

I know I can use things like a shift register for LEDs but I'm trying to keep the hardware as small and simple as possible.

I can also have a few things on the same pins (like 3 LEDs with each rotary encoder) so I can customize as I assemble. And there's things like putting LEDs on the LCD data lines.

You could add one DSB1820 temperature sensor on board, plus add pins for an off-board bus of one-wire sensors. This would only need 1 digital I/O pin in total, plus VCC/GND

Sorry, I could not resist asking this (maybe stupid) question: since some (most?) of the "basic hardware" will not be on the board (LCD, rotary encoders) because of the space restrictions (you mention the size of a shield), what is the hardware value added on top of a normal Arduino?

I may have misunderstood, but are you building an Arduino clone where the general Arduino connectors are replaced by specific (for LCD etc) connectors?

trialex: that’s a pretty good idea and I even have a couple laying around to practice with. I’ve never connected more than one though and I know there’s tutorials around but I don’t want to get too bogged down.

florinc: It’s not a stupid question, and that’s one way of looking at it. My main motivation is that I don’t incorporate a full Arduino into finished project (unless I want the USB driver chip as part of the project). So I find myself soldering the exact same basic circuit over and over. It seems I always use an LCD for example.

It’s never a good idea to reinvent the wheel though, so if it were easy to connect most of the basic hardware to a standard Arduino board I’d be all for it. But, for example, connecting a character LCD with a 2x8 header to an Arduino is no easy task. At one point I soldered together a cable to from LCD to male pins for the Arduino, but that’s the sort of thing I want to avoid repeating for every project. My way I have a 2x8 header on my board as well and use a standard $2 cable to go to the LCD.

For an RGB 3 Watt LED, I’m looking at 3 transistors, 6 resistors, and the LED which takes a bit of time to assemble and connect to an Arduino, so my way the transistors and resistors are on-board and I just have 3 pins coming off for the LED.

The rest (rotary encoders) are easy enough to connect directly to an Arduino, but by the time I’m making a custom board, I may as well finish the job and add everything I need.

I’ve been working on this and it seems to be taking me in a different direction. Something like an encoder is just so easy to solder that at this point, I think it’s better to have a prototyping area and then bring most of the pins to the edge of that area along with plenty of power terminals. Only the LCD seems worth the effort of hardwiring in the board.

So my board is starting to look like a BBB Arduino with an LCD header and some perf-board area.