임베디드를 좋아하는 조금 특이한 개발자?

[자작 Arduino Uno 제작] 회로 설계 - ATmega16U2 회로 본문

Project/자작 Ardunio 제작

[자작 Arduino Uno 제작] 회로 설계 - ATmega16U2 회로

Gordon_ 2026. 2. 1. 23:54

- 제작 환경

KiCAD Verson 9.0.3


1. 서론

 

  Arduino Uno에는 2개의 MCU가 있습니다. 그 중 하나인 ATmega328p는 개발한 펌웨어를 다운로드 받아 실행되는 MCU이며, ATmega16u2는 ATmega328p에 펌웨어를 다운로드 하기 위한 MCU입니다. 그리고 현재 사람들이 가장 많이 사용하는 인터페이스인 USB를 지원하기 위해서 ATmega16u2를 사용하였습니다. 

 

2. ATmega16u2 회로 설계

2.1. 전원 설계

 

  전원은 위와 같이 일반적으로 사용하는 MCU화 같은 회로를 구성하고 있습니다. 여기서 Ucap의 경우는 Datasheet에 용량이 명시되어 있습니다.

2.2. 외부 크리스탈 발진기

 

  위 보이는 것처럼 16MHz의 경우 12 ~ 22pF 을 사용하라고 Datasheet에 명시되어 있으며 1M 저항을 사용한 것은 Arduino UNO 회로에서  사용하고 있기 때문입니다.

 

2.3. Reset 설정 및 ISP 핀

  

  J1읜 ISP로 ATmega16u2로 프로그램을 다운로드하기 위한 커넥터입니다. 그리고 오른쪽 회로는 Reset Pin에 5V를 인가하기 위한 회로입니다. ISP로 프로그램을 다운로드 받기 위해서는 2가지가 필요합니다. Reset이 Low(0V)로 설정할 것과 SPI 통신으로 프로그램을 다운로드 할 것입니다. 여기서 J1 커넥터가 연결되면 GND로 직접 연결되어 Reset이 0V이 입력되어 ISP로 프로그램을 다운로드 받을 준비를 완료합니다. 그 후 SPI 통신을 통해 프로그램을 다운로드 합니다.

 

2.4. UART 회로

 

  외쪽 회로는 ATmega328에 연결되기 위한 UART 회로 입니다. 1k 저항을 통해 높은 전류가 들어오는 것을 예방합니다. 그리고 LED를 통해 Rx,Tx를 시각적으로 보여줌니다.

2.5. DTR(Data Teriminal Ready) 회로

  위 회로에서 모이듯 빨강이 5V에서 0V로 떨어지면 초록도 같이 5V가 강하됩니다. 하지만 캐패시터를 통해 원래 전압으로 서서히 복귀합니다.

 

3. ATmega16u2 전체 회로

ATmega16U2.pdf
0.04MB

 

4. 결론

  이제 마지막으로 ATmega328만 회로 설계가 완료 된다면 전체적인 회로설계는 완료합니다. 지금까지 회로를 설계하면서 느낀점은 생각보다 회로로 그려보니 회로가 크게 어렵지 않다는 것입니다. 그리고 부품 하나 하나가 허투로 사용되지 않았다는 점이 신기합니다. 회로설계는 소프트웨어 개발과 다르게 실제 제품이 생산된다면 수정하기 어렵기 때문에 실제 개발하는 과정이 많이 다르다고 생각합니다.