moving project from Nano to custom pcbs..which chip???

I have been developing an open-source synthesizer project that I hope to be releasing as a product soon. Inititally all testing and building was done with a pcb which had a header for an arduino Nano to PLUG into .However for final pcbs, we want to just make a pcb with either an SMT or thru hole arduino chip, a usb to serial chip, a crystal and a regulator...

My question is...to replicate the Nano (version 3) can I just use ANY atmega 328 chip and the schematic which is linked on the Arduino site? (the schematic says ATMEGA 168-20AU for some reason but at the top of the schematic it DOES say NANO 3.0)

I would appreciate ANY advice on which chips to use, or any quirks of getting Arduino to migrate well to a custom pcb.

I figured I would include the ISP header for bootloading.

even after the cost of a pcb, parts and passives, I still see this as being cheaper and more flexible than a 30 dollar Nano.

thanks so much for any help

I wouldn't just buy any 328chip to prevent problems with different Chip-signatures. Speed, 10 or 20 Mhz may also pose a problem.

It's funny that the official schematic for the nano 3.0 (328-controller) shows an atmega168-20au chip.
http://arduino.cc/en/uploads/Main/ArduinoNano30Schematic.pdf (look at the lower part of the chip...)

I'd guess the 328-20au will be the best choice to mimic an Nano3.0 as close as possible, but if you know how to address chip-signatures/clock-speed you could choose any type you like.

Should you want to solder behind a magnifying glass, keep in mind that the MLF-package, is buy-able in a 28 and a 32 pin version.

I have documented the process I use to migrate a design from Arduino Uno to custom hardware based on the atmega328p at Prototyping small embedded projects with Arduino | David Crocker's Solutions blog.

The standard avrdude config file shipped with the Arduino IDE handles atmega328p chips, but you have to edit it to program atmega328 non-p chips. Don't confuse the P with -PU, the latter refers to the package, the former means it is the low power version. So I suggest you choose atmega328p-pu (DIP package) or atmega328p-au (SMT TQFP package).

Can use 328 if you want to save a dollar+ per part, just need a slight tweak in one of the files for the slightly different signature.
Surface mount can be difficult, especially on the USB-Serial chips, very small leads.
Maybe consider leaving room on the board and glueing down an inexpensive CP2102 module and bringing over the 4 wires? +5,GND, Rx, Tx, maybe DTR if need to download sketches.
Going to production - I guess you will have pro assembly, should take care of the soldering for you.

The schemtic - I think that's carryover from original design's that used 168's.

The avrdude.conf modification required to make the ATMEGA328-PU work is so trivial it's worth the $1 savings/chip IMO. You really shouldn't have to do it except the upstream developer for the avrdude project hasn't included it (I might send him the entry now that I'm thinking of it...)

You can edit the file, take the entire m328p section and copy/paste it to the end, then modify it (call it "m328" and "ATMEGA328") and put the correct signature for the 328(non-P) and then add your custom setup in "boards.txt" in the arduino environment, using "atmega328" instead of "atmega328p" for the "build.mcu" definition.

Instead of editing your copy, you can d/l my copy here and use it to replace your existing avrdude.conf (back up your original copy just in case though):
http://spirilis.net/stuff/arduino/avrdude.conf

well FWIW, I got word back from one of the avrdude developers, they're going to take the whole config file in a different direction with some kind of "alias" system to curb the avrdude.conf file bloat... whole discussion thread here: Re: [avrdude-dev] [bug #30498] Add support for new avr devices (atmega32

If the final code fits in a 168 then these are cheaper than 328's... Of course that might prevent future upgrades.

The surface mount versions are probably cheaper of course, but you'll have to have a way to program the bootloader onto them.

MarkT:
... but you'll have to have a way to program the bootloader onto them.

He can program the bootloader onto them via the ICSP header that he plans to include; or not bother with the bootloader and program the sketch directly into them (again via ICSP).

Thanks for all the great info!

My question now is which schematic to
Follow? If the nano 3 sch file shows a 168, then i would assume
Some pin numbers are different? Or no?

whether i go smt or not, a 328 is important

thanks

The pinouts for the 168 and 328 are identical (just checked), and they basically work the exact same way schematic-wise. Same type of crystal, capacitors, pullup resistor on the reset line, inductor on the Avcc (if you're really using the ADC) input, etc.

From what I have seen, the Arduino drawings were not updated when the '328 was rolled out in place of the '168.
The '328 has 2x the internal memory of the '168, other they are identical in connections and performance.
They are the same as the ATMega8 also I believe. Search the Atmel library for the part you want - or use one of the arduinio schematics as a starting point and strip out the bits you will not use.

If going surface mount, be careful - one part is the 5mm body with the leads underneath (like the Uno's 8U2 USB interface chip), the other is the 8mm with 0.65mm spaced gull wing kind of pins, like a Promini.