diff options
Diffstat (limited to '_log/arduino-uno.md')
| -rw-r--r-- | _log/arduino-uno.md | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/_log/arduino-uno.md b/_log/arduino-uno.md index 8521725..4e71f0d 100644 --- a/_log/arduino-uno.md +++ b/_log/arduino-uno.md @@ -1,11 +1,11 @@ --- -title: ATmega328P at 3.3V and 5V +title: ATmega328P at 3.3 V and 5 V date: 2025-06-10 layout: post --- -Quick reference for wiring ATmega328P ICs at 5V and 3.3V. 5V uses 16MHz -crystal, 3.3V uses 8MHz. +Quick reference for wiring ATmega328P ICs at 5 V and 3.3 V. 5 V uses 16 MHz +crystal, 3.3 V uses 8 MHz. <table style="border: none; width: 100%;"> <tr style="border: none;"> @@ -20,36 +20,36 @@ crystal, 3.3V uses 8MHz. </tr> </table> -## 5V-16MHz +## 5 V - 16 MHz Standard setup. How Arduino Uno boards are wired. -Connections: Pin 1 → 5V via 10kΩ resistor. Pins 9/10 → 16MHz crystal via 22pF -capacitors to ground. Pins 7/20/21 → 5V supply. Pins 8/22 → ground. Add 0.1μF -decoupling caps between pins 7/20/21 and ground. +Connections: Pin 1 → 5 V via 10 kΩ resistor. Pins 9/10 → 16 MHz crystal via 22 +pF capacitors to ground. Pins 7/20/21 → 5 V supply. Pins 8/22 → ground. Add 0.1 +μF decoupling caps between pins 7/20/21 and ground. Sample Makefile: [Makefile](Makefile) -## 3.3V-8MHz +## 3.3 V - 8 MHz -Electrical connections identical to 5V circuit. Replace 5V with 3.3V supply, -16MHz crystal with 8MHz. +Electrical connections identical to 5 V circuit. Replace 5 V with 3.3 V supply, +16 MHz crystal with 8 MHz. -Problem: ATmega328P ships configured for 5V. Must modify fuses (BOD level, -etc.) and replace bootloader. Standard Arduino bootloader expects 16MHz—needs -8MHz version. +Problem: ATmega328P ships configured for 5 V. Must modify fuses (BOD level, +etc.) and replace bootloader. Standard Arduino bootloader expects 16 MHz—needs +8 MHz version. Solution: Use Arduino Uno as ISP. Upload 'ArduinoISP' sketch from Arduino IDE. Connect SPI pins (ATmega328P ↔ Uno), Uno's SS pin → ATmega328P RESET pin. Power ATmega328P from Uno's 5V pin during programming. -Arduino IDE: Select 'ATmega328P (3.3V, 8MHz)' processor, 'Arduino as ISP' +Arduino IDE: Select 'ATmega328P (3.3 V, 8 MHz)' processor, 'Arduino as ISP' programmer. Burn bootloader via tools menu. -Sample Makefile (8MHz): [Makefile.3v3](3v3.Makefile) +Sample Makefile (8 MHz): [Makefile.3v3](3v3.Makefile) ## Remarks -Don't connect AREF (pin 21) to V<sub>cc</sub> if using ADC with internal 1.1V +Don't connect AREF (pin 21) to V<sub>cc</sub> if using ADC with internal 1.1 V or AV<sub>cc</sub> reference. See datasheet section 23.5.2. |
