13

I'd like to use an ATMega328P for my project, I hope to do it without the Arduino board.

I know with the Arduino IDE and an Arduino board I can program the microcontroller. However, would it be possible once I've programmed and debugged the program with Arduino IDE + Arduino board, to take away the microcontroller from the Arduino board and to use the ATMega328P separately, without the board?

If yes, what additional configurations I should do the ATMega328P to work correctly on the breadboard?

7

You can remove an ATMEGA from an Arduino and use it in your own board, however when used on a typical Arduino board the chip will be fused for an external crystal as a clock source, rather than the (simpler but less accurate) internal clock.

You cannot change the clock source over ISP unless the clock source the chip is currently expecting is operational, so if you want to change the clock selection you will want to do that before removing the chip from the Arduino.

However, you can also provide a clock crystal and its two capacitors (or a substitute resonator which often has this built in) on your external board.

Typically chips (even those pre-flashed with a bootloader as a convenience) are cheaper than boards, so it's unclear why you would want to move the same chip off the Arduino as opposed to using another. You will want a USB-logical level serial adapter anyway, and once you have that you can do development on the bare chip on your board, even if you do initial testing on the Arduino. In a pinch if you don't have the USB converter you can either pull the chip out of an Arduino board and run wires from its D1 and D0, or hold the on-board chip in reset to allow you to borrow those serial lines without interference.

  • 1
    My idea is to use only a microcontroller without a board. As it is easy to program an Arduino, I thought I may chose an ATMega. So, I have an Arduino uno, my idea is to buy only one ATMega and to program it and debug it using the uno board. However, I've just reaslised that if I separate the ATMega from the Arduino, I would need to add components(crystal, pull up resitances..). Can you please explain what you mean in the last paragraph of your post? Is there a simple way to program directly an ATMega(or any other microcontroller) without using the arduino IDE? Thanks. – George Oct 11 '15 at 18:09
  • While you can skip the IDE, using it or not is essentially irrelevant to the complexity of your circuit, as you can either use the IDE or not with a circuit that either has or doesn't have an external clock and either using a USB-serial on your target board, on a cable, or by programming your sketch with an ISP programmer. Yanking a chip off a board gets you nothing compared to just buying a chip either with a bootloader or without and loading one yourself, potentially using your intact Arduino as an ISP programmer, or using ISP to directly load your sketch without a bootloader. – Chris Stratton Oct 11 '15 at 18:54
7

Yes you can use ATMega328P without arduino board. I always use the IC without arduino. There are two ways of doing it.

  1. You can use arduino board with the IC. Program the IC and then take it out and use it in your circuit. You will have to use 16MHZ Oscillator with capacitors.
  2. If you don't have arduino board, you can use other programmers like USBasp to program your Atmega328p. In this case, do not use the direct upload button instead use the upload using programmer options from file menu. Do not forget to select board as Arduino Pro or Pro Mini (5v, 16mhz) With ATmega328 and programmer as USBasp.

NOTE: Refer to Atmega328p Pin Mapping and program your device accordingly. Enjoy!

2

Search for "Build an Arduino" - you'll find tons of how-to articles about doing just that. You'd need to be able to solder connections on a printed-circuit board (and not even that if you wanted to use a solderless breadboard), but it's really straightforward. You can even build it first and program the MCU on the PCB using an FTDI cable. I use an Arduino board and a solderless breadboard to experiment with unfamiliar parts, but I usually go immediately to a hand-built board once I'm familiar with all of the components I'll be using.

Prototyping with the Arduino board lets you throw together a bunch of parts and get something working quickly, and if the Arduino is more capable than your final target - f/ex, a Mega 2650 - you can temporarily ignore the memory and I/O constraints of the smaller device.

protected by VE7JRO Aug 21 at 15:36

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.