I am trying to build my own custom board for the arduino uno. I have been trying to understand the schematic as seen on the website . On the schematic it has 2 MCUs. I understand that they represent the same chip in different packages. I was wondering if
No, the two uCs are different.
One is the ATmega328P, which is the true Uno's uC.
The other is the ATmega16U2, which is also uC, but it does USB <-> (TTL)UART, so Arduino-factory pre-programmed it.
By the way many cases, the latter uC be replaced by a cheaper USB-Serial chip (like a CH340) in inexpensive clones.
(I posted at the same time as chrisknightley, but I'll leave it)
That's incorrect. One is the ATmega328P and the other is the ATmega16U2. These are two different microcontrollers.
The ATmega328P is the primary microcontroller your sketch runs on, so I'd say this one is essential.
The ATmega16U2 provides a bridge between the ATmega328P and the computer. This chip communicates with the computer via a USB CDC serial port and with the ATmega328P via UART. The ATmega328P doesn't have any native USB capabilities, so it can not easily communicate directly with your computer. If you want to upload sketches and use the Serial Monitor, you'll need some similar chip, but there are other alternatives such as FTDI FT323R and CH340.
That's not a bad idea.
But when considering the design of the your custom board, it's a better idea to know about ICSP.
RESET should be pull-up to VCC, not pull-down to GND.
It's pins cause reset at low-level.
And you need some USB-Serial chip to connect with USB as I and @pert explained above.
Also, when using it not only for UART communication with a PC but also for sketch transfer, it should be equipped with an automatic reset circuit that uses a DTR signal.
Without it, you would have to reset it yourself at the right time when writing the sketch.
In that case, a reset button is required.