<?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>Tutorial FRDM-KL25Z &amp; ARDUINO: Zumo Line Following with Freescale Freedom Board</title><link>https://community.element14.com/products/arduino/w/documents/10988/tutorial-frdm-kl25z-arduino-zumo-line-following-with-freescale-freedom-board</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Tutorial FRDM-KL25Z &amp; ARDUINO: Zumo Line Following with Freescale Freedom Board</title><link>https://community.element14.com/products/arduino/w/documents/10988/tutorial-frdm-kl25z-arduino-zumo-line-following-with-freescale-freedom-board</link><pubDate>Fri, 08 Oct 2021 05:27:57 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4bbf6959-87ee-4553-8c1d-6012bd7b9115</guid><dc:creator>FreescaleTools_and_Software</dc:creator><comments>https://community.element14.com/products/arduino/w/documents/10988/tutorial-frdm-kl25z-arduino-zumo-line-following-with-freescale-freedom-board#comments</comments><description>Current Revision posted to Documents by FreescaleTools_and_Software on 10/8/2021 5:27:57 AM&lt;br /&gt;
&lt;p style="margin:0;text-align:left;background-color:#ffffff;text-indent:0px;color:#333333;"&gt;&lt;span style="font-family:tahoma, arial, helvetica, sans-serif;color:#ff6600;font-size:15px;"&gt;&lt;em&gt;This tutorial was extracted from Erich Styger blog&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://mcuoneclipse.wordpress.com/" rel="nofollow" style="color:#355491;font-size:15px;" target="_blank"&gt;http://mcuoneclipse.wordpress.com&lt;/a&gt;&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;with his agreement.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;text-align:left;background-color:#ffffff;text-indent:0px;color:#333333;"&gt;&lt;a href="/servlet/JiveServlet/downloadImage/102-51144-4-105550/Freescale.bmp"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/175x85/__key/communityserver-wikis-components-files/00-00-00-02-65/contentimage_5F00_76426.bmp"&gt;&lt;img alt="image" src="/cfs-file/__key/communityserver-wikis-components-files/00-00-00-02-65/contentimage_5F00_76426.bmp" style="max-height: 85px;max-width: 175px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/a&gt; &lt;span class="Apple-converted-space"&gt;&lt;/span&gt;&lt;a href="/servlet/JiveServlet/downloadImage/102-51144-4-105551/Kinetis-L.jpg"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/87x85/__key/communityserver-wikis-components-files/00-00-00-02-65/contentimage_5F00_76427.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/65/contentimage_76427.jpg-87x85.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=IJYHvB7jjMgALjFXo2E3qd9aeNjQbAEaFOzrxknMH%2BY%3D&amp;amp;se=2026-09-18T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=lw3vl9FqzfR9tHJgP7g6Lg==" style="max-height: 85px;max-width: 87px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;With the &lt;a class="jive-link-external-small" href="http://mcuoneclipse.com/2013/01/31/the-freedom-zumo-robot/" rel="nofollow ugc noopener" target="_blank" title="The Freedom Zumo Robot"&gt;Zumo &lt;/a&gt;I have a base platform for cool robotics applications. So why not build a line following robot with this? Especially as &lt;a class="jive-link-external-small" href="http://www.pololu.com/catalog/product/1419" rel="nofollow ugc noopener" target="_blank" title="Pololu Zumo Reflectance Sensor Array"&gt;Pololu offers a reflectance sensor array&lt;/a&gt; for it. The result is: I have a line following robot &lt;a href="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1129645325g"&gt;&lt;img loading="lazy" alt=":-)" class="jiveImage wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1129645325g" /&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;a href="http://mcuoneclipse.files.wordpress.com/2013/02/line-following.png" rel="nofollow ugc noopener" target="_blank"&gt;&lt;img loading="lazy" alt="Line Following ZumoBot" class="jiveImage wp-image-6608 size-full" height="339" src="http://mcuoneclipse.files.wordpress.com/2013/02/line-following.png?w=584&amp;amp;h=339" style="display:block;margin-left:auto;margin-right:auto;" width="584" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;text-align:center;"&gt;&lt;em style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;Line Following ZumoBot&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;It turned out that things were &lt;strong&gt;not&lt;/strong&gt; working out of the box with the &lt;a class="jive-link-external-small" href="http://www.freescale.com/freedom" rel="nofollow ugc noopener" target="_blank" title="Freescale Freedom Boards"&gt;FRDM-KL25Z&lt;/a&gt; board. So if you want to do the same thing, here are some tips how to make it working with the Freedom board.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;5V Power for the Shield&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;The Freedom board does not generate 5V from the V_IN (Battery) supply voltage. The Zumo Arduino shield expects the 5V generated from the Arduino microcontroller board. To overcome this limitation, I’m using a tiny &lt;a class="jive-link-external-small" href="http://www.pololu.com/catalog/product/2119" rel="nofollow ugc noopener" target="_blank"&gt;S7V7F5&lt;/a&gt; DC-DC step up/down voltage converter which generates 5V from 2.7..11.8V. I have it soldered on a 3 pin header and placed it on the Zumo shield:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;a href="http://mcuoneclipse.files.wordpress.com/2013/02/voltage-converter.png" rel="nofollow ugc noopener" target="_blank"&gt;&lt;img loading="lazy" alt="Voltage Converter" class="jiveImage wp-image-6615 size-full" height="370" src="http://mcuoneclipse.files.wordpress.com/2013/02/voltage-converter.png?w=584&amp;amp;h=370" style="display:block;margin-left:auto;margin-right:auto;" width="584" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;text-align:center;"&gt;&lt;em style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;Voltage Converter&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;On the backside, I have the DC-DC converter connected to GND and V_IN on the shield headers, and wired the 5V output to the 5V pin:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;a href="http://mcuoneclipse.files.wordpress.com/2013/02/dc-dc-converter-backside.png" rel="nofollow ugc noopener" target="_blank"&gt;&lt;img loading="lazy" alt="DC-DC Converter Connection  Backside" class="wp-image-6616 jiveImage size-full" height="279" src="http://mcuoneclipse.files.wordpress.com/2013/02/dc-dc-converter-backside.png?w=584&amp;amp;h=279" style="display:block;margin-left:auto;margin-right:auto;" width="584" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;text-align:center;"&gt;&lt;em style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;DC-DC Converter Connection Backside&lt;/em&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;Reflectance Sensor Array Supply&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;The &lt;a class="jive-link-external-small" href="http://mcuoneclipse.com/2013/01/31/the-freedom-zumo-robot/" rel="nofollow ugc noopener" target="_blank" title="Pololu Zumo Reflectance Sensor Array"&gt;Reflectance Sensor Array&lt;/a&gt; is using 5V logic levels by default, as designed to work with 5V Arduino (or compatible) boards. While that works with 5V tolerant input pins, it is not ideal from a timing perspective to use it with 3.3V logic levels (charging and discharging the sensor capacitors). So I changed the supply voltage to 3.3V which is the logic level for the Freedom board. Unfortunately the sensor array connector does not offer a 3.3V option, so I have cut the 5V pin and wired it to the 3.3V on the shield:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;a href="http://mcuoneclipse.files.wordpress.com/2013/02/3-3v-sensor-array-connection.png" rel="nofollow ugc noopener" target="_blank"&gt;&lt;img loading="lazy" alt="3.3V Sensor Array Connection" class="jiveImage size-full wp-image-6602" height="347" src="http://mcuoneclipse.files.wordpress.com/2013/02/3-3v-sensor-array-connection.png?w=584&amp;amp;h=347" style="display:block;margin-left:auto;margin-right:auto;" width="584" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;text-align:center;"&gt;&lt;em style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;3.3V Sensor Array Connection&lt;/em&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;a href="http://mcuoneclipse.files.wordpress.com/2013/02/3-3v-power-connection-for-reflectance-array.png" rel="nofollow ugc noopener" target="_blank"&gt;&lt;img loading="lazy" alt="3.3V Power Connection for Reflectance Array" class="jiveImage size-full wp-image-6610" height="563" src="http://mcuoneclipse.files.wordpress.com/2013/02/3-3v-power-connection-for-reflectance-array.png?w=584&amp;amp;h=563" style="display:block;margin-left:auto;margin-right:auto;" width="584" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;text-align:center;"&gt;&lt;em style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;3.3V Power Connection for Reflectance Array&lt;/em&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;em style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;a href="http://s0.wp.com/wp-includes/images/smilies/icon_idea.gif?m=1129645325g"&gt;&lt;img loading="lazy" alt=":idea:" class="jiveImage wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_idea.gif?m=1129645325g" /&gt;&lt;/a&gt; Pololu offers &lt;a class="jive-link-external-small" href="http://www.pololu.com/catalog/product/961" rel="nofollow ugc noopener" target="_blank" title="Pololu RTR-8RC Sensor Array"&gt;another sensor array&lt;/a&gt; which is designed for both 3.3V and 5V which could be used with the Zumo.&lt;/em&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;strong style="font-size:12pt;font-family:tahoma,arial,helvetica,sans-serif;"&gt;D4 and Kinetis NMI&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;The other issue with the original Pololu sensor module is that the leftmost sensor is connected to the Arduino shield data 4 (D4) pin. Unfortunately this pin is connected to the NMI (Non-Maskable Interrrupt) of the Kinetis Cortex-M4 on the Freedom Board. That way it happens that it creates an NMI interrupt.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;a href="http://s0.wp.com/wp-includes/images/smilies/icon_idea.gif?m=1129645325g"&gt;&lt;img loading="lazy" alt=":idea:" class="jiveImage wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_idea.gif?m=1129645325g" /&gt;&lt;/a&gt; &lt;em&gt;It is possible to disable the NMI functionality of that pin for the KL25Z. However, depending on the sensor state during startup/power-on of the microcontroller, this still very likely will raise an NMI, especially right after flashing/debugging the device. The problem can be avoided if debugging is done without powering the sensor array. That means that the battery supply voltage needs to be switched off during flashing and startup of the microcontroller. This worked for me, but was painful after a while.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;The solution is to re-route the D4 sensor to another pin. For this a trace on the sensor board needs to be cut, and rerouted to another pin. I used A0 as this pin is available on the connector and I have not used it otherwise:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;a href="http://mcuoneclipse.files.wordpress.com/2013/02/d4-sensor-rerouting1.png" rel="nofollow ugc noopener" target="_blank"&gt;&lt;img loading="lazy" alt="D4 Sensor Rerouting to A0" class="wp-image-6612 jiveImage size-full" height="259" src="http://mcuoneclipse.files.wordpress.com/2013/02/d4-sensor-rerouting1.png?w=584&amp;amp;h=259" style="display:block;margin-left:auto;margin-right:auto;" width="584" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;text-align:center;"&gt;&lt;em style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;D4 Sensor Rerouting to A0&lt;/em&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;Software&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;The software is written with the help of Processor Expert components. It runs FreeRTOS as operating system:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;a href="http://mcuoneclipse.files.wordpress.com/2013/02/processor-expert-components.png" rel="nofollow ugc noopener" target="_blank"&gt;&lt;img loading="lazy" alt="Processor Expert Components" class="jiveImage size-full wp-image-6606" src="http://mcuoneclipse.files.wordpress.com/2013/02/processor-expert-components.png?w=584" style="display:block;margin-left:auto;margin-right:auto;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;text-align:center;"&gt;&lt;em style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;Processor Expert Components&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;It features a command line (shell) interface using the &lt;a class="jive-link-external-small" href="http://mcuoneclipse.com/2012/09/20/opensda-on-the-freedom-kl25z-board/" rel="nofollow ugc noopener" target="_blank" title="OpenSDA on the Freedom KL25Z Board"&gt;OpenSDA USB CDC&lt;/a&gt; connection:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;a href="http://mcuoneclipse.files.wordpress.com/2013/02/shell-commands.png" rel="nofollow ugc noopener" target="_blank"&gt;&lt;img loading="lazy" alt="Shell Commands" class="jiveImage wp-image-6604 size-full" height="361" src="http://mcuoneclipse.files.wordpress.com/2013/02/shell-commands.png?w=584&amp;amp;h=361" style="display:block;margin-left:auto;margin-right:auto;" width="584" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;text-align:center;"&gt;&lt;em style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;Shell Commands&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;The shell commands are manually control the motors, perform calibration of the sensors or inspect the state of the system:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;a href="http://mcuoneclipse.files.wordpress.com/2013/02/system-status.png" rel="nofollow ugc noopener" target="_blank"&gt;&lt;img loading="lazy" alt="System Status in Shell" class="jiveImage size-full wp-image-6603" src="http://mcuoneclipse.files.wordpress.com/2013/02/system-status.png?w=584" style="display:block;margin-left:auto;margin-right:auto;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;text-align:center;"&gt;&lt;em style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;System Status in Shell&lt;/em&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class="wp-caption-text" style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;ZumoBot in Action&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;The following video shows the ZumoBot following a line. After power-up, the sensors get calibrated with moving the sensors over the line, while the sounder is on. Another press of the button runs the line following (PD control loop) algorithm. If the robot does not detect a line any more, it stops:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;text-align:center;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&lt;span class="embed-youtube" style="text-align:center;"&gt;&lt;/span&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12pt;"&gt;Happy Line Following &lt;a href="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1129645325g"&gt;&lt;img loading="lazy" alt=":-)" class="jiveImage wp-smiley" src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1129645325g" /&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: avr, microchip, zumo, cortex-m0+, kl25, freescale, Cortex-M, robot, cortex, frdm-kl25z, stm32, kinetis-l, line_following, cortex-m0, nxp, st, arm, arduino, freedom, pic, atmel, lpc&lt;/div&gt;
</description></item></channel></rss>