I've been using an Arduino Uno Rev. 3 for a few projects and would like to switch to using a bare Atmega328 chip so I can keep everything on the same board. I've seen the Arduino on breadboard tutorial which is fine, but the Arduino board itself has a lot of other components that aren't in the tutorial. I realize I can go look up the actual design itself, but I'm looking for a high level description of what most of the components are used for.

I'm not interested in programming through the Arduino IDE, so I don't need parts for serial programming and such. But I'm wondering if leaving out some other components would leave me at a disadvantage. For example, the datasheet recommends connecting AVCC to VCC with an LC circuit for ADC noise cancellation, but the arduino on breadboard tutorial doesn't mention this and I otherwise never would have known.

  • 9
    I realize I can go look up the actual design itself - So do it! It is a very simple board. If you have a specific question about some part of it, then ask.
    – Eugene Sh.
    Jul 21 '17 at 13:49
  • 1
    What do you expect us to tell you that is not "go read the schematic?" If you want a block diagram, it's just a microcontroller, USB-to-serial, and some voltage regulation.
    – Joren Vaes
    Jul 21 '17 at 13:54
  • 2
    If you're not interested in the Arduino hardware, and you're not interested in the Arduino software, why mention Arduino at all? Just work directly from the Atmega328 datasheet.
    – Dave Tweed
    Jul 21 '17 at 14:03
  • The schematic just has a lot to take in all at once for someone not used to very complex circuits. It's not easy to figure out what everything does other than look at every detail, google pin names, etc. It just seems like some sort of resource could be made to make it a bit easier to parse. Though maybe that's a bit much for this site if that means just going through the schematic, highlighting bits, and explaining what each one does.
    – TheLoneMilkMan
    Jul 21 '17 at 14:03
  • 2
    This is one of the rare hardware questions that are probably better suited for the Arduino SE. You want a description of the Arduino hardware, it can't be more Arduino-specific than that.
    – pipe
    Jul 21 '17 at 14:07

You did not specify what Arduino board you are talking about. It would have been useful to tag the question with the appropriate board name. In the following, I assume you want something similar to an Arduino Uno, i.e. an ATmega328P at 5 V and 16 MHz.

I realize I can go look up the actual design itself [...]

You should. There really isn't that much to it.

Let us take a look at the Uno rev. 3 schematic, and see what may be useful to you:

  • ATmega16U2 and associated circuitry: This is for USB communication. You have no use of it if you are not doing USB.

  • 3.3 V regulator: This is for providing the Arduino 3.3V output. Only a convenience feature, not used by the Arduino itself. You should leave this out unless you need a 3.3 V supply.

  • 5 V regulator. Only you know how you want to power your board. This regulator is needed unless you have some reasonably stable 5 V supply like, e.g., a USB bus.

  • ISCP header: This is rarely used on an Arduino, but you are very likely to use it in your custom board, as ICSP is the easiest way to program an ATmega with no bootloader.

  • Reset button: Not always needed, as you can just power-cycle your board.

  • 10 kΩ pullup on RESET: Your board is very likely to work just fine without this, but there is a little risk that you suffer from random resets. You want this resistor on anything that is “production”-like, for reliability concerns.

  • Decoupling capacitors: Just like the RESET pullup, the board may work without them, but they provide reliability.

  • The MOSFET and OP-amp right before the 3.3 V regulator: This is for automatically switching between the Vin and USB power supplies. Unlikely to be useful on a custom board.

  • Ceramic resonator: For running the ATmega at 16 MHz, you need either this or, for better timing characteristics, a quartz with suitable capacitors.

  • LEDs: You know if you want them.

  • AREF capacitor: Only useful if you do analog readings, as it reduces noise.

  • Yeah I was asking about the Uno Rev 3. I've edited my question to specify that. This is just what I was looking for! Ive looked at the schematic as well in the meantime but this goes over it in a very functional way. Jul 23 '17 at 19:54

It all depends on you want, and what you are talking or thinking about, when you ask What is an Arduino. There are two main things that I associate with Arduino: A family of Development Boards (maybe a hardware family of development boards) and a Software built to work with that development boards. This let me to answer you using that two focuses:

  1. The hardware focus

I understand that the Arduino boards were intended to bring the electronics and programming, closer to artists. Also, as any development board, the Arduino boards allows the user to test the most quantity of features of the core microcontroller used in the board (for Arduino UNO, the Atmega328P). Thus implying that the most of components included are to allow you a "safe" development workaround.

Now, when you have worked in a project so many time that you are ready to replicate your design, maybe for a commercial implementation, an Arduino board can take up more space that if you design your own board, well by you are not going to use all the pins or well by that you noted that you are not going to mess up the microcontroller or other components (maybe you did it the necessary times to know it) and you want to choose a smaller package that don't needs an easy microcontroller replacement, or finally because you want to include in a single board all the components and circuitry you used for your project and remove the ones you are not going to use, that is the case you mention, and you can do more things... if you want to work from a CR2032 battery you won't need the regulator and so...

  1. The software focus

When you decide to use your own circuitry, maybe you also want to program the IC by yourself, not through the 2K bootloader preprogrammed, but by your own ISP programmer. There are many workarounds using the Arduino IDE, but as apparently you don't want to use the Arduino IDE, the ISP programmer would be your programming interface.

A conclussion?: The minimal things you have to bear in mind to put in run the Atmega328P (and maybe most of microcontrollers) are 3: polarization, clock and Reset. The other things (the LC network you mentioned, the RC network I will mention, and so...) can improve the microcontroller stability and performance.

  1. Polarization. Depending on the board, the DC supply used can be either 5V or 3.3V. Check the voltage used by your board.
  2. Clock/Oscillator. See and reply the oscillator configuration used in the board. Then search where you can set up (in your IDE or code) the oscillator speed. Overall if you decide or want to use the internal oscillator, obtaining a minimal circuit or by playing with arduino config files. Note that, as example with the 328P, using the internal oscillator means that you are not going to reach the max number of MIPS the 328P can reach (with the internal you have 8MIPS, but you can use an external crystal up to 20 MHz to get 20 MIPS)... It really matters if you are going to do many processing tasks.
  3. Reset. Please do not let it open, send it to VCC through a 10Kohm resistor, and (if available) additionally to GND with a 100nF ceramic capacitor.

There is very little on an Arduino aside from the chip itself, the regulator (sometimes) and the crystal / oscillator (sometimes).

But I'm wondering if leaving out some other components would leave me at a disadvantage.

Leaving out some parts will give you a disadvantage for some applications but give you an advantage for others; the same for adding some parts.

The right question is to figure out what you want to achieve with a given application and design towards that goal.

For minimum implementations, I have done plenty of nothing but the MCU - ghetto style.

On the flip side, there are plenty of applications where the MCU is literally buried in a sea of other parts: C8051F350 based LCR meter for example. so what to put in and what to take out is really application dependent.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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