<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.microrusty.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Programming_ATmega328P_Target_Bd</id>
	<title>Programming ATmega328P Target Bd - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.microrusty.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Programming_ATmega328P_Target_Bd"/>
	<link rel="alternate" type="text/html" href="http://www.microrusty.com/mediawiki/index.php?title=Programming_ATmega328P_Target_Bd&amp;action=history"/>
	<updated>2026-04-23T20:52:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://www.microrusty.com/mediawiki/index.php?title=Programming_ATmega328P_Target_Bd&amp;diff=27&amp;oldid=prev</id>
		<title>U731219879 rc: Created page with &quot;Setup &#039;&#039;&#039;ATmega328P Target Bd&#039;&#039;&#039; at 1MHz and flash the blink program to chip that blinks an LED. &lt;br&gt;  &#039;&#039;&#039;Prerequisites&#039;&#039;&#039;: Know how to use &#039;&#039;&#039;AVRdude&#039;&#039;&#039; with a &#039;&#039;&#039;USB program...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.microrusty.com/mediawiki/index.php?title=Programming_ATmega328P_Target_Bd&amp;diff=27&amp;oldid=prev"/>
		<updated>2019-03-23T03:40:52Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Setup &amp;#039;&amp;#039;&amp;#039;ATmega328P Target Bd&amp;#039;&amp;#039;&amp;#039; at 1MHz and flash the blink program to chip that blinks an LED. &amp;lt;br&amp;gt;  &amp;#039;&amp;#039;&amp;#039;Prerequisites&amp;#039;&amp;#039;&amp;#039;: Know how to use &amp;#039;&amp;#039;&amp;#039;AVRdude&amp;#039;&amp;#039;&amp;#039; with a &amp;#039;&amp;#039;&amp;#039;USB program...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Setup &amp;#039;&amp;#039;&amp;#039;ATmega328P Target Bd&amp;#039;&amp;#039;&amp;#039; at 1MHz and flash the blink program to chip that blinks an LED. &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Prerequisites&amp;#039;&amp;#039;&amp;#039;: Know how to use &amp;#039;&amp;#039;&amp;#039;AVRdude&amp;#039;&amp;#039;&amp;#039; with a &amp;#039;&amp;#039;&amp;#039;USB programmer&amp;#039;&amp;#039;&amp;#039;. (usbtiny, usbasp, etc.....)&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;avrdude -p m328p -c usbtiny -v&amp;#039;&amp;#039;&amp;#039; | &amp;#039;&amp;#039;&amp;#039;avrdude -p m328p -c usbasp -P usb -v&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Connect &amp;#039;&amp;#039;&amp;#039;USBtiny&amp;#039;&amp;#039;&amp;#039; to &amp;#039;&amp;#039;&amp;#039;ATmega328P Target Board&amp;#039;&amp;#039;&amp;#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
* Test the connection to programmer:  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;avrdude -p m328p -c usbtiny -v&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt;&lt;br /&gt;
* Connect LED with pull down resistor to &amp;#039;&amp;#039;&amp;#039;Pin D13&amp;#039;&amp;#039;&amp;#039; on &amp;#039;&amp;#039;&amp;#039;ATmega328P Target bd&amp;#039;&amp;#039;&amp;#039;. (Not needed if using Target Bd built in Yellow LED) &amp;lt;br&amp;gt;&lt;br /&gt;
* Open &amp;#039;&amp;#039;&amp;#039;Arduino IDE&amp;#039;&amp;#039;&amp;#039; and change the following settings: Under the &amp;#039;&amp;#039;&amp;#039;Tools&amp;#039;&amp;#039;&amp;#039; tab &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Board:&amp;#039;&amp;#039;&amp;#039; =&amp;#039;&amp;#039;&amp;#039;&amp;quot;Arduino/Genunio Uno&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;Programmer:&amp;#039;&amp;#039;&amp;#039; = &amp;#039;&amp;#039;&amp;#039;&amp;quot;USBtiny or USBasp&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Copy-Paste/Load &amp;#039;&amp;#039;&amp;#039;BlinkATmega328P.ino&amp;#039;&amp;#039;&amp;#039; Arduino file. (&amp;#039;&amp;#039;&amp;#039;Do not Flash at this time&amp;#039;&amp;#039;&amp;#039;)&amp;lt;br&amp;gt;	 &lt;br /&gt;
&lt;br /&gt;
 /* BlinkATmega328P.ino &lt;br /&gt;
 Turns on an LED for one second, then off for one second, repeatedly.&lt;br /&gt;
 AVRdude Embedded Workshop - Rusty Cain 2018&lt;br /&gt;
 Demonstrate Changing the Fuse setting using AVRdude. */ &lt;br /&gt;
 &lt;br /&gt;
 #define LED_YELLOW 13&lt;br /&gt;
 void setup() &lt;br /&gt;
 {&lt;br /&gt;
      pinMode(LED_YELLOW, OUTPUT);      // Define pin as output&lt;br /&gt;
 }&lt;br /&gt;
 void loop() &lt;br /&gt;
 {&lt;br /&gt;
      digitalWrite(LED_YELLOW, HIGH);   // turn the LED on (HIGH is the voltage level)&lt;br /&gt;
      delay(100);                       // wait for a second&lt;br /&gt;
      digitalWrite(LED_YELLOW, LOW);    // turn the LED off by making the voltage LOW&lt;br /&gt;
      delay(100);                       // wait for a second&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
* Validate ATmega328P clock speed is set to the 1 MHz default by using the following command for reading fuse settings.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;avrdude -p m328p -c usbtiny -v&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:1MHzSettingPic.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;1 MHz Default Settings:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 avrdude -p m328p -c usbtiny -v -U lfuse:w:0x62:m -U hfuse:w:0xD9:m -U efuse:w:0xFF:m&lt;br /&gt;
&lt;br /&gt;
* Generate the binary file by selecting under the &amp;#039;&amp;#039;&amp;#039;Sketch&amp;#039;&amp;#039;&amp;#039; Tab: &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;Export complied Binary&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;   &lt;br /&gt;
* Flash the chip by Selecting &amp;#039;&amp;#039;&amp;#039;Upload Using Programmer&amp;#039;&amp;#039;&amp;#039; under &amp;#039;&amp;#039;&amp;#039;Sketch&amp;#039;&amp;#039;&amp;#039; Tab in &amp;#039;&amp;#039;&amp;#039;Arduino IDE&amp;#039;&amp;#039;&amp;#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
* Notice the speed of the blinking LED at 1MHz.  &lt;br /&gt;
* Using AVRDude Set Fuses to &amp;#039;&amp;#039;&amp;#039;8MHz&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;8 MHz Settings:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 avrdude -p m328p -c usbtiny -v -U lfuse:w:0xE2:m -U hfuse:w:0xD6:m -U efuse:w:0xFF:m&lt;br /&gt;
 [[File:8MHzSettingPiv.PNG]]&lt;br /&gt;
* Notice the faster blink rate.&amp;lt;br&amp;gt;&lt;br /&gt;
* Using AVRDude Set Fuses to 16MHz. Needs 16MHz external clock which is included on the Target board&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;16 MHz Settings&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
 avrdude -p m328p -c usbtiny -v -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFF:m &lt;br /&gt;
 [[File:16MHzSettingPic.PNG]]&lt;br /&gt;
* Notice the even faster blink rate.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using AVRDude Set ATmega328P Chip back to 1MHz &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;1 MHz Default:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 avrdude -p m328p -c usbtiny -v -U lfuse:w:0x62:m -U hfuse:w:0xD9:m -U efuse:w:0xFF:m&lt;br /&gt;
* Notice the blink rate. &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Special Note:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Some &amp;#039;&amp;#039;&amp;#039;Arduino libraries&amp;#039;&amp;#039;&amp;#039; are written to only work at &amp;#039;&amp;#039;&amp;#039;16 MHz&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
 Always check the &amp;#039;&amp;#039;&amp;#039;Fuse setting&amp;#039;&amp;#039;&amp;#039; if devices are not working properly.&lt;br /&gt;
 When changing &amp;#039;&amp;#039;&amp;#039;Fuse setting&amp;#039;&amp;#039;&amp;#039; always ensure the correct &amp;#039;&amp;#039;&amp;#039;Baud Rate&amp;#039;&amp;#039;&amp;#039; for any serial &amp;#039;&amp;#039;&amp;#039;RS232 UART&amp;#039;&amp;#039;&amp;#039; communications. &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Examples of Clock fuse setting commands:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;1 MHz&amp;#039;&amp;#039;&amp;#039; ATmega328P Default Fuse Settings &lt;br /&gt;
 avrdude -p m328p -c usbtiny -v -U lfuse:w:0x62:m -U hfuse:w:0xD9:m -U efuse:w:0xFF:m&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;8 MHz Internal clock &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 avrdude -p m328p -c usbtiny -v -U lfuse:w:0xE2:m -U hfuse:w:0xD6:m -U efuse:w:0xFF:m &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;16 MHz Default&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 avrdude -p m328p -c usbtiny -v -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFF:m &lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Arduino Uno: 16 MHz&amp;#039;&amp;#039;&amp;#039; Standard Arduino Uno settings. &lt;br /&gt;
 avrdude -p m328p -c usbtiny -v -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0x05:m  = Arduino Uno&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Project 1 completed.&amp;lt;br&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==[[ AVRDUDE Class ]]==&lt;/div&gt;</summary>
		<author><name>U731219879 rc</name></author>
		
	</entry>
</feed>