Arduino ATmega328 Hardcore

Arduino ATmega328 - Hardcore

Arduino Prototype Ok, you've completed your prototype using an Arduino Uno board, perhaps using a shield or a breadboard for any additional components, but now you want to finalise your design and construct it using your own pcb. Well, that is fairly straightforward, as we have made a complete kit of essential parts available for the ATMega328 micro (click here). The kit includes the following items (depending on which bootloader chip 16MHz or 8MHz)


  • ATMega328 complete with Arduino Bootloader already installed
  • 8 or 16MHz Crystal and capacitors
  • 3.3V or 5V Voltage Regulator and 47uF capacitor
  • PCB mount reset switch and 10K pullup resistor
  • 0.1uF capacitor for self-reset
  • LED and resistor


The kit includes the essential items to create your own Arduino 328 board. Here is a breadboard with all the components mounted and running the demo led flash program
The White, Yellow and Green wires are connected to a serial TTL connection for programming the microcontroller (see below)

And below is the schematic for this circuit.
Arduino Hardcore components on a breadboard

Arduino Hardcore components schematic

You can program the processor directly from the Arduino IDE. All you need is a TTL serial connection. The FT232RL USB to Serial breakout board is ideal for this.  Now that we are using the modified Arduino UNO bootloader, we have also included a 0.1uF capacitor in the kit which allows for the auto-reset functionality of the UNO boards. This capacitor goes between the DTR pin on the FT232RL USB to Serial board and the Reset pin on the ATmega328.
Sparkfun FT232RL USB to Serial Breakout Board
Just connect the ATMega328 RX (pin 2) to TX on the breakout board, the ATMega328 TX (pin 3) to RX on the breakout board, connect the 0V and you are connected

NOTE: Do NOT connect the ATMega328 TX and RX pins directly to an actual PC serial port The voltages are incompatable and you may damage the chip

If you have a PC Serial Port (or USB to serial port cable) you can use this directly without the need for the breakout board with the addition of two transistors and a few resistors with the following modification.

Programming the ATmega328

Once you have your serial connection setup you can program the ATmega328 directly from the Arduino IDE.
Firstly, you must select the Arduino UNO as the board (or if using the 8MHz chip Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328)


Next, press the upload button in the Arduino IDE, and wait until you get the successfully compiled message (below). As soon as the message appears, press the reset button on your board to force the bootloader to reset.

Your program should then be loaded and will start running