<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Documents</title><link>https://community.element14.com/products/arduino/arduino-tutorials/w/documents</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Documents</title><link>https://community.element14.com/products/arduino/arduino-tutorials/w/documents</link><pubDate>Fri, 01 Oct 2021 18:05:27 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e9864837-de6a-499c-96a7-fc8cf7ff51c0</guid><dc:creator>migration.user</dc:creator><description>Current Revision posted to Documents by migration.user on 10/1/2021 6:05:27 PM&lt;br /&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Getting Started with Arduino IoT Cloud</title><link>https://community.element14.com/products/arduino/arduino-tutorials/w/documents/4198/getting-started-with-arduino-iot-cloud</link><pubDate>Mon, 15 Jul 2019 19:30:54 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:a172b832-485d-43e2-a7b9-742f9f74d7d0</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 7/15/2019 7:30:54 PM&lt;br /&gt;
&lt;p style="margin:0;"&gt;You can use Arduino IoT&amp;nbsp; Cloud to log, graph, and analyze sensor data, trigger data, and home automation.&amp;nbsp; It offers an easy platform for beginners and its ideal for rapid prototyping for professionals.&amp;nbsp; You can quickly build remote sensor monitoring using widgets and connect to a spreadsheet, database, or automate alerts using webhooks.&amp;nbsp; Devices are secured using X 509 certificate-based authentication, developers can create custom apps using Arduino IoT Cloud APIs, and its based on open hardware and open IoT standards.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The following video shows how you can get up and running in no time at all:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;br /&gt;&lt;span id="1431a8b6_9746_4e16_9c6d_ac27c1f8f679"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=hrwrhwFa74k"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Sign up to Arduino IoT cloud at &lt;a class="jive-link-external-small" href="https://auth.arduino.cc/register" rel="nofollow ugc noopener" target="_blank" title="https://auth.arduino.cc/register"&gt;https://auth.arduino.cc/register&lt;/a&gt; :&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1408x833/__key/communityserver-wikis-components-files/00-00-00-02-71/3323.contentimage_5F00_117256.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/3323.contentimage_117256.png-620x367.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=0k26odFkMI2HPlRRXnKPKkvRy6YWvk80UV0cVhmcqnw%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=JeUWJ1HesCylMj+Pp2TcsA==" style="max-height: 367px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;or login if you have an account or use your google account:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1412x775/__key/communityserver-wikis-components-files/00-00-00-02-71/6765.contentimage_5F00_117257.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/6765.contentimage_117257.png-620x340.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=%2B3gArvFgvkLhXiMb39XXZj2HalHDTQXS77j%2FYLppbXs%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=1jFkMCEM3knWa1/foMM2tg==" style="max-height: 340px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;You&amp;#39;ll find a &lt;a class="jive-link-external-small" href="https://create.arduino.cc/projecthub/133030/iot-cloud-getting-started-c93255" rel="nofollow ugc noopener" target="_blank"&gt;step-by-step tutorial&lt;/a&gt; as well as an &lt;a class="jive-link-external-small" href="https://www.arduino.cc/en/Create/FAQ#toc11" rel="nofollow ugc noopener" target="_blank"&gt;FAQ&lt;/a&gt;.&amp;nbsp; Currently, Arduino IoT Cloud only supports the MKR 1000, MKR WiFi 1010 and the MKR GSM 1400 boards.&amp;nbsp; In the future the MKR VIDOR 4000 and Arduino Uno boards will also be supported.&amp;nbsp; Next click on &amp;quot;New Thing&amp;quot; and select the board you wish to use to configure:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1216x726/__key/communityserver-wikis-components-files/00-00-00-02-71/2555.contentimage_5F00_117258.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/2555.contentimage_117258.png-620x370.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=rVE3fxTXEZkpct43wG%2Br67GOzRIeraWPf2T2zzLm6Bk%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=igWY6C/4Sxwugpa72fzuRA==" style="max-height: 370px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;You&amp;#39;ll need to download and install a plugin onto your computer, connect your board via USB, give it a name, and then configure your board. Arduino IoT Cloud is currently in the public beta stage. We welcome feedback on what you like and what you don’t!&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;Arduino IoT Cloud Components&lt;/span&gt;&lt;/h2&gt;&lt;h2&gt;&lt;/h2&gt;&lt;p style="margin:0;"&gt;Based on what the user wants to achieve, an IoT application will require a few basic components:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Devices to collect data or control something (the hardware you want to use);&lt;/li&gt;&lt;li&gt;Software to define the behavior of the hardware (code such as an Arduino Sketch)&lt;/li&gt;&lt;li&gt;A Cloud application to store data, or remotely control the equipment. (cloud service provider&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;Arduino IoT Cloud Properties&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Devices such as the MKR 1010 board use software (eg. Sketches) to run software, read sensors, control actuators, an communicate with the Arduino IoT Cloud.&amp;nbsp; The &amp;quot;thing&amp;quot; in Internet of things refers to a collection of properties such as temperature or light and not the hardware itself.&amp;nbsp;&amp;nbsp; A thing is the logical representation of a connected object.&amp;nbsp; Properties are the qualities defining the characteristics of a system. A property can be something like a &amp;#39;read-only&amp;#39; (RO) setting to indicate the Arduino IoT Cloud can read the data, but cannot change the value of the property. A property might be designed as &amp;#39;read and write&amp;#39; (RW) if the Arduino IoT Cloud can also remotely change the property’s value and send an event notification to the device.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;For example, a device might have a sensor which will provide the room temperature. That would be read-only. It might also include a thermostat to be able which will change the room’s temperature.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder mce-item-table" style="border:1px solid #c6c6c6;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;color:#505050;background-color:#f2f2f2;text-align:left;" valign="middle"&gt;&lt;strong&gt;Property&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;color:#505050;background-color:#f2f2f2;text-align:left;" valign="middle"&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;color:#505050;background-color:#f2f2f2;text-align:left;" valign="middle"&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;color:#505050;background-color:#f2f2f2;text-align:left;" valign="middle"&gt;&lt;strong&gt;Permission&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;"&gt;ROOM_TEMPERATURE&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;"&gt;TEMP (F)&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;"&gt;64&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;"&gt;RO&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;"&gt;DESIRED_TEMPERATURE&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;"&gt;TEMP (F)&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;"&gt;69&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #c6c6c6;padding:6px;"&gt;RW&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:20px;font-weight:bold;color:#3334ca;"&gt;Arduino IoT Cloud Events &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The Arduino IoT Cloud becomes aware of events when it receives application messages that indicate the something has happened. For example, it might be informed by a face-recognition application that someone is at a door, or it has received a request from another app that light has to be turned on.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;Software for Arduino IoT Cloud&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;If you&amp;#39;re familiar with Arduino then you are aware of how Sketches work.&amp;nbsp; When you create a &amp;quot;sketch&amp;quot; it is processed and compiled to machine language. Sketches are basically a simplified version of C/C++.&amp;nbsp;&amp;nbsp; What Arduino IoT Cloud does it will quickly&lt;/p&gt;&lt;p style="margin:0;"&gt;and automatically generate a Sketch when setting up a new thing. Arduino IoT Cloud allows other methods o interaction, including HTTP REST API, MQTT, Command-Line Tools, Javascript, and Websockets.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;You can get started using the Arduino IoT Cloud at the following location: &lt;a class="jive-link-external-small" href="https://create.arduino.cc/projecthub/133030/iot-cloud-getting-started-c93255" rel="nofollow ugc noopener" target="_blank" title="https://create.arduino.cc/projecthub/133030/iot-cloud-getting-started-c93255"&gt;https://create.arduino.cc/projecthub/133030/iot-cloud-getting-started-c93255&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span id="fcc8a697_200a_43ce_b0fa_165024f22a9f"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=uaRyh8c8YVs"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;Arduino IoT Cloud Projects:&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#303030;"&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/iot-in-the-cloud/b/blog/posts/arduino-iot-in-the-cloud---door-alarm"&gt;Arduino IoT in the Cloud - Door Alarm&lt;/a&gt; by &lt;span&gt;&lt;a href="/members/rsc"&gt;rsc&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#303030;"&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/iot-in-the-cloud/b/blog/posts/arduino-iot-cloud-controlled-mkr-robot-arm-das-blinken-led"&gt;Arduino IoT Cloud controlled MKR Robot ARM: Das Blinken LED&lt;/a&gt; by &lt;span&gt;&lt;a href="/members/jomoenginer"&gt;jomoenginer&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#303030;"&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/homeautomation/b/blog/posts/smart-clock-over-cloud"&gt;Smart Clock over Cloud&lt;/a&gt; by &lt;span&gt;&lt;a href="/members/fyaocn"&gt;fyaocn&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#303030;"&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/iot-in-the-cloud/b/blog/posts/temperature-measurement-with-arduino-mkr-wifi-1010-and-cloud"&gt;Temperature measurement with Arduino MKR WIFI 1010 and Cloud&lt;/a&gt; by &lt;span&gt;&lt;a href="/members/kk99"&gt;kk99&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#303030;"&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/iot-in-the-cloud/b/blog/posts/iot-reflow-oven-with-arduino-mkr-wifi-1010"&gt;IOT Reflow Oven with Arduino MKR WiFi 1010&lt;/a&gt; by &lt;span&gt;&lt;a href="/members/fmilburn"&gt;fmilburn&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#303030;"&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/iot-in-the-cloud/b/blog/posts/the-drawing-machine-part-2-the-arducycloid"&gt;The Drawing Machine Part 2. The Arducycloid&lt;/a&gt; by &lt;span&gt;&lt;a href="/members/balearicdynamics"&gt;balearicdynamics&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#303030;"&gt;The Windchillator by &lt;span&gt;&lt;a href="/members/bernhardmayer"&gt;bernhardmayer&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#303030;"&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/project14/iot-in-the-cloud/b/blog/posts/the-windchillator---introduction-and-project-plan"&gt;The Windchillator - Introduction and Project Plan&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#303030;"&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/project14/iot-in-the-cloud/b/blog/posts/the-windchillator---reducing-the-sleep-current-of-the-arduino-mkr-wifi-1010-to-800-ua"&gt;The Windchillator - Reducing the sleep current of the Arduino MKR WIFI 1010 to 800 uA&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#303030;"&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/project14/iot-in-the-cloud/b/blog/posts/the-windchillator---arduino-iot-cloud-and-visualization"&gt;The Windchillator - Arduino IoT Cloud and visualization&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;Arduino MKR Boards:&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;strong&gt;Product Name&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;strong&gt;Quantity&lt;br /&gt;&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Arduino MKR WiFi 1010 Development Board *&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-UU1MPKS2-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2917569&amp;amp;nsku=71AC0169&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2917569&amp;amp;nsku=71AC0169&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-UU1MPKS2-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="1" style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Arduino MKR WAN 1300 Development Board ***&lt;/strong&gt;&lt;/td&gt;&lt;td colspan="1" style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td colspan="1" style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-TUFT3XYS-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2851778&amp;amp;nsku=55AC1186&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2851778&amp;amp;nsku=55AC1186&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-TUFT3XYS-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="1" style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Arduino MKR GSM 1400 Development Board *&lt;/strong&gt;&lt;/td&gt;&lt;td colspan="1" style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td colspan="1" style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-TbkgUEiY-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2851779&amp;amp;nsku=55AC1187&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2851779&amp;amp;nsku=55AC1187&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-TbkgUEiY-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Arduino MKR VIDOR 4000 Development Board **&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-Nx3FOHC8-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2917571&amp;amp;nsku=71AC0168&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2917571&amp;amp;nsku=71AC0168&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-Nx3FOHC8-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;* - Supported with Arduino IoT Cloud&lt;/p&gt;&lt;p style="margin:0;"&gt;** - Support coming for Arduino IoT Cloud&lt;/p&gt;&lt;p style="margin:0;"&gt;*** - Not supported&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;Arduino Lora Gateway:&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;strong&gt;Product Name&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;strong&gt;Quantity&lt;br /&gt;&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Arduino Lora Gateway Pro *&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-gDvzyUVZ-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2991582&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2991582&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-gDvzyUVZ-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;* - only available in Europe&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;Arduino MKR Shields:&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;strong&gt;Product Name&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;strong&gt;Quantity&lt;br /&gt;&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Arduino MKR SD Proto Shield&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-9fIRruXu-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2831006&amp;amp;nsku=47AC6342&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2831006&amp;amp;nsku=47AC6342&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-9fIRruXu-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Arduino MKR CAN Shield&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-tKrJAk7V-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2917572&amp;amp;nsku=71AC0211&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2917572&amp;amp;nsku=71AC0211&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-tKrJAk7V-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Arduino MKR Relay Proto Shield&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-b0z4Mj00-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2831005&amp;amp;nsku=47AC6341&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2831005&amp;amp;nsku=47AC6341&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-b0z4Mj00-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Arduino MKR Connector Carrier&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-1q0QpqlJ-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2917568&amp;amp;nsku=71AC0213&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2917568&amp;amp;nsku=71AC0213&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-1q0QpqlJ-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Arduino MKR MEM Shield&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-64ezANx5-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2917567&amp;amp;nsku=71AC0214&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2917567&amp;amp;nsku=71AC0214&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-64ezANx5-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Arduino MKR 485 Shield&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-vWxEkZQR-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2917566&amp;amp;nsku=71AC0210&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2917566&amp;amp;nsku=71AC0210&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-vWxEkZQR-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Arduino MKR ETH Shield&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-BsAbhXB1-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2917570&amp;amp;nsku=71AC0212&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2917570&amp;amp;nsku=71AC0212&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-BsAbhXB1-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Arduino MKR Proto Shield&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-qxlqfJIW-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2831003&amp;amp;nsku=47AC6339&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2831003&amp;amp;nsku=47AC6339&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-qxlqfJIW-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Arduino MKR Proto Large Shield&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-btcUF6Re-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2831004&amp;amp;nsku=47AC6340&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2831004&amp;amp;nsku=47AC6340&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-btcUF6Re-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;Arduino MKR Kits:&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;strong&gt;Product Name&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;strong&gt;Quantity&lt;br /&gt;&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:left;" valign="middle"&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Arduino MKR 1000 IoT Bundle&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-LSvOUVdK-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2830996&amp;amp;nsku=47AC4973&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2830996&amp;amp;nsku=47AC4973&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-LSvOUVdK-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="1" style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Arduino Engineering Kit&lt;/strong&gt;&lt;/td&gt;&lt;td colspan="1" style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1&lt;/td&gt;&lt;td colspan="1" style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-4n7LDuDC-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2901082&amp;amp;nsku=65AC5826&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2901082&amp;amp;nsku=65AC5826&amp;amp;COM=noscript" target="_blank"&gt;Buy Now&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-4n7LDuDC-unlinked"&gt;Buy Now&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: arduino_tutorials, arduino_tutorial&lt;/div&gt;
</description></item><item><title>Tracing the Origins of Arduino: Part 1: The AVR Microcontroller</title><link>https://community.element14.com/products/arduino/arduino-tutorials/w/documents/3504/tracing-the-origins-of-arduino-part-1-the-avr-microcontroller</link><pubDate>Mon, 19 Mar 2018 18:20:41 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:c29e01ea-9dcb-4a51-ae2d-54d25031058d</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 3/19/2018 6:20:41 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="background-color:#f2f2f2;padding:0px;margin:0px;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="2" style="padding:8px 15px 8px 12px;"&gt;&lt;a href="/products/arduino/"&gt;&lt;img alt="image" src="/e14/assets/legacy/2017/Ard_logo.png" style="vertical-align:top;"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="2" style="padding:6px 12px 8px 0px;"&gt;&lt;p style="margin:0;padding-bottom:4px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/arduino/"&gt;&lt;span style="font-size:18px;color:#00979d;"&gt;Arduino Home&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;An Open-Source platform to create digital devices and interactive objects that sense and contol physical devices.&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:10px 12px;vertical-align:middle;background-color:#deb81b;" width="24%"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/arduino/arduino-tutorials/"&gt;&lt;span style="color:#ffffff;text-decoration:none;font-size:12px;"&gt;&lt;strong&gt;Arduino Tutorials&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:10px 12px;vertical-align:middle;background-color:#df7321;" width="24%"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/arduino/arduino-projects/"&gt;&lt;span style="color:#ffffff;text-decoration:none;font-size:12px;"&gt;&lt;strong&gt;Arduino Projects&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;An AVR-based Arduino is a physical platform for an AVR Microcontroller.&amp;nbsp; To understand the low-level details of an Arduino requires an understanding of the AVR device that powers it.&amp;nbsp; The Arduino hardware is nothing more than a PCB for an AVR chip to sit on.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;&lt;strong&gt;Birth of the Microcontroller&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;In 1971, around the same time that Intel invented the world&amp;#39;s first microprocessor, Gary Boone and Michael Cochran invented the world&amp;#39;s first microcontroller for Texas Instruments.&amp;nbsp; Before passing at the age of 68 in 2013,&amp;nbsp; Gary Boone conducted an oral history with the Institute of Electrical &amp;amp; Electronics Engineers which you can view &lt;a class="jive-link-external-small" href="http://ethw.org/Oral-History:Gary_Boone" rel="nofollow ugc noopener" target="_blank"&gt;here&lt;/a&gt;.&amp;nbsp; According to him:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A microprocessor is &amp;quot;a processor on a single chip. A processor has an instruction set and it operates on data, according to a program. The data, the program, and the input and output are arranged externally to that single chip.&amp;quot;&lt;/li&gt;&lt;li&gt;A microcontroller &amp;quot;attempts to provide a self-contained system on a single chip. In addition to a processor, it also includes memory for data, memory for program, an ability to deal with inputs like keyboard inputs, and an ability to provide outputs like numeric or alpha-numeric display outputs.&amp;quot;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;The tradeoff of having a microcontroller contain all those things is that the amount of processing power would be typically less than a microprocessor of equal price.&amp;nbsp; A microprocessor, unlike a microcontroller, is not a self-contained computer on a chip. It cannot operate without the help of other ICs like RAMs, ROMs, and I/O chips to interact with other components.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Unlike the microprocessor, The worlds first microcontroller, the TMS 1000, did not go to general market immediately but was introduced in a TI calculator in 1972.&amp;nbsp; It was made available to the general market in 1974. The TMS 1000, was cheap enough to be used in everything from Texas Instrument&amp;#39;s own calculators, microwave ovens, washers, jukeboxes, video games, toys, and many other consumer electronics.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Today, Texas Instruments has a wide variety of microcontrollers available, some with specific hardware on board to specialize them for more specific tasks.&amp;nbsp; Often a user must set data registers manually, which can involve reading 600+ page data sheets to find the proper line of code or variable.&amp;nbsp; While these board may offer more than Arduino, they are require more time and recourse.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Here are some common terms you are likely to come across when evaluating microcontrollers:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;MCU&lt;/strong&gt; - microcontroller&lt;/li&gt;&lt;li&gt;&lt;strong&gt;MIPs&lt;/strong&gt; - million instructions per second: a measure of the speed and power of the processor&lt;/li&gt;&lt;li&gt;&lt;strong&gt;CPU&lt;/strong&gt; - basic instruction processing unit in the microcontroller&lt;/li&gt;&lt;li&gt;&lt;strong&gt;DSP&lt;/strong&gt; - digital signaling processor: chip designed for data intensive mathematical calculations&lt;/li&gt;&lt;li&gt;&lt;strong&gt;RISC&lt;/strong&gt; - reduced instruction set computing&lt;/li&gt;&lt;li&gt;&lt;strong&gt;CISC&lt;/strong&gt; - complex instruction set computing&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SOC&lt;/strong&gt; - system on a chip&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ADC&lt;/strong&gt; - analog-to-digital converter&lt;/li&gt;&lt;li&gt;&lt;strong&gt;DAC&lt;/strong&gt; - digital-to-analog converter&lt;/li&gt;&lt;li&gt;&lt;strong&gt;RAM&lt;/strong&gt; - random access memory&lt;/li&gt;&lt;li&gt;&lt;strong&gt;FRAM&lt;/strong&gt; - ferroelectric RAM&lt;/li&gt;&lt;li&gt;&lt;strong&gt;UART&lt;/strong&gt; - universal asynchronous receiver transmitter: translates between parallel and serial data&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SPI&lt;/strong&gt; - serial peripheral interface: a synchronous serial data bus&lt;/li&gt;&lt;li&gt;&lt;strong&gt;PWM&lt;/strong&gt; - pulse width modulation: modulation technique used mostly for controlling motors&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The low-cost of the microcontroller and all-in-one approach made it economical to make what is now known as &amp;quot;embedded&amp;quot; computer application.&amp;nbsp; One of the first applications of the microcontroller were in gas pumps where it was used for metering and starting of the pump.&amp;nbsp; Also, it was used in microwave ovens where it was used to monitor the keypad, clock, and oven settings.&amp;nbsp; Now, microcontrollers are the top selling chip of any kind.&amp;nbsp; Your home probably has at least 20 microcontrollers and your automobile has over a dozen.&amp;nbsp; They can be found in tools, toys, toothbrushes, and much more.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;Memory Architectures: Harvard vs Von Neumann&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;/h2&gt;&lt;p style="margin:0;"&gt;In the early days of computing, around the time of the World War II, the US government asked Harvard and Princeton Universities to design computer architecture for computation of naval artillery shell distances for varying elevations and environmental conditions.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The ENIAC (Electronic Numerical Integrator and Computer) was among the earliest electronic general-purpose computers made. Among the first programs included the feasibility of the thermonuclear weapon (think Wargames).&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;It uses the same memory and data paths for both program and data storage.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Von Neumann Architecture:&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/400x232/__key/communityserver-wikis-components-files/00-00-00-02-71/1602.contentimage_5F00_93046.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/1602.contentimage_93046.png-400x232.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=lKZhKo7IchJQNGOCUf5qhKfkSuWUaJjC%2BibBQHANZCY%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=g8fo1kQupLv+imoUm/CofA==" style="max-height: 232px;max-width: 400px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Harvard&amp;#39;s answer was the Mark 1 which read instructions from a 24-channel punched paper tape.&amp;nbsp; It executed instruction and then read in teh next one. A separate tape contained numbers for input but the tape formats were not interchangeable. Instructions could not be executed from the storage registers.&amp;nbsp; The separation of data and instructions is known as the Harvard Architecture.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Harvard Architecture&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/383x243/__key/communityserver-wikis-components-files/00-00-00-02-71/7558.contentimage_5F00_93047.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/7558.contentimage_93047.png-383x243.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=mqq0%2BtJAU8nO8TkTt%2FW84HwjSoQzAlV6buNcVoSfm88%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=wAUky4VBlvevwUA8VWSJsg==" style="max-height: 243px;max-width: 383px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;The Princeton architecture was better suited for the time because using one memory was preferable because of the unreliability of current electronics (before the widespread use of transistors).&amp;nbsp; A single memory interface would have fewer things go wrong.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The Harvard architecture was largely ingured until the late 1970s when microcontroller manufacturers realized the advantages for the devices they were designing.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The Von Neumann architecture&amp;#39;s biggest advantage is that it simplifies microcontroller design because only one memory is accessed. Meanwhile, the Harvard architecture executes instructions in fewer instruction cycles than the Von Neumann architecture.&amp;nbsp; Each architecture has its advantage.&amp;nbsp; The Harvard model has the edge on performance while the the Von Neumann is more flexible.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#3334ca;font-size:20px;font-weight:bold;"&gt;The AVR Microcontroller&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;In the early 90s, the AVR line of microcontrollers was born from a student project at the Norwegian Institute of Technology. Alf-Egil Bogen and Vegard Wollan devised an 8-bit device with a RISC-type internal architecture.&amp;nbsp; They would continue working and refining the design once the AVR design was sold to Atmel.&amp;nbsp; The AVR is a modified Harvard Architecture RISC microcontroller.&amp;nbsp; They are highly configureable and versatile. It has several features that set it apart from 8 bit microcontrollers of the time such as the 8051 by Intel and the 68HC05 by Motorola.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span id="0fdce59a_c1ab_4be1_a4f2_7edadd0fbe97"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=s6JqigdNy9M"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The AVR line was of devices was one of the first to incorporate on-board flash memory for program storage, as opposed to relying on one-time programmable ROM (read-only memory), EPROM (erasable programmable read-only memory), or EEPROM (electrically erasable programmable read-only memory) as was used with other microcontrollers of the time. This made reprogramming the AVR microcontroller a simple matter of loading program code into the devices internal flash memory.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Most AVR parts use a small amount of EEPROM for storing things like operating parameters that must persist between changes in the flash memory.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Although Atmel says that AVR does not stand for anything and its not an acronym, it&amp;#39;s generally accepted that AVR stands for &lt;strong&gt;A&lt;/strong&gt;lf and &lt;strong&gt;V&lt;/strong&gt;egard&amp;#39;s &lt;strong&gt;R&lt;/strong&gt;ISC processor. &lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;AVR is a modified Harvard Architecture whereby program and data are stored in separate physical memory systems that appear in different address spaces but have the ability to read data items from program memory using instructions.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;There are three categories of AVR microcontrollers:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;ATtiny&lt;/strong&gt; (Tiny AVR) - 6-32 pins, .5-8 KB of Flash Memory, small in size, ideal for simpler applications&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ATmega &lt;/strong&gt;(Mega AVR) - 6-32 pins, 4- 256 KB of memory, more inbuilt peripherals, ideal for modest to difficult applications&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ATXmega &lt;/strong&gt;(Xmega AVR) - 44-100 pins, 16-384 KB, used commercially for applications requiring large program memory and high speed; DMA, Event System Included&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;RISC Architecture&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;131 instructions&lt;/li&gt;&lt;li&gt;32 8-bit general purpose registers&lt;/li&gt;&lt;li&gt;Up to 20 Mhz clock rate (20 MIPS operation) &lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;CPU&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Based on the Harvard architecture, every IC has two buses, an instruction bus and a data bus. &lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The CPU core consists of the ALU, General Purpus Registers, Program Counter, Instruction Register, Status Register, and Stack Pointer.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The 8-bit CPU controls peripheral functions via an internal high-speed data bus.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Internal Memory&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;AVR devices contain three types of memory:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Flash&lt;/strong&gt; - used to store programs and initialize any data. You can execute program code from flash but can not modify data in the Flash Memory from your executing code.&amp;nbsp; To modify data, it needs to be copied into SRAM (up to 256 K)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SRAM&lt;/strong&gt; (static random-access memory) - (upused to hold transient data such as the program variables and the stack (up to 32K)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;EEPROM&lt;/strong&gt; - holds data that needs to persist between software changes and power cycles. (up to 4K)&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Flash and EEPROM can be loaded externally and will retain its content when the AVR is powered off&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The SRAM is voltatile and its contents will be lost when the AVR loses power.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Peripheral Functions&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;All peripheral functions share port pins with discrete digital I/O capabilities.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The 8 bit CPU has built in peripheral functions integrated into the CPU logic.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;These functions vary from one type of AVR device to another but include the following:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Timers&lt;/li&gt;&lt;li&gt;ADC&lt;/li&gt;&lt;li&gt;bidirectional I/O pins for discrete digital signals&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Control Registers&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;In addition to the 32 8-bit general-purpose registers in the CPU, a number of control registers determine how the I/O ports, timers, interfaces, and other features behave.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The settings on the control registers allow most of the pins on an AVR microcontroller to be configured to perform specific functions.&amp;nbsp; The pins are dynamically configurable making it possible for the pins to perform one type function and then perform a different function once the control register value has been modified.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Digital I/O Ports&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The digital I/O ports allow digital communication or logic communication with the external world.&amp;nbsp; Communication signals are TTL/CMOS logic. &lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;AVR microcontrollers use bidirectional I/O ports. &lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;A port is an 8-bit register wherein some or all the bits connect to physical pins on the AVR package.&amp;nbsp;&amp;nbsp; The pins of the port are controlled by internal logic that manages signal direction, state of the internal pull-up resistor, timing, etc. The logic is sophisticated enough to all ports to perform many different functions, some simultaneously.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;It is still possible to read data from a port that is configured as an output, and an output can be used to trigger an interrupt. Ports are labeled as A, B, C, etc.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;8-bit / 16 bit Timer Counters&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;An AVR microcontroller has 8- and 16-bit timers.&amp;nbsp; When a timer reaches its maximum value (255 in 8-bit and 65535 in 16-bit counters), the next cycle will generate an overflow of the value using a prescaler. &lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Two forms of 8-bit timers are available in AVR microcontrollers:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;synchronous mode - clock input is derived from the primary system clock&lt;/li&gt;&lt;li&gt;asynchronous mode - the ability to operate using an external clock source (TOS1 and TOS2 clock input pins)&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The 8-bit timer is a general purpose timer that includes the following modes of operation:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Normal Mode - the count always increments and is not cleared when the counter reaches its maximum 8-bit value.&amp;nbsp; If this happens then the counter overflows and returns to zero and the (TOV0) overflow flag is set. It is set, not cleared by the timer overflow. The timer overflow interrupt automatically clears the overflow flag bit, and the interrupt can be used to increment a second software-based counter in memory. &lt;/li&gt;&lt;li&gt;Clear Timer on Compare (CTC) - this allows greater control of the compare match output frequency and helps to simplify external event counting&lt;/li&gt;&lt;li&gt;Fast PWM mode - supports high-frequency PWM waveform generation&lt;/li&gt;&lt;li&gt;Phase Correct PWM mode - a hi-res phase correct PWM waveform generation option&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;16-bit timer/counters are similar to the 8-bit version with extended count range.&amp;nbsp; True 16-bit logic can be used for hires external event capture, frequency generation, and signal timing measurement. It can generate for different interrupts (TOV1, OCF1A, OCF1B, and ICF1)&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Analog Comparator&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;In electronics, comparators are used to compare two voltages or currents and outputs a digital signal to indicate which is larger. It has two analog input terminals and one binary digital output.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The analog comparator of an AVR microcontrollor is used to compare input voltages in the A1N0 and AIN1 pins.&amp;nbsp; AIN0 is set as the positive input and AIN1 is the negative (refers to the relationship and not the polarity). This circuit can compare the voltages between these two inputs as well as be configured to do tother things such as compare AIN1 input to the internal bandgap reference voltage or compare AIN0 with the output of the ADC multiplexer.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Analog-to-Digital Converter&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The world around us is analog so to communicate with an analog world in a digital form requires the use of an analog-digital-converter.&amp;nbsp; It converts an analog voltage on a pin to a digital number.&amp;nbsp; AVR microcontrollers include 8-bit, 10-bit, or 12-bit analog to digital converters. An ATtiny 6 has 8-bit converters while an Arduino Uno has 10-bit. A 10-bit ADC means it has the ability to detect 1024 (2^10) discrete analog levels. An ADC that is included in an AVR design has anywhere from 4 to 28 inputs. ATmega168 devices have between 6 to 8 ADC input channels depending on the package type. &lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Serial I/O&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The ATMega168 provides three primary forms of serial communication:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;UART/USART&lt;/strong&gt; - synchronous/asynchronous serial &lt;ul&gt;&lt;li&gt;All arduino boards have a serial port (aka UART or ASART) that communicate on ditital pins 0 (RX) and 1 (TX) as well as with the computer via USB&lt;/li&gt;&lt;li&gt;Pins TX/RX use TTL logic levels (5 V or 3.3 volts depending on the board&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SPI&lt;/strong&gt; master/slave synchronous - I/O pins may be configured to act as&lt;ul&gt;&lt;li&gt;MOSI&lt;/li&gt;&lt;li&gt;MISO&lt;/li&gt;&lt;li&gt;SCK&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;TWI&lt;/strong&gt; (two wire interface) - compatible with Philips I2C protocol.&amp;nbsp; Supports master and slave modes and a 7-bit device address.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Interrupts&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Interrupts are events that require immediate attention by the microcontroller. This happens when the microcontroller pauses from its current task and attends to the interrupt by executing an Interrupt Service Routine (SSR). Afterwards, it returns to its task its paused and continues normal operation.&amp;nbsp; In the AVR an interrupt response may be enabled or disabled via bits in the control register. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: arduino_tutorials&lt;/div&gt;
</description></item><item><title>Installing Arduino IDE, Blinking an LED, and GitHub Libraries!</title><link>https://community.element14.com/products/arduino/arduino-tutorials/w/documents/3439/installing-arduino-ide-blinking-an-led-and-github-libraries</link><pubDate>Tue, 27 Feb 2018 03:33:25 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:17297579-0288-4a28-a280-5404cafba070</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 2/27/2018 3:33:25 AM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="background-color:#f2f2f2;padding:0px;margin:0px;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="2" style="padding:8px 15px 8px 12px;"&gt;&lt;a href="/products/arduino/"&gt;&lt;img alt="image" src="/e14/assets/legacy/2017/Ard_logo.png" style="vertical-align:top;"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="2" style="padding:6px 12px 8px 0px;"&gt;&lt;p style="margin:0;padding-bottom:4px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/arduino/"&gt;&lt;span style="font-size:18px;color:#00979d;"&gt;Arduino Home&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;An Open-Source platform to create digital devices and interactive objects that sense and control physical devices.&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:10px 12px;vertical-align:middle;background-color:#deb81b;" width="24%"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/arduino/arduino-tutorials/"&gt;&lt;span style="color:#ffffff;text-decoration:none;font-size:12px;"&gt;&lt;strong&gt;Arduino Tutorials&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:10px 12px;vertical-align:middle;background-color:#df7321;" width="24%"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/arduino/arduino-projects/"&gt;&lt;span style="color:#ffffff;text-decoration:none;font-size:12px;"&gt;&lt;strong&gt;Arduino Projects&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;&lt;strong&gt;{tabbedtable} Tab Label&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;&lt;strong&gt;Tab Content&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Installing Arduino IDE&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;This is just a quick overview of what you need to do to get started with Arduino.&amp;nbsp; I&amp;#39;m working from a Mac at the moment so I&amp;#39;ll be installing the Mac version.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The procedure for Mac is the same as for Linux.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/159x178/__key/communityserver-wikis-components-files/00-00-00-02-71/3823.contentimage_5F00_92221.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/3823.contentimage_92221.png-159x178.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=LTKHpp1zURgX76myC9aTwYRiTzZObG4For6qYG22mtA%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=x6aAaHGCVtfZZWApWC6uvw==" style="max-height: 178px;max-width: 159px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;You can download the Arduino IDE here:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a class="jive-link-external-small" href="https://www.arduino.cc/en/Main/Software" rel="nofollow ugc noopener" target="_blank" title="https://www.arduino.cc/en/Main/Software"&gt;https://www.arduino.cc/en/Main/Software&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;and find older releases here:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h4&gt;&lt;a class="jive-link-external-small" href="https://www.arduino.cc/en/Main/OldSoftwareReleases" rel="nofollow ugc noopener" target="_blank" title="https://www.arduino.cc/en/Main/OldSoftwareReleases"&gt;https://www.arduino.cc/en/Main/OldSoftwareReleases&lt;/a&gt;&lt;/h4&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/533x125/__key/communityserver-wikis-components-files/00-00-00-02-71/4503.contentimage_5F00_92222.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/4503.contentimage_92222.png-533x124.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=aG5e1R3LjXGG%2B%2FVf9KShlCvoK6dPRQCPQKpXj0H6NY0%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=nmO0wEzE1v4w6PcNo4w9AQ==" style="max-height: 124px;max-width: 533px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Unzip the folder and place it in your Applications folder:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/531x194/__key/communityserver-wikis-components-files/00-00-00-02-71/3007.contentimage_5F00_92223.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/3007.contentimage_92223.png-531x193.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=2zievR9eSCHoA7z%2BSywjq3666sqOBiqIJNXuHEaCDWM%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=R9d231pCQhYTcm9XtVUhhQ==" style="max-height: 193px;max-width: 531px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Launch Arduino.app in the Applications folder and you should see this:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/476x329/__key/communityserver-wikis-components-files/00-00-00-02-71/1854.contentimage_5F00_92224.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/1854.contentimage_92224.png-476x329.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Josmt6fUlSKaUJZqd%2BGoxnOofucwY%2BY24b6E16c%2Fauw%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zgidRbD3a8cg8Kcv55C6Kw==" style="max-height: 329px;max-width: 476px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Hit Open when you see this popup:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/370x116/__key/communityserver-wikis-components-files/00-00-00-02-71/7711.contentimage_5F00_92225.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/7711.contentimage_92225.png-370x116.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=9qtfavMhKF3TgxlVO8JpgzsARRw1xvFjNC6fXAOzRT0%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=8AhvBTxD8IhNwyGE22H0pg==" style="max-height: 116px;max-width: 370px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;when it&amp;#39;s done you should see the editor and a toolbar at the top of the screen.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Your editor will now look like this:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/450x544/__key/communityserver-wikis-components-files/00-00-00-02-71/5657.contentimage_5F00_92226.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/5657.contentimage_92226.png-450x544.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=nrWxtWjIKpacc%2FJXlJLSUWulrr%2B3ZShii2ztDLQ5FkA%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=qWk8N6iBgsgevu/Apeb0bA==" style="max-height: 544px;max-width: 450px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Blinking an LED&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;If you are learning Arduino for the first time you can grab what are known as sketches.&amp;nbsp; Sketches give you the code you need to put something into the editor to make your Arduino do something useful.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Coding is something you learn from simply doing.&amp;nbsp; To help you get started along your journey there are included sketches including a sketch that blinks the built-in LED on an Arduino Uno.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/723x548/__key/communityserver-wikis-components-files/00-00-00-02-71/6237.contentimage_5F00_92227.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/6237.contentimage_92227.png-620x470.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=8CEWaBM0wBG5B4pfLfOllkmIPpNS0K%2FTheWZ2HqsOqk%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=dmq1UTBkeRvz+GrqV3hHRw==" style="max-height: 470px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;You&amp;#39;ll now have a sketch which you can use to program the microcontroller on your Arduino to&amp;nbsp; blink the built-in LED pin:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/668x733/__key/communityserver-wikis-components-files/00-00-00-02-71/8132.contentimage_5F00_92228.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/8132.contentimage_92228.png-620x680.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=azgmF6eTCwWZqACfkq4srPelZFTuQERH4dX2ZUBUCcU%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=Qajmno/Xw4+iHKgLDayNGg==" style="max-height: 680px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;Under the &lt;strong&gt;Tools -&amp;gt; Board&lt;/strong&gt; ensure that you have the right board selected (this example is using the Uno)&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/839x712/__key/communityserver-wikis-components-files/00-00-00-02-71/1768.contentimage_5F00_92229.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/1768.contentimage_92229.png-620x526.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=9Wc4VN%2B%2BpQc8TkOslZGDEao3ByLchx1C%2BzOgFFve9Gc%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=p/ZP+Yd8g0eIEXjZ8oXe7A==" style="max-height: 526px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I&amp;#39;ll need to connect my Arduino to the serial port of the my Arduino.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Arduino uses an A B usb cable which is something you see with printers and some older harddrives.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I do not feel like looking around for a A B usb cable so I just unplug A B cable connecting my printer to my computer.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/320x240/__key/communityserver-wikis-components-files/00-00-00-02-71/7120.contentimage_5F00_92230.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/7120.contentimage_92230.jpg-320x240.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=3c6%2FG2JUH4Tb6s%2Bp4ALbU99akl1JrSyNo698vRbtPTc%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=P9olyoOakAzrtOp2R6DIgw==" style="max-height: 240px;max-width: 320px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Tell the board what port your board is connected to &lt;strong&gt;Tools -&amp;gt; Serial Port&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;On Linux and Mac this looks like /dev/tty.usbmodem* or /dev/tty.usbserial* where * is the a string of alphanumerical characters.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;This is what mine looks like:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/917x293/__key/communityserver-wikis-components-files/00-00-00-02-71/5076.contentimage_5F00_92231.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/5076.contentimage_92231.png-620x198.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QQBcn%2FdV2lkJFyEWt9bf7L8GjAzXUmlYqrrTtDQNSY0%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=I5icdjDO47CzZB0Og8Xs0Q==" style="max-height: 198px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(My board appears to have shipped with a blinking LED program already loaded in.&amp;nbsp; I don&amp;#39;t want that,&amp;nbsp; I want to show that I can blink my own LED so before I do upload the blinking LED sketch,&amp;nbsp; I upload the Bare Minimum sketch.)&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I go back to the Blink LED Sketch at the top and I&amp;#39;m ready to upload my first Arduino program.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;To upload the program I click on the arrow next to the check mark (they really do make this as simple as possible):&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/500x153/__key/communityserver-wikis-components-files/00-00-00-02-71/6646.contentimage_5F00_92232.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/6646.contentimage_92232.png-500x153.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=R%2BcDHhlXv7e0RjzNM0fYTNoRRFg2Nzd9IaigGP0mztg%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=YkaFayuJINc9irM/sZsKVg==" style="max-height: 153px;max-width: 500px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;I click on the button and look at the bottom of the IDE screen to see if its working:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/510x605/__key/communityserver-wikis-components-files/00-00-00-02-71/7217.contentimage_5F00_92233.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/7217.contentimage_92233.png-510x605.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=%2BV6G%2BAds%2FaQ2cdt7uhd5QBFIPAVwpG154mNA9LjM1P0%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=Mq+mbx0OiYj42NkS09oxoA==" style="max-height: 605px;max-width: 510px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;You can watch the progress bar on the bottom of the IDE to watch as your sketch compiles and uploads to the microcontroller.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Once completed, the yellow LED on your Arduino will blink once per second.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;This is how mine looked:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span id="2e6ea859_c25d_435e_8471_90b9aaa440f1"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=5741037632001"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Reading the Code: &lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;If you&amp;#39;ve taken any kind of programming class or are at least familiar with HTML then you are aware of commenting.&amp;nbsp;&amp;nbsp; Anywhere you see something like &lt;strong&gt;/*&amp;nbsp; */&lt;/strong&gt; or &lt;strong&gt; / /&amp;nbsp; &lt;/strong&gt;, those are comments and have nothing to do with the code instructions that you are sending to the machine.&amp;nbsp; These comments make it easier to debug coding or for another developer to pick up and debug your code.&amp;nbsp; The open source nature of Arduino allows other programmers to pick up and fork out existing code so when you get to creating code yourself,&amp;nbsp; be sure to include these wherever possible to prevent a mess!&lt;/li&gt;&lt;li&gt;The C language isn&amp;#39;t the first high-level programming language but having some knowledge of it will help you with not only coding for Arduino, but will help you in coding for any modern programming language.&amp;nbsp; If there is one book that you ever read on coding it should be &lt;strong&gt;The C Programming Language by Ritchie and Kernighan&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span id="40305a6d_7223_47ed_834c_850585eb65fe"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=535Zy_rf4NU"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Getting to Github Libraries&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;As you get more involved with Arduino you are going to want to interface your board with a chip or a sensor.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;For this kind of thing, Github is your friend.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;May Arduino libraries are available on Github, thanks its the embrace of the Open Source Community.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Be sure to download the full zip file:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/752x427/__key/communityserver-wikis-components-files/00-00-00-02-71/5164.contentimage_5F00_92236.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/5164.contentimage_92236.png-752x427.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=fHdKethbL9Iido%2BogCZffsonx%2FrB%2BxCvtXyFhpht6QI%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=YUcIAncgzfLgFXs7L1GRgw==" style="max-height: 427px;max-width: 752px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;In this example the file is name &lt;strong&gt;Adafruit_NeoPixel-master.zip&lt;/strong&gt;.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Use an unzipping program to unizip the folder.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;remove master and any spaces, underscores, or dashes between the text so that it looks like this:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;AdafruitNeoPixel&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Under Sketches -&amp;gt; Import Library -&amp;gt; Add Library&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;That&amp;#39;s it!&amp;nbsp;&amp;nbsp; Your Library is now available for you to use!&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;&lt;span style="color:#303030;"&gt;&lt;strong&gt;View Jeremy Blum&amp;#39;s element14 exclusive Arduino Tutorial on installing Arduino IDE and blinking LED:&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3&gt;&lt;/h3&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=fCxzA9_kg6s"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;In 2011, Jeremy Blum produced a series of element14 tutorials. In this tutorial, Jeremy goes over installing Arduino IDE in Windows and Blinking an LED. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;sudo Sergeant shows you how to Ditch the Arduino IDE for Terminal:&lt;/strong&gt;&lt;/h3&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;text-align:left;"&gt;&lt;a href="/challenges-projects/element14-presents/sudosergeant/w/documents/3114/sudo-sergeant-04-ditch-the-arduino-ide-for-the-linux-terminal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/640x360/__key/communityserver-wikis-components-files/00-00-00-02-71/4186.contentimage_5F00_92237.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/71/4186.contentimage_92237.png-620x349.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Jj%2FMpSDee7lKsYAWBXv61Of9y7hOBg8P3%2FJFlBGC19s%3D&amp;amp;se=2026-05-08T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=aC8FdEE7OqWDGfs1FcYC1Q==" style="max-height: 349px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;In the comments below, let us know if you have any useful advice to get people started on Arduino IDE!&lt;/span&gt;&lt;/h2&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;script&gt;window.top.e14.func.queueScripts.add(function() { window.top.e14.func.e14DynaloadTabbedTables.init(); });&lt;/script&gt;

&lt;div style="font-size: 90%;"&gt;Tags: arduino uno, blink led, github, arduino ide, arduino_tutorials, sketches, arduino_tutorial&lt;/div&gt;
</description></item></channel></rss>