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

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

Project/자작 Ardunio 제작

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

Gordon_ 2026. 2. 3. 00:12

- 제작 환경

KiCAD Verson 9.0.3


1. 서론

  이제 실제 아두이노 스케치가 동작하는 ATmega328 회로를 설계할 차례입니다. 대부분의 회로는 ATmega16U2와 중복되지만 Reset 버튼을 위한 회로가 살짝 다릅니다. 그래서 ATmega328 회로 설계는 빠르게 마무리 되었습니다.

 

2. ATmega328 회로 설계

2.1. 전원 설계

 

2.2. 외부 크리스탈 발진기

 

2.3. ISP 핀

2.4. Arduino Uno 핀 헤더

 

2.5. Reset 회로

 

  ATmega 의 MCU는 펌웨러를 실행할때는 Reset를 High로 설정해야합니다. 펌웨어를 다시 실행 즉 Reset를 하고 싶은 경우 Reset 핀에 Low를 설정후 다시 High로 설정하여 MCU를 Reset합니다. 이를 위해 풀업저항을 사용하여 Reset 버튼을 구성하였습니다.

 

주의 사항)

  Reset 핀은 DTR 기능을 수행하기 위해  ATmega16u2와 연결되어 있습니다. 그러므로 위 회로 외 다른 부품을 추가한다면 DTR기능이 동작하지 않을 수 있습니다.

 

2.6. Built in LED 

  위 회로의 경우 단순히 Arduino Uno의 13번 핀으로 LED를 점등하는 회로 입니다. 하지만 특이하게 OpAMP를 사용하였습니다. 그이유는 13번 핀의 경우 SPI_SCK 으로 동작하기도 합니다. 하지만 신호 관련 회로에 다른 부품들이 연결되게 되면 해당 신호가 변형될 수 있습니다. 그러므로 OpAMP를 통해 LED를 점등하는 것에 대해 직접적으로 회로에 영향이 가지않도록 설계한 것입니다.

 

3. ATmega328전체 회로

ATmega328 Schematic.pdf
0.05MB

 

4. Arduino Uno R3 전체 회로

Arduino UNO R3 Schematic.pdf
0.16MB

 

5. 결론

  드디어 전체적인 회로 설계는 끝났습니다. 회로 설계가 끝났으니 거의 절반 이상 진행했다고 봐도 무방하다고 생각합니다. 이제 설계한 회로를 바탕으로 PCB 디자인을 완성하도록 하겠습니다.