<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arduino Uno Archives - CyberBlogSpot</title>
	<atom:link href="https://cyberblogspot.com/tag/arduino-uno/feed/" rel="self" type="application/rss+xml" />
	<link>https://cyberblogspot.com/tag/arduino-uno/</link>
	<description>Not just another blogspot site</description>
	<lastBuildDate>Tue, 24 Jan 2023 07:15:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://cyberblogspot.com/wp-content/uploads/2018/08/cropped-iphone-iphone3gs-32x32.jpg</url>
	<title>Arduino Uno Archives - CyberBlogSpot</title>
	<link>https://cyberblogspot.com/tag/arduino-uno/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Use Arduino as ISP Programmer</title>
		<link>https://cyberblogspot.com/how-to-use-arduino-as-isp-programmer/</link>
					<comments>https://cyberblogspot.com/how-to-use-arduino-as-isp-programmer/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 17 Jan 2023 05:26:02 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino as ISP]]></category>
		<category><![CDATA[Arduino Board]]></category>
		<category><![CDATA[Arduino IDE]]></category>
		<category><![CDATA[Arduino Nano]]></category>
		<category><![CDATA[Arduino Uno]]></category>
		<category><![CDATA[ArduinoISP]]></category>
		<category><![CDATA[ATtiny85]]></category>
		<category><![CDATA[ATTinyCore]]></category>
		<category><![CDATA[Bootloader]]></category>
		<category><![CDATA[Digispark]]></category>
		<category><![CDATA[Digispark ATtiny85]]></category>
		<category><![CDATA[ICSP]]></category>
		<category><![CDATA[ICSP Programmer]]></category>
		<category><![CDATA[In-Circuit Serial Programming]]></category>
		<category><![CDATA[In-System Programming]]></category>
		<category><![CDATA[ISP]]></category>
		<category><![CDATA[ISP Programmer]]></category>
		<category><![CDATA[MCU]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Micronucleus]]></category>
		<category><![CDATA[Micronucleus bootloader]]></category>
		<category><![CDATA[Serial Peripheral Interface]]></category>
		<category><![CDATA[Sketch]]></category>
		<category><![CDATA[SPI]]></category>
		<category><![CDATA[SPI Programming]]></category>
		<category><![CDATA[USBasp]]></category>
		<category><![CDATA[USBtinyISP]]></category>
		<guid isPermaLink="false">https://cyberblogspot.com/?p=5774</guid>

					<description><![CDATA[<p>ISP (In-System Programming) programmers, which are also known as ICSP (In-Circuit Serial Programming) programmers, are used for burning bootloaders onto microcontroller (MCU) chips. They are also used for setting MCU chip fuses in order to change some of the chip&#8217;s functions. There are many cheap ISP programmers available on the internet. However, if you have&#8230;&#160;<a href="https://cyberblogspot.com/how-to-use-arduino-as-isp-programmer/" rel="bookmark">Read More &#187;<span class="screen-reader-text">How to Use Arduino as ISP Programmer</span></a></p>
<p>The post <a href="https://cyberblogspot.com/how-to-use-arduino-as-isp-programmer/">How to Use Arduino as ISP Programmer</a> appeared first on <a href="https://cyberblogspot.com">CyberBlogSpot</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>ISP (In-System Programming) programmers, which are also known as ICSP (In-Circuit Serial Programming) programmers, are used for burning bootloaders onto microcontroller (MCU) chips.  They are also used for setting MCU chip fuses in order to change some of the chip&#8217;s functions.  There are many cheap ISP programmers available on the internet.  However, if you have an Arduino board (Arduino Uno, Nano, etc.) lying around, you do not need to buy an ISP programmer.  You can easily turn an Arduino board into an ISP programmer.  This article will show you how to use an Arduino board as an ISP programmer.</p>



<p>To use an Arduino board as an ISP programmer, simply upload the Arduino IDE example sketch named &#8220;ArduinoISP&#8221;.  Next, connect the SPI pins of the Arduino board to the MCU chip or MCU board to be programmed.  Then, you can start using the Arduino board as an ISP programmer.</p>



<p>To illustrate the steps for the procedure, first, I will make an Arduino Nano board into an ISP programmer.  Then, I will show how to upload sketches and burn bootloaders to a Digispark ATtiny85 development board.</p>



<h2 class="wp-block-heading">Step by Step Guide on How to Use Arduino as ISP Programmer</h2>



<p><strong>STEP 1 &#8211; Connect your Arduino board to your computer&#8217;s USB port.</strong></p>



<p>Connect the Arduino board of your choice to your programming computer hosting the Arduino IDE.  In the next several steps, we will upload the ArduinoISP sketch to the board to make it an ISP programmer.  </p>



<p><strong>STEP 2 &#8211; Open your Arduino IDE and open the ArduinoISP sketch.</strong></p>



<p>Open your Arduino IDE.  If you are a beginner and you have not yet installed the Arduino IDE, please see <a href="https://cyberblogspot.com/how-to-install-arduino-ide-on-windows-10/" target="_blank" rel="noreferrer noopener">How to Install Arduino IDE on Windows 10</a>.  On the Main menu, select File/Examples/11.ArduinoISP/ArduinoISP.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-arduinoISP-menu-800.png"><img fetchpriority="high" decoding="async" width="802" height="595" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-arduinoISP-menu-800.png" alt="Screenshot of Arduino IDE showing how to open the example sketch ArduinoISP that turns an Arduino board into an ISP programmer" class="wp-image-5779" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-arduinoISP-menu-800.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-arduinoISP-menu-800-300x223.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-arduinoISP-menu-800-768x570.png 768w" sizes="(max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Figure 1.  Screenshot of Arduino IDE Showing How to Open the ArduinoISP Sketch</figcaption></figure></div>


<p></p>



<p>You should see the screen shown below after clicking on the ArduinoISP on the Built-in Examples menu.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-arduinoISP-sketch-800x595-1.png"><img decoding="async" width="802" height="597" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-arduinoISP-sketch-800x595-1.png" alt="Screenshot of Arduino IDE showing the ArduinoISP sketch" class="wp-image-5780" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-arduinoISP-sketch-800x595-1.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-arduinoISP-sketch-800x595-1-300x223.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-arduinoISP-sketch-800x595-1-768x572.png 768w" sizes="(max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Figure 2.  The ArduinoISP Sketch</figcaption></figure></div>


<p><br></p>



<p><strong>STEP 3 &#8211; Choose the name of your Arduino board from the Board Manager&#8217;s list.</strong></p>



<p>Go to Tools/Board/Arduino AVR Boards and select the type of Arduino board you are using.  As shown in the screenshot below, I chose Arduino Nano for my Arduino board. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-board-selection-835.png"><img decoding="async" width="835" height="595" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-board-selection-835.png" alt="A screenshot of Arduino IDE showing how select the Arduino board before uploading the sketch that will turn the Arduino board into an ISP programmer." class="wp-image-5781" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-board-selection-835.png 835w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-board-selection-835-300x214.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-board-selection-835-768x547.png 768w" sizes="(max-width: 835px) 100vw, 835px" /></a><figcaption class="wp-element-caption">Figure 3.  Picture Showing How to Select the Arduino Board</figcaption></figure></div>


<p><br></p>



<p><strong>STEP 4 &#8211; Set the proper COM serial port for your board.</strong></p>



<p>On the Tools menu, select Port.  Then select from the serial ports list the appropriate port for your Arduino board.  </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-com-port-selection.png"><img loading="lazy" decoding="async" width="802" height="597" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-com-port-selection.png" alt="Screenshot of Arduino IDE for selecting the correct serial COM port." class="wp-image-5782" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-com-port-selection.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-com-port-selection-300x223.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-com-port-selection-768x572.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Figure 4.  Arduino IDE Showing the Serial Ports Selection</figcaption></figure></div>


<p><br></p>



<p><strong>STEP 5 &#8211; Click the Upload button.</strong></p>



<p>As a final step for uploading the ArduinoISP sketch to the Arduino board, click on the Upload button. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-upload-button.png"><img loading="lazy" decoding="async" width="802" height="597" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-upload-button.png" alt="Another screenshot of Arduino IDE depicting how to start the upload of the ArduinoISP sketch to make the Arduino Nano board into an ISP programmer" class="wp-image-5783" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-upload-button.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-upload-button-300x223.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-upload-button-768x572.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Figure 5.  Arduino IDE Illustrating How to Upload a Sketch</figcaption></figure></div>


<p></p>



<p>When you see the message &#8220;Done uploading&#8221;, congratulations!!! You now have a full-pledged ISP programmer. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-done-uploading.png"><img loading="lazy" decoding="async" width="802" height="729" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-done-uploading.png" alt="Screenshot of Arduino IDE with the message saying that the sketch upload is complete" class="wp-image-5784" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-done-uploading.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-done-uploading-300x273.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-done-uploading-768x698.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Figure 6.  Arduino IDE Showing the Completion of the Sketch Upload</figcaption></figure></div>


<p><br></p>



<p>In the following steps, we are going to show how to use the Arduino board acting as an ISP programmer to:</p>



<ul class="wp-block-list">
<li>Program or upload a sketch to a Digispark ATtiny85 board</li>



<li>Burn an Optiboot bootloader</li>



<li>Burn a Micronucleus bootloader</li>
</ul>



<p><strong>STEP 6 &#8211; Connect the ISP programmer (the Arduino board) to the Digispark ATtiny85 development board.</strong></p>



<p>Like in any other ISP programmers, including the popular USBtinyISP and USBasp programmers, we use six (6) terminals of the ISP programmer to connect to the device to be programmed.  These terminals are:</p>



<ul class="wp-block-list">
<li>MOSI</li>



<li>MISO</li>



<li>SCLK</li>



<li>RESET</li>



<li>VCC</li>



<li>GND</li>
</ul>



<p>On the Arduino board acting as an ISP programmer, the corresponding terminals are as follow:</p>



<ul class="wp-block-list">
<li>D11 (MOSI)  &#8212;&gt; MOSI</li>



<li>D12 (MISO)  &#8212;&gt; MISO</li>



<li>D13 (SCLK)   &#8212;&gt; SCLK</li>



<li>D10 (SS)       &#8212;&gt; RESET</li>



<li>5V                &#8212;&gt; VCC</li>



<li>GND            &#8212;&gt; GND</li>
</ul>



<p>Now, based on the foregoing discussion, we can connect the Arduino board to the Digispark ATtiny85 board using the following terminals:</p>



<p class="has-text-align-left">Arduino Board &#8212;&gt;    Digispark ATtiny85 Board<br>D11 (MOSI)     &#8212;&gt;     PB0(MOSI)<br>D12 (MISO)     &#8212;&gt;     PB1(MISO)<br>D13 (SCLK)      &#8212;&gt;     PB2(SCLK)<br>D10 (SS)          &#8212;&gt;     PB5(RESET)<br>5V                   &#8212;&gt;      5V<br>GND               &#8212;&gt;      GND</p>



<p>For reference purposes, the Digispark ATtiny85 development board pinout is shown below.  For more information on Digispark ATtiny85, you may consult the <a href="https://cyberblogspot.com/digispark-attiny85-pinout-and-configuration/" target="_blank" rel="noreferrer noopener">Digispark ATtiny85 Pinout and Configuration</a>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/digispark-attiny85-pinout-original_final.png"><img loading="lazy" decoding="async" width="802" height="602" src="https://cyberblogspot.com/wp-content/uploads/2023/01/digispark-attiny85-pinout-original_final.png" alt="Digispark ATtiny85 pinout showing the physical pins, digital IO pins, ADC pins, PWM pins, I2C pins, SPI pins, USB pins, pin change interrupts, and hardware interrupt pin." class="wp-image-5546" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/digispark-attiny85-pinout-original_final.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/digispark-attiny85-pinout-original_final-300x225.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/digispark-attiny85-pinout-original_final-768x576.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Figure 7.  Digispark ATtiny85 Pinout</figcaption></figure></div>


<p></p>



<p>Shown below is the Fritzing breadboard diagram for connecting the Arduino Nano board to the Digispark ATtiny85 board.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-nano-digispark-attiny85-breadboard-fritzing.png"><img loading="lazy" decoding="async" width="802" height="473" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-nano-digispark-attiny85-breadboard-fritzing.png" alt="Picture showing the Arduino Nano connected to the Digispark ATtiny85 board." class="wp-image-5787" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-nano-digispark-attiny85-breadboard-fritzing.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-nano-digispark-attiny85-breadboard-fritzing-300x177.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-nano-digispark-attiny85-breadboard-fritzing-768x453.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Figure 8.  Fritzing Breadboard Diagram of Arduino Nano Connected to a Digispark ATtiny85 Board</figcaption></figure></div>


<p><br></p>



<p>How to connect the Arduino Nano board to the Digispark ATtiny85 board illustrated by an old-school schematic diagram.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-nano-digispark-attiny85-schematic-fritzing-800.png"><img loading="lazy" decoding="async" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-nano-digispark-attiny85-schematic-fritzing-800.png" alt="Picture of the schematic diagram of Arduino Nano connected to a Digispark ATtiny85 for programming the Digispark using the Arduino as ISP programmer" class="wp-image-5794" width="602" height="635" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-nano-digispark-attiny85-schematic-fritzing-800.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-nano-digispark-attiny85-schematic-fritzing-800-284x300.png 284w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-nano-digispark-attiny85-schematic-fritzing-800-768x810.png 768w" sizes="auto, (max-width: 602px) 100vw, 602px" /></a><figcaption class="wp-element-caption">Figure 9.  Schematic Diagram of Arduino Nano Connected to a Digispark ATtiny85 Board</figcaption></figure></div>


<p></p>



<p>After connecting the Arduino board to the Digispark ATtiny85 board, we are now ready to test drive the Arduino board as an ISP programmer.  </p>



<p>Since we are going to work with the Digispark ATtiny85 board, you must have the board core ATTinyCore by Spence Konde installed on your Arduino IDE.  If you do not have the ATTinyCore installed yet, see the article <a href="https://cyberblogspot.com/how-to-install-attinycore-on-arduino-ide/" target="_blank" rel="noreferrer noopener">How to Install ATTinyCore on Arduino IDE</a>.</p>



<p><strong>STEP 7 &#8211; Copy and Paste the Blink Program.</strong></p>



<p>Going back to the Arduino IDE, create a new sketch and then copy and paste the Blink program sketch shown below.</p>



<pre class="EnlighterJSRAW">/*
www.cyberblogspot.com
07Jan2022  
*/

#define LED_BUILTIN 1  //PB1 for Model A
                       //PB0 for Model B

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}</pre>



<p></p>



<p><strong>STEP 8 &#8211; Change the board from Arduino board to Digispark ATtiny85 board.</strong></p>



<p>Go to Tools/Board/ATTinyCore and select <strong>ATtiny25/45/85 (No bootloader)</strong>.  Take note that we are using the &#8220;No bootloader&#8221; option and NOT the &#8220;Micronucleus/Digispark&#8221; option.  This is because we are going to upload the Blink sketch via an ISP programmer (the Arduino board) and not thru the Digispark&#8217;s USB port.   </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-change-board-to-digispark.png"><img loading="lazy" decoding="async" width="935" height="597" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-change-board-to-digispark.png" alt="Screenshot of Arduino IDE with the list of ATTinyCore supported boards." class="wp-image-5808" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-change-board-to-digispark.png 935w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-change-board-to-digispark-300x192.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-change-board-to-digispark-768x490.png 768w" sizes="auto, (max-width: 935px) 100vw, 935px" /></a><figcaption class="wp-element-caption">Figure 10.  Arduino IDE with the ATTinyCore List of Supported Devices</figcaption></figure></div>


<p></p>



<p><strong>STEP 9 &#8211; Select the proper COM port.</strong></p>



<p>Go to Tools/Port and choose the correct COM port from the ports list.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-digispark-change-port.png"><img loading="lazy" decoding="async" width="802" height="597" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-digispark-change-port.png" alt="Screenshot of Arduino IDE showing how to select the proper COM port before using the Arduino board as ISP programmer." class="wp-image-5809" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-digispark-change-port.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-digispark-change-port-300x223.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-digispark-change-port-768x572.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Figure 11.  Arduino IDE Showing How to Select the Serial COM Port  </figcaption></figure></div>


<p></p>



<p><strong>STEP 10 &#8211; Select the programmer type.</strong></p>



<p>On the Tools/Programmer menu, select <strong>Arduino as ISP</strong> as the programmer type.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-select-programmer-type.png"><img loading="lazy" decoding="async" width="951" height="597" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-select-programmer-type.png" alt="Screenshot of Arduino IDE prior to using the Arduino Nano board as an ISP programmer." class="wp-image-5811" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-select-programmer-type.png 951w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-select-programmer-type-300x188.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-select-programmer-type-768x482.png 768w" sizes="auto, (max-width: 951px) 100vw, 951px" /></a><figcaption class="wp-element-caption">Figure 12.  Arduino IDE Illustrating How to Select the Programmer Type</figcaption></figure></div>


<p></p>



<p><strong>STEP 11 &#8211; Upload the Blink program.</strong></p>



<p>Upload the Blink program by clicking on the Upload button.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-upload-button-blink-final.png"><img loading="lazy" decoding="async" width="802" height="597" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-upload-button-blink-final.png" alt="Picture of Arduino IDE showing how to upload the Blink sketch." class="wp-image-5813" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-upload-button-blink-final.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-upload-button-blink-final-300x223.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-IDE-upload-button-blink-final-768x572.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Figure 13.  Arduino IDE Showing How to Start the Upload Process</figcaption></figure></div>


<p></p>



<p>When you see the message saying that the upload is done, your Digispark ATtiny85 board should start blinking the built-in LED.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-blink-upload-done.png"><img loading="lazy" decoding="async" width="800" height="729" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-blink-upload-done.png" alt="Another screenshot of Arduino IDE showing the message of completion of using the Arduino Nano board as ISP programmer." class="wp-image-5814" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-blink-upload-done.png 800w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-blink-upload-done-300x273.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-blink-upload-done-768x700.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></a><figcaption class="wp-element-caption">Figure 14.  Arduino IDE with Upload Completion Message</figcaption></figure></div>


<p></p>



<h3 class="wp-block-heading">How to Burn Bootloader on Digispark ATtiny85 Using Arduino as ISP Programmer</h3>



<h4 class="wp-block-heading">Burn Optiboot Bootloader</h4>



<p><strong>STEP 1 &#8211; Select ATtiny45/85 (Optiboot) from the ATtinyCore list.</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader.png"><img loading="lazy" decoding="async" width="1024" height="487" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-1024x487.png" alt="Screenshot of Arduino IDE showing how to select the Optiboot option" class="wp-image-5820" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-1024x487.png 1024w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-300x143.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-768x365.png 768w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader.png 1089w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Figure 15.  Arduino IDE Showing How to Select Optiboot</figcaption></figure></div>


<p></p>



<p><strong>STEP 2 &#8211; Verify that the proper COM port is selected.  </strong></p>



<p><strong>STEP 3 &#8211; Make sure that the programmer selected is &#8220;Arduino as ISP&#8221;.</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-page2.png"><img loading="lazy" decoding="async" width="802" height="526" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-page2.png" alt="Picture of Arduino IDE showing the options before starting the Arduino board as an ISP programmer burning the Optiboot bootloader on a Digispark ATtiny85 development board." class="wp-image-5821" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-page2.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-page2-300x197.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-page2-768x504.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Figure 16.  Arduino IDE Prior to Burning a Bootloader</figcaption></figure></div>


<p> </p>



<p><strong>STEP 4 &#8211; Click &#8220;Burn bootloader&#8221; to start the burning process.</strong></p>



<figure class="wp-block-image size-full"><a href="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-page3.png"><img loading="lazy" decoding="async" width="802" height="526" src="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-page3.png" alt="A picture depicting how to burn a bootloader into a Digispark ATtiny85 board using an Arduino board as an ISP programmer." class="wp-image-5822" srcset="https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-page3.png 802w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-page3-300x197.png 300w, https://cyberblogspot.com/wp-content/uploads/2023/01/arduino-ide-burn-optiboot-bootloader-page3-768x504.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Figure 17.  Arduino IDE Depicting How to Burn a Bootloader</figcaption></figure>



<p></p>



<h3 class="wp-block-heading">Burn Micronucleus Bootloader</h3>



<p>To burn the Micronucleus bootloader onto the Digispark ATtiny85 board using the Arduino as ISP programmer, follow the steps above for burning the Optiboot bootloader.  However, instead of selecting <strong>ATtiny45/85 (Optiboot)</strong>, select <strong>ATtiny85 (Micronucleus / Digispark)</strong> from the ATtinyCore list of supported devices. </p>



<h2 class="wp-block-heading">References on How to Use Arduino as ISP Programmer</h2>



<p><a href="https://en.wikipedia.org/wiki/In-system_programming" target="_blank" rel="noreferrer noopener">In-System Programming (ISP)</a><br><a href="https://cyberblogspot.com/how-to-install-attinycore-on-arduino-ide/" target="_blank" rel="noreferrer noopener">How to Install ATTinyCore on Arduino IDE</a><br><a href="https://cyberblogspot.com/how-to-program-attiny85-with-arduino-ide/" target="_blank" rel="noreferrer noopener">How to Program ATtiny85 with Arduino IDE</a><br><a href="https://cyberblogspot.com/digispark-attiny85-pinout-and-configuration/" target="_blank" rel="noreferrer noopener">Digispark ATtiny85 Pinout and Configuration</a><br><a href="https://cyberblogspot.com/how-to-program-digispark-attiny85-board-with-arduino-ide/" target="_blank" rel="noreferrer noopener">How to Program Digispark ATtiny85 Board with Arduino IDE</a><br><a href="https://cyberblogspot.com/digispark-usb-device-not-recognized/" target="_blank" rel="noreferrer noopener">Digispark USB Device Not Recognized</a><br><a href="https://cyberblogspot.com/how-to-use-at-09-ble-with-arduino-and-smartphone/" target="_blank" rel="noreferrer noopener">How to Use AT-09 BLE with Arduino and Smartphone</a>                                                                                   </p>
<p>The post <a href="https://cyberblogspot.com/how-to-use-arduino-as-isp-programmer/">How to Use Arduino as ISP Programmer</a> appeared first on <a href="https://cyberblogspot.com">CyberBlogSpot</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cyberblogspot.com/how-to-use-arduino-as-isp-programmer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Arduino Power Supply Schematic</title>
		<link>https://cyberblogspot.com/arduino-power-supply-schematic/</link>
					<comments>https://cyberblogspot.com/arduino-power-supply-schematic/#comments</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 26 Mar 2021 23:23:37 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino Parts]]></category>
		<category><![CDATA[Arduino Power Supply]]></category>
		<category><![CDATA[Arduino PS]]></category>
		<category><![CDATA[Arduino PS Schematic]]></category>
		<category><![CDATA[Arduino Schematic]]></category>
		<category><![CDATA[Arduino Supply Parts]]></category>
		<category><![CDATA[Arduino Supply Schematic]]></category>
		<category><![CDATA[Arduino Uno]]></category>
		<category><![CDATA[Arduino Uno Parts]]></category>
		<category><![CDATA[Arduino Uno Power Supply]]></category>
		<category><![CDATA[Arduino Uno Power Supply Schematic]]></category>
		<category><![CDATA[Arduino Uno Schematic]]></category>
		<category><![CDATA[How to Power Arduino]]></category>
		<category><![CDATA[How to Power Arduino Uno]]></category>
		<guid isPermaLink="false">https://cyberblogspot.com/?p=4288</guid>

					<description><![CDATA[<p>Knowledge of the Arduino power supply schematic is very important. It can help you choose the right power supply for your Arduino board. Besides, you should give enough attention to the Arduino power supply. Simply because it affects the entire Arduino board operation. More so, it affects the accuracy of the analog to digital converter&#8230;&#160;<a href="https://cyberblogspot.com/arduino-power-supply-schematic/" rel="bookmark">Read More &#187;<span class="screen-reader-text">Arduino Power Supply Schematic</span></a></p>
<p>The post <a href="https://cyberblogspot.com/arduino-power-supply-schematic/">Arduino Power Supply Schematic</a> appeared first on <a href="https://cyberblogspot.com">CyberBlogSpot</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Knowledge of the Arduino power supply schematic is very important.  It can help you choose the right power supply for your Arduino board.  Besides, you should give enough attention to the Arduino power supply.   Simply because it affects the entire Arduino board operation.  More so, it affects the accuracy of the analog to digital converter (ADC). </p>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2021/03/480px-Arduino-Uno-R3.jpg"><img loading="lazy" decoding="async" width="482" height="482" src="https://cyberblogspot.com/wp-content/uploads/2021/03/480px-Arduino-Uno-R3.jpg" alt="Picture of an Arduino Uno R3 development board with the power supply clear shown" class="wp-image-4480" srcset="https://cyberblogspot.com/wp-content/uploads/2021/03/480px-Arduino-Uno-R3.jpg 482w, https://cyberblogspot.com/wp-content/uploads/2021/03/480px-Arduino-Uno-R3-300x300.jpg 300w, https://cyberblogspot.com/wp-content/uploads/2021/03/480px-Arduino-Uno-R3-150x150.jpg 150w" sizes="auto, (max-width: 482px) 100vw, 482px" /></a><figcaption>Arduino Uno R3 Development Board (Photo Source: Wikipedia)</figcaption></figure></div>



<h2 class="wp-block-heading">Main Parts of Arduino Uno Power Supply</h2>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-supply.jpg"><img loading="lazy" decoding="async" width="802" height="602" src="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-supply.jpg" alt="Screenshot of an Arduino Uno development board with the power supply parts annotated" class="wp-image-4481" srcset="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-supply.jpg 802w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-supply-300x225.jpg 300w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-supply-768x576.jpg 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></a><figcaption>Arduino Uno R3 with the Power Supply Annotated</figcaption></figure></div>



<p>In the picture above, the important parts of the Arduino power supply are all annotated.  The main parts of the power supply are the two (2) voltage regulators, the op amp comparator, the MOSFET transistor, and the protection diode.</p>



<h3 class="wp-block-heading">5V Voltage Regulator  </h3>



<p>In the original Arduino Uno R3e, this is a NCP1117ST50T3G chip.  It is a three-terminal voltage regulator.  According to the datasheet, it can output a current in excess of one (1) ampere.  Also, it has  a maximum dropout voltage of 1.2 volts.  In addition to that, it boasts of input operation up to 20 volts.</p>



<p>In the Chinese Arduino clone that I have, the 5V voltage regulator is an AMS1117.  A quick check on the datasheet indicates that it is also a 1 ampere voltage regulator.  It has a similar dropout voltage of 1.2 volts.  However, the maximum input voltage is 18 volts, a two (2) volts difference from the NCP1117.  Anyway, both AMS1117 and NCP1117 are the same 1117 device from two different manufacturers.</p>



<h3 class="wp-block-heading">3.3V Voltage Regulator</h3>



<p>Again, on the original Arduino board, the chip used for the regulator is LP2985-33DBVR.  It is a Low Dropout device (LDO).  That is, the difference between the input and output voltages is very small.  The maximum dropout voltage of the device is 280mV.  Also, the device has a maximum current of 150mA and a maximum input voltage of 16 volts.</p>



<p>On the Chinese clone, the 3.3V voltage regulator is also different.  As a matter of fact, the chip is only marked as &#8220;4B2X&#8221;.  If you try to google the part number to look for the datasheet, you will end up empty handed.  However, a website selling the chip claims that the part number is XC6204B332MR-G (see screenshot below).  If it is true, then the chip has similar output current and dropout voltage as the original.  The output current is 150mA and the dropout voltage is 200mV.  However, the input voltage is only up to 10 volts, a far 6 volts lower than the original.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-clone-4b2x-voltage-regulator.jpg"><img loading="lazy" decoding="async" width="465" height="456" src="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-clone-4b2x-voltage-regulator.jpg" alt="Picture of a 4B2X chip used as 3.3V voltage regulator in Chinese Arduino Uno R3 clones" class="wp-image-4484" srcset="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-clone-4b2x-voltage-regulator.jpg 465w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-clone-4b2x-voltage-regulator-300x294.jpg 300w" sizes="auto, (max-width: 465px) 100vw, 465px" /></a><figcaption>The 3.3V Voltage Regulator Used by Chinese Arduino Clones</figcaption></figure></div>



<h3 class="wp-block-heading">OP AMP Comparator</h3>



<p>Let&#8217;s take a look at the operational amplifier (Op Amp) that is used as a comparator.  The Arduino Uno from Italy uses the LMV358IDGKR chip.  There seems nothing special here, because LMV358 is just a low voltage version of the ever popular LM358 op amp chip.  Suffice to say that the chip is a general purpose operational amplifier with two op amps in a single package.</p>



<p>Unfortunately, I cannot identify the op amp chip on my Arduino clone.  It is only marked as &#8220;88 TI&#8221;.</p>



<h3 class="wp-block-heading">MOSFET Transistor</h3>



<p>The MOSFET transistor used on the Arduino board is the FDN340P transistor.  It is a P-channel MOSFET transistor with a rating of 2A drain current.  It&#8217;s maximum drain to source voltage is 20V.</p>



<p>The Arduino clone uses the transistor A1SHB.  According to datasheetspdf.com, this transistor is a generic Si2301 transistor.  Also, their datasheet shows that it is a P-channel MOSFET transistor with 2.5A drain current rating.  It&#8217;s maximum drain to source voltage is also 20 volts, like the FDN340P.</p>



<h3 class="wp-block-heading">Protection Diode</h3>



<p>The protection diode (polarity reversal protection) installed is M7.  This is a surface mount (SMD) version of the general purpose 1N4007 diode.  Therefore, as in the regular through-hole diode, it has a 1 ampere maximum forward current rating.  Its maximum RMS voltage is 700 volts.</p>



<p>At last, I found a matching part on the Chinese clone.  The clone uses the same M7 diode that is on the original Arduino Uno board.</p>



<p>Now that we are familiar with the parts of the power supply, let&#8217;s take a look at the schematic diagram.</p>



<h2 class="wp-block-heading">Arduino Uno Power Supply Schematic Diagram</h2>



<figure class="wp-block-image size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-power-supply-only-schematic.png"><img loading="lazy" decoding="async" width="1024" height="503" src="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-power-supply-only-schematic-1024x503.png" alt="Schematic diagram of Arduino Uno R3 power supply showing how the DC barrel jack is connected to the USB power supply source" class="wp-image-4488" srcset="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-power-supply-only-schematic-1024x503.png 1024w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-power-supply-only-schematic-300x147.png 300w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-power-supply-only-schematic-768x378.png 768w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-power-supply-only-schematic.png 1186w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption>Schematic Diagram of Arduino Uno Power Supply</figcaption></figure>



<p>Shown above is the power supply schematic diagram of an Arduino Uno R3 board.  It shows that the DC jack connects to the 5.5V voltage regulator.  It also shows how the USBVCC from the USB connector supplies power to the board.  To understand the circuit better, I made a simplified schematic diagram based on the circuit above.  </p>



<h2 class="wp-block-heading">The Simplified Arduino Uno Power Supply Schematic</h2>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-simplified-schematic-revised.png"><img loading="lazy" decoding="async" width="1024" height="494" src="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-simplified-schematic-revised-1024x494.png" alt="Simplified schematic diagram of Arduino Uno development board showing the two voltage regulators and the series protection diode" class="wp-image-4518" srcset="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-simplified-schematic-revised-1024x494.png 1024w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-simplified-schematic-revised-300x145.png 300w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-simplified-schematic-revised-768x371.png 768w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-simplified-schematic-revised.png 1102w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption>Simplified Arduino Uno Power Supply Schematic Diagram (KiCad Schematic)</figcaption></figure></div>



<p>Shown above is a simplified schematic diagram of an Arduino Uno power supply.  It is based on the Arduino Uno schematic diagram from the official site.</p>



<p>Let us start from the DC Barrel Jack.  If we connect a DC power source on the DC jack, the supplied voltage will first pass thru a protection diode.  Then, it enters the 5-volt voltage regulator and comes out as a regulated 5 volts on the <strong>VCC</strong> terminal.  As noted on the diagram, the <strong>VCC</strong> provides all the power requirements of the whole Arduino board.  Take note that the <strong>VCC</strong> also connects to the 8-pin female header and labelled as <strong>5V</strong>.  </p>



<p>The 5-volt output of the regulator is also fed to the input of the 3.3V voltage regulator.  It comes out as a 3.3 volts that also terminates on the female header with a <strong>3.3V</strong> label.  Observe that this <strong>3.3V</strong> does not supply anything on the Arduino board.  Its main purpose is for supplying external circuits with 3.3 volts.  Its only use within the Arduino board is serving as a voltage reference for controlling the USB connector voltage.   </p>



<p>Finally, the simplified schematic shows that the USB connector connects to the <strong>5V</strong> (and hence, <strong>VCC</strong>) thru a simplified switch.  Let&#8217;s find out how the switch works.</p>



<h2 class="wp-block-heading">How the Auto Switching of USB Power Works</h2>



<p>Anyway, why, in the first place, is there a need for a switch on the USB connector?  The schematics above show that the Arduino board accepts power in many ways.  As a matter of fact, in four different (4) ways.  As a result, two or more input voltages may compete in supplying power to the board.  To prevent this from happening, Arduino monitors the Vin for the presence of any voltage.  Hence, the need for a switch.  If Arduino finds an external voltage coming from either the Vin or the DC jack, it disconnects the USB connector VBUS (+5V) voltage.  </p>



<blockquote class="wp-block-quote is-style-large is-layout-flow wp-block-quote-is-layout-flow"><p>If you look closely at the simplified schematic above, you will see that you should not simultaneously power the DC jack and the Vin pin.  Also, you must refrain from powering the 5V pin together with the USB connector.</p></blockquote>



<p>So basically, the Arduino board only monitors the USB connector and the Vin input voltages.  However, since the DC jack is also connected to the Vin line, it is also compared with the USB connector when it  is powered up (instead of the Vin input).</p>



<h3 class="wp-block-heading">The Op Amp Comparator</h3>



<p>The op amp (LMV388) samples the Vin line thru a voltage divider (refer to the schematic above).  Because the voltage divider uses two resistors of the same value, the voltage sampled is one half (1/2) of the Vin voltage.  This sampled Vin voltage is then compared to the output of the 3.3 volts regulator.  When the sampled Vin voltage is greater than or equal to 3.3 volts (&gt;=3.3V), the op amp output goes up.  As a result the MOSFET transistor turns off.  Subsequently, the USB connector voltage is disconnected from the 5V (or VCC) line.</p>



<p>On the other hand, when the voltage from Vin disappears or goes down below 6.6 volts, the comparator turns on the MOSFET transistor.  As a result, it will allow the input voltage from the USB to connect to the 5V supply line. </p>



<h2 class="wp-block-heading">Four Ways of Powering Up The Arduino Power Supply</h2>



<p>Based on the schematics above, we can see that there are four (4) different ways of powering up an Arduino board.  These are:  </p>



<ul class="wp-block-list"><li>USB Connector </li><li>DC Barrel Jack </li><li>Vin on the 8-pin female header</li><li>5V on the 8-pin female header</li></ul>



<h3 class="wp-block-heading">USB Connector</h3>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-usb-connector.jpg"><img loading="lazy" decoding="async" width="702" height="462" src="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-usb-connector.jpg" alt="Picture of an Arduino Uno board with the annotated USB connector for providing power supply to the board" class="wp-image-4500" srcset="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-usb-connector.jpg 702w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-usb-connector-300x197.jpg 300w" sizes="auto, (max-width: 702px) 100vw, 702px" /></a><figcaption>Arduino Uno with Annotated USB Connector</figcaption></figure></div>



<p>First, you can power the Arduino board using the USB connector.  This is one of the standard ways of supplying power to the Arduino Uno board.  When you buy an Arduino Uno board, it usually comes with a USB data cable.  This cable, when plugged into a PC, carries a 5V DC voltage on one of its terminals.  </p>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-usb-cable-annotated.jpg"><img loading="lazy" decoding="async" width="602" height="552" src="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-usb-cable-annotated.jpg" alt="Screenshot picture of a USB cable for powering the Arduino board" class="wp-image-4501" srcset="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-usb-cable-annotated.jpg 602w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-usb-cable-annotated-300x275.jpg 300w" sizes="auto, (max-width: 602px) 100vw, 602px" /></a><figcaption>USB Cable for Arduino Uno</figcaption></figure></div>



<p>The cable uses a Type A male USB connector on one end that connects to a PC.  The other end that connects to the Arduino board itself is a Type B male USB connector.  A picture of the cable connectors is shown above.</p>



<h3 class="wp-block-heading">DC Barrel Jack</h3>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-dc-barrel-jack.jpg"><img loading="lazy" decoding="async" width="482" height="482" src="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-dc-barrel-jack.jpg" alt="Picture of an Arduino Uno development board showing the DC barrel jack for connecting a power supply" class="wp-image-4503" srcset="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-dc-barrel-jack.jpg 482w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-dc-barrel-jack-300x300.jpg 300w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-dc-barrel-jack-150x150.jpg 150w" sizes="auto, (max-width: 482px) 100vw, 482px" /></a><figcaption>Arduino Uno Development Board with Annotated DC Barrel Jack</figcaption></figure></div>



<p>The second way of powering Arduino is thru the DC Barrel Jack.  Typically, the DC jack is connected to a 9V or 12V AC-DC adapter.  There are several requirements here for using the DC barrel jack.  First of all, make sure that the output of the adapter is a direct current (DC).  Second, check the voltage polarity.  The inside terminal of the plug must be positive while the outside terminal must be negative.  Third, the output voltage of the DC adapter must be at least 7 volts.  And finally, the output voltage of the adaptor may not exceed 12 volts.  Also, the recommended input voltage to the board is 9 volts.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-dc-adapter.jpg"><img loading="lazy" decoding="async" width="502" height="352" src="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-dc-adapter.jpg" alt="Screenshot of a DC adapter for providing 12 volts source to Arduino" class="wp-image-4504" srcset="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-dc-adapter.jpg 502w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-dc-adapter-300x210.jpg 300w" sizes="auto, (max-width: 502px) 100vw, 502px" /></a><figcaption>DC Adapter for Arduino Uno Board</figcaption></figure></div>



<p>Why is there a 7 volts minimum and a 12 volts maximum requirements on the DC barrel jack?  </p>



<h4 class="wp-block-heading">The Minimum Requirement</h4>



<p>The schematics above show that the input voltage from the DC barrel jack passes thru a diode.  The diode serves as a protection for polarity reversal.  That is, if you plugged a DC power adapter that is wired differently (outside terminal positive, instead of negative), you will not damage your Arduino.  However, the diode has a voltage drop of around 0.7 volts (can be as high as 1.1V).  This reduces the input voltage being fed to the board.  Also, the input voltage will pass thru a 5V voltage regulator.  The regulator requires a voltage input of at least 1.2 volts higher than its output.  That is, it needs at least 6.2 volts to operate properly.  Adding the 0.7 volts diode drop to the 6.2 volts input requirement, the total is 6.9 volts.  Hence, the required 7 volts minimum input voltage for the DC barrel jack.  </p>



<h4 class="wp-block-heading">The Maximum Requirement</h4>



<p>With regards to the 12V maximum requirement, it has something to do with the power dissipation on the voltage regulator.  For proper operation, voltage regulators require a higher voltage on its input than the required output.  But raising the input voltage more than necessary has a negative effect on the voltage regulator.  The excess input voltage produces excess power that has to be dissipated by the regulator.  Therefore, using an input voltage greater than 12 volts could exceed the dissipation rating of the regulator.  In other words, with too much input voltage, the regulator overheats and eventually gets fried.</p>



<h4 class="wp-block-heading">The Recommended Input Voltage</h4>



<p>As previously stated, the recommended input voltage for the DC barrel jack is 9V.  It is in between the minimum and the maximum input voltages.</p>



<h3 class="wp-block-heading">Power Thru Vin Pin Terminal</h3>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-Vin.jpg"><img loading="lazy" decoding="async" width="602" height="452" src="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-Vin.jpg" alt="Picture of Arduino Uno R3 development board showing the Vin power supply input" class="wp-image-4509" srcset="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-Vin.jpg 602w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-Vin-300x225.jpg 300w" sizes="auto, (max-width: 602px) 100vw, 602px" /></a><figcaption>Arduino Uno R3 Board with Annotated Vin</figcaption></figure></div>



<p>Powering the Arduino board thru the Vin terminal is basically the same as using the DC barrel jack.  It is clear from the schematics above that the only difference is the polarity protection diode.  Therefore, the requirements should be similar with the DC barrel jack.</p>



<h3 class="wp-block-heading">Power Via 5V Pin Terminal</h3>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-5v.jpg"><img loading="lazy" decoding="async" width="602" height="452" src="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-5v.jpg" alt="Picture of Arduino Uno R3 board showing the 5V power supply input" class="wp-image-4508" srcset="https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-5v.jpg 602w, https://cyberblogspot.com/wp-content/uploads/2021/03/arduino-uno-power-thru-5v-300x225.jpg 300w" sizes="auto, (max-width: 602px) 100vw, 602px" /></a><figcaption>Arduino Uno R3 Board with 5V Input Annotated</figcaption></figure></div>



<p>Finally, you may power the Arduino Uno board directly thru the 5V pin terminal.  Based on the schematics, the 5V pin terminal connects directly to the VCC.  This means it bypasses the diode polarity protection and the 5V voltage regulator.  As a result, it loses the protections afforded by these circuits.  That is, it loses the polarity reversal protection by the series diode and the built-in current limiting protection of the 5V voltage regulator. </p>



<p>Also, besides losing some protections, be aware that the input voltage to the 5V terminal must be clean and well regulated.  Furthermore, powering this terminal with a voltage greater than 6V may possibly break your Arduino board.  The reason is that the ATMEGA328 chip has an absolute maximum rating of 6 volts.</p>



<h2 class="wp-block-heading">Related Articles on Arduino Power Supply Schematic</h2>



<p>1 &#8211; <a href="https://cyberblogspot.com/how-to-use-mcp4921-dac-with-arduino/" target="_blank" rel="noreferrer noopener">How to Use MCP4921 DAC with Arduino</a><br>2 &#8211; <a href="https://cyberblogspot.com/how-to-use-mcp4725-module-with-arduino/" target="_blank" rel="noreferrer noopener">How to Use MCP4725 Module with Arduino</a><br>3 &#8211; <a href="https://cyberblogspot.com/how-to-use-ads1220-adc-module-with-arduino/" target="_blank" rel="noreferrer noopener">How to Use ADS1220 ADC Module with Arduino</a><br>4 &#8211; <a href="https://cyberblogspot.com/how-to-set-up-arduino-ide-for-esp8266-programming/" target="_blank" rel="noreferrer noopener">How to Set up Arduino IDE for ESP8266 Programming</a><br>5 &#8211; <a href="https://cyberblogspot.com/how-to-install-esptool-on-windows-10/" target="_blank" rel="noreferrer noopener">How to Install Esptool on Windows 10</a><br>6 &#8211; <a href="https://cyberblogspot.com/nodemcu-esp-32s-pin-configuration/" target="_blank" rel="noreferrer noopener">NodeMCU ESP-32S Pin Configuration</a><br>7 &#8211; <a href="https://cyberblogspot.com/nodemcu-v3-esp8266-pinout-and-configuration/" target="_blank" rel="noreferrer noopener">NodeMCU V3 ESP8266 Pinout and Configuration</a><br>8 &#8211; <a href="https://cyberblogspot.com/how-to-save-and-restore-esp8266-and-esp32-firmware/" target="_blank" rel="noreferrer noopener">How to Save and Restore ESP8266 and ESP32 Firmware</a><br>9 &#8211; <a href="https://cyberblogspot.com/how-to-control-esp-01-without-a-router/" target="_blank" rel="noreferrer noopener">How to Control ESP-01 Without a Router</a><br>10 &#8211; <a href="https://cyberblogspot.com/how-to-test-nodemcu-v3-using-esptool/" target="_blank" rel="noreferrer noopener">How to Test NodeMCU V3 Using Esptool</a></p>



<h2 class="wp-block-heading">References on Arduino Power Supply Schematic</h2>



<p>1 &#8211; <a href="https://en.wikipedia.org/wiki/Arduino_Uno" target="_blank" rel="noreferrer noopener">Arduino Uno on Wikipedia</a> &#8211; the first thing to read when doing a research<br>2 &#8211; <a href="https://store.arduino.cc/usa/arduino-uno-rev3" target="_blank" rel="noreferrer noopener">Arduino Uno Schematic Diagram</a> &#8211; complete documentation including interactive board viewer<br>3 &#8211; <a href="https://www.iu3jsx.it/wp/2019/07/11/arduino-pro-mini-clones-12v-supply-4b2x-regulator/" target="_blank" rel="noreferrer noopener">Arduino Pro Mini clones 12V supply and 4B2X regulator</a> &#8211; Arduino with 4B2X regulator getting fried<br>4 &#8211; <a href="https://learn.adafruit.com/arduino-tips-tricks-and-techniques/3-3v-conversion" target="_blank" rel="noreferrer noopener">Convert Arduino Uno Power Supply to 3.3 Volts</a> &#8211; Adafruit Arduino Tips, Tricks, and Techniques<br>5 &#8211; <a href="https://forum.arduino.cc/index.php?topic=148541.0" target="_blank" rel="noreferrer noopener">FDN340P Drawn incorrectly on schematic</a> &#8211; Discussion on a possible MOSFET erratum on Arduino Uno<br></p>
<p>The post <a href="https://cyberblogspot.com/arduino-power-supply-schematic/">Arduino Power Supply Schematic</a> appeared first on <a href="https://cyberblogspot.com">CyberBlogSpot</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cyberblogspot.com/arduino-power-supply-schematic/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
