When you’re working on a project, it is typical to start on a development platform such as the Arduino UNO. When it comes time to wrap the project it is typical to migrate the electronics to an Arduino Nano, which is available in a solder format. The Arduino Nano is smaller and less expensve than the Arduino UNO. Depending on size, cost and even quantity, you may want to further integrate the Arduino more directly into your project in an OEM format to save money.
The Arduino, much like the BASIC Stamp modules from Parallax, are a hybrid microcontroller. The Arduino UNO (and Nano), for example, use an Atmel® ATmega328P preloaded with a bootloader that allows the MCU to be recognized by the Arduino IDE and have code downloaded from that IDE. You can buy an ATmega328P MCU and download the bootloader yourself, making a very inexpensive Arduino.
If you’re mass-producing a product, it makes sense to integrate the ATmega328P, rather that using a development module. The only additional required components are a 16 MHz crystal and two 22 pF capacitors. Assuming your circuit already has a regulated 5V supply, you can easily integrate this slimline 28-pid DIP into your project, taking up minimal space and costing very little. A socket is recommended. Notice the Sippino USB above that has all 5 components; an ATmega328P, a 28-pin socket, a 16 MHz crystal and two 22 pF capacitors, outlined in red. Below is a kit I put together which includes the components to build four (4) Arduino OEM kits.
The extra circuitry on an Arduino module provides regulated power and a USB interface to download code. But, if you have a design with the ATmega328P integrated into it, how do you download new code to it? Well, I keep an Arduino UNO with a socketed ATmega328P for just this purpose. You can simply plug the chip into the UNO board and download new code to it. Then replace it in your project.
You can use any development board that has a socketed ATmega328P, including the Arduino UNO, Sippino USB and Arduino Duemilanove. If you’re going to be making a lot of Arduino chips from the blank ATmega328P, you may want to install a ZIF socket in the development board you’re using, as it will make it much easier to install and remove the chips being programmed.
This isn’t the best Fritzing schematic I’ve ever done. But this represents the minimum components required for a fully functional Arduino, assuming you’ve already got a regulated 5V available in your system. And that’s all there is to it. I hope this helps you to integrate the ATmega328P into your designs to save size and cost. If you’re interested in creating an OEM version of the BS2 into your design, please see this tutorial.