<?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>Project14 | Winners Announcement:  Projects that Use Programmable Logic such as FPGA and CPLD!</title><link>https://community.element14.com/challenges-projects/project14/w/documents/4477/project14-winners-announcement-projects-that-use-programmable-logic-such-as-fpga-and-cpld</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Project14 | Winners Announcement:  Projects that Use Programmable Logic such as FPGA and CPLD!</title><link>https://community.element14.com/challenges-projects/project14/w/documents/4477/project14-winners-announcement-projects-that-use-programmable-logic-such-as-fpga-and-cpld</link><pubDate>Mon, 22 Jul 2019 19:50:45 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:f8fe5ed4-97fe-4e47-ad15-4f0f34f18591</guid><dc:creator>tariq.ahmad</dc:creator><comments>https://community.element14.com/challenges-projects/project14/w/documents/4477/project14-winners-announcement-projects-that-use-programmable-logic-such-as-fpga-and-cpld#comments</comments><description>Current Revision posted to Documents by tariq.ahmad on 7/22/2019 7:50:45 PM&lt;br /&gt;
&lt;div style="border:1px solid #9EA900;margin:0px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="background-color:#f4f4f2;padding:0px;margin:0px;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="padding:6px 15px 6px 12px;"&gt;&lt;a href="/challengesprojects/project14/"&gt;&lt;img alt="image" src="/e14/assets/legacy/2017/project14_logodoc.png" style="vertical-align:top;"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="padding:6px 12px 8px 0px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:4px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/programmable-logic/"&gt;Programmable Logic&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:17px;"&gt;&lt;strong&gt;Enter Your Electronics &amp;amp; Design Project&lt;/strong&gt; for a chance to win up to a $200 Shopping Cart of Product!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/project14/"&gt;Back to The Project14 homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:10px 12px;vertical-align:middle;background-color:#9ea900;" width="24%"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/"&gt;&lt;span style="font-size:12px;color:#ffffff;"&gt;&lt;strong&gt;Project14 Home&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:#767e00;"&gt;&lt;span style="color:#dceb93;text-decoration:none;font-size:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/project14/w/documents/3370/project14-project-competition-events-trophies-timetable-projected-and-historical-timelines"&gt;&lt;span style="color:#ffffff;text-decoration:none;font-size:12px;"&gt;&lt;strong&gt;Monthly Themes&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:10px 12px;vertical-align:middle;background-color:#596000;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/project14/w/documents/20670/project14-you-decide-the-next-monthly-project-competition"&gt;&lt;span style="color:#ffffff;text-decoration:none;font-size:12px;"&gt;&lt;strong&gt;Monthly Theme Poll&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#303030;"&gt;&lt;strong&gt;Congratulations to &lt;span&gt;&lt;a href="/members/avnrdf"&gt;avnrdf&lt;/a&gt;&lt;/span&gt; for &lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/paneldriver-a-fpga-based-hdmi-to-fpd-link-converter"&gt;PanelDriver: A FPGA based HDMI to FPD-Link converter&lt;/a&gt;!&amp;nbsp; You are the winner of the Grand Prize of a $200 Shopping Cart! &lt;/strong&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;span style="color:#303030;"&gt;&lt;strong&gt;Congratulations to &lt;span&gt;&lt;a href="/members/jomoenginer"&gt;jomoenginer&lt;/a&gt;&lt;/span&gt;&amp;nbsp; for &lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidorscout---mkr-vidor-4000-mobile-robot-assembly-and-test"&gt;VidorScout - MKR Vidor 4000 Mobile Robot&lt;/a&gt;,&amp;nbsp; &lt;span&gt;&lt;a href="/members/bernhardmayer"&gt;bernhardmayer&lt;/a&gt;&lt;/span&gt; for &lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/bb-cpld---a-robotics-expansion-board-for-the-beaglebone-black-with-an-altera-max-ii-epm1270"&gt;bb-cpld - a robotics expansion board for the BeagleBone Black with an Altera MAX II EPM1270&lt;/a&gt; , and &lt;span&gt;&lt;a href="/members/dixonselvan"&gt;dixonselvan&lt;/a&gt;&lt;/span&gt;&amp;nbsp; for &lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/display-for-traffic-predictor---cypress-psoc6-ble-pioneer-kit"&gt;Display for Traffic Predictor - Cypress PSoC6 BLE Pioneer kit&lt;/a&gt; ! You are the First Place winners of the $100 Shopping Cart!&lt;/strong&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;Since this theme was &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/programmable-logic/"&gt;Programmable Logic&lt;/a&gt;, we thought it would be fun to trace the roots of this broad topic to the man who is considered the father of of the programmable logic controller, Richard Morley.&amp;nbsp; He passed away a few years ago on October 17th, 2017.&amp;nbsp; Before passing away he was known for hosting Geek Pride picnics at his farm in New Hampshire for fellow inventors and tinkerers. He was a self-schooled engineer who dropped out of M.I.T. (Massachusetts Institute of Technology) and refused to work corporate hours. He often recalled how he was hung over on New Year’s Day in 1968 when he designed a rugged computer that revolutionized factory automation. Prior to his invention, automation had depended on electromechanical relays, thousands of &amp;quot;on/off&amp;quot; switches, to tell machinery what to do. If there was a new or a changed product was introduced, thousands of wires and switches had to be reconfigured by an electrician. The device that Morley introduced was later known as a programmable logic controller, or PLC. On that New Year’s Day, he had to sketch out his concept quickly due to the headache he felt coming on from having celebrated the night before.&amp;nbsp; The device, which was about the size of a suitcase, allowed electricians to use a simple computer to reprogram machinery controls.&amp;nbsp; Now adjustments to controls which had previously required months of drudgery, could be completed in hours.&amp;nbsp; He and associates formed a company called Modicon Inc. to make the PLCs, then sold it to Gould Inc. in 1977. Modicon now is a PLC brand made by Schneider Electric.&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/254x169/__key/communityserver-wikis-components-files/00-00-00-02-95/5658.contentimage_5F00_117759.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/95/5658.contentimage_117759.jpg-254x169.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=b5cjnOIzbhJugM82LY8QrQO0uxLlulM8RF0SD88xEBw%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=FlOvo9ldvWPr5agEmcA0JQ==" style="max-height: 169px;max-width: 254px;" /&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 the 1990s, vendors began developing control devices that integrated logic and I/O with additional capabilities. By 2001, the moniker Programmable Automation Controller (PAC) was given by the ARC advisory board to describe this approach.&amp;nbsp; PACs include multiple processors to address a variety of functions beyond just basic logic and I/O. These capabilities include digital (e.g. motion control), analog (e.g. process control), and serial (I/O from test equipment, keypads, scanners, etc.) tasks. Because PACs already include these functions, they eliminate the time and effort involved in integrating a PLC with the motion controller, for example. As a result, they’ve grown increasingly popular in discrete manufacturing.&amp;nbsp; Another control option that delivers even greater levels of flexibility is soft motion enabled by PC. Today’s industrial PCs have been ruggedized, top to bottom, with environmental protection and removal of any moving parts. Hypervisors like VMware allow a single core to be divided into multiple discrete partitions that run independently of one another, right down to the operating system. This enables a motion application to run on a partition with Linux or a robust proprietary real-time operating system (RTOS) while remaining completely isolated from a Windows partition supporting the HMI or a machine vision system.&amp;nbsp; At the opposite end of the spectrum lies embedded control systems that leverage field programmable gate arrays (FPGAs) to customize performance using hardware rather than software. When unusual requirements can’t be satisfied by conventional control solutions, FPGAs provide a more accessible solution than more expensive and difficult-to-develop application-specific integrated circuit (ASIC). The approach can be used to address one-off, high-performance projects like a segmented telescope with multiple thousands of actuators that can’t be addressed with a conventional PLC/PAC solution. Conversely, FPGAs can be used to offload tasks such as control logic and I/O triggering in highly complex systems, freeing CPU cycles to handle more complex tasks like trajectory generation.&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/282x212/__key/communityserver-wikis-components-files/00-00-00-02-95/1440.contentimage_5F00_117760.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/95/1440.contentimage_117760.jpg-282x211.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=dUybrpyXgEro%2F6BXIdC9tQf1FwKxQAqEGlTQbWw7urM%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=gGC3EAzOMQ224acxm3MCTw==" style="max-height: 211px;max-width: 282px;" /&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;&lt;span id="0bd79045_5c60_468b_b7b5_d1b69a43ec9c"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=4BxOizho1UE"&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;Without further adieu here are your winners......&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;The Winners&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;"&gt;&lt;span style="color:#3334ca;font-family:Arial, &amp;#39;Lucida Grande&amp;#39;, sans-serif;font-size:24px;font-weight:bold;"&gt;The Grand Prize:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/paneldriver-a-fpga-based-hdmi-to-fpd-link-converter"&gt;PanelDriver: A FPGA based HDMI to FPD-Link converter&lt;/a&gt; by &lt;span&gt;&lt;a href="/members/avnrdf"&gt;avnrdf&lt;/a&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;This &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/programmable-logic/"&gt;Programmable Logic&lt;/a&gt; theme comes about almost a year since &lt;span&gt;&lt;a href="/members/avnrdf"&gt;avnrdf&lt;/a&gt;&lt;/span&gt;&amp;nbsp; first started working with FPGAs. While the project at its current stage it does not make use of the ARM core in the Zynq, he managed to make use of a lot of what he learnt in &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/design-challenges/pathtoprogrammable/"&gt;Path to Programmable&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;You can view &lt;span&gt;&lt;a href="/members/avnrdf"&gt;avnrdf&lt;/a&gt;&lt;/span&gt; progress here:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-1---getting-started"&gt;Path to Programmable Blog 1 - Getting Started&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-2---xilinx-tool-flow-getting-started-with-zynq-7000"&gt;Path to Programmable Blog 2 - Xilinx Tool Flow &amp;amp; Getting Started with Zynq-7000&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-3---ps-peripheral-configuration-tcl"&gt;Path to Programmable Blog 3 - PS Peripheral Configuration &amp;amp; TCL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-4---adding-a-pl-peripheral-using-ps-dma"&gt;Path to Programmable Blog 4 - Adding a PL Peripheral &amp;amp; using PS DMA&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-5---creating-custom-ip"&gt;Path to Programmable Blog 5 - Creating Custom IP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-6---hardware-debugging-some-more-tcl"&gt;Path to Programmable Blog 6 - Hardware Debugging &amp;amp; some more TCL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-7---trying-out-a-pl-only-vga-design"&gt;Path to Programmable Blog 7 - Trying out a PL-only VGA design&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-8---developing-zynq-software"&gt;Path to Programmable Blog 8 - Developing Zynq Software&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-9---developing-applications-debugging-in-xilinx-sdk"&gt;Path to Programmable Blog 9 - Developing Applications &amp;amp; Debugging in Xilinx SDK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-10---minized-does-dvi-hdmi"&gt;Path to Programmable Blog 10 - MiniZed does DVI/HDMI&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-11---booting-zynq-7000"&gt;Path to Programmable Blog 11 - Booting Zynq-7000&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-12---sdk-project-management-interrupts"&gt;Path to Programmable Blog 12 - SDK Project Management &amp;amp; Interrupts&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-13---xilinx-libraries-the-te-sensor-pmod-next-steps"&gt;Path to Programmable Blog 13 - Xilinx Libraries, the TE Sensor PMOD &amp;amp; Next Steps&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-14---project-a-minized-ws2812-controller"&gt;Path to Programmable Blog 14 - Project: A MiniZed WS2812 Controller&lt;/a&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;His entry for this month&amp;#39;s Project14 contest is an FPGA based HDMI to FPD-Link converter - a device that takes video from a HDMI source, decodes it, encodes it and sends it to a LCD panel over FPD-Link (commonly referred to as LVDS).&amp;nbsp; He completed this project around 4 months ago:, but decided to enter it into this month&amp;#39;s contest for two reasons: - it&amp;#39;s a good example of a project that cannot be done using a microcontroller, and makes good use of FPGA capabilities. - it&amp;#39;s got the right mix of Project14 material: a little reverse engineering, pushing hardware to its limits, overcoming obstacles, a mix of hardware &amp;amp; software HDL and the right about of duct tape holding all of this together.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;PanelDriver: A FPGA based HDMI FPD-Link converter&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/383x297/__key/communityserver-wikis-components-files/00-00-00-02-95/5672.contentimage_5F00_117762.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/95/5672.contentimage_117762.png-383x297.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=e4surysYI1CbFNI5jdb9IikKBaZJUluUsMqNp%2FOc11U%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zH+fRUfPXiTvVq+ZiCTDQQ==" style="max-height: 297px;max-width: 383px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/741x378/__key/communityserver-wikis-components-files/00-00-00-02-95/6242.contentimage_5F00_117763.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/95/6242.contentimage_117763.png-620x316.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=XIcrc4NXc%2BNojgOklmVQ0%2BmCPGhUD4WwxkINM3sn39I%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=sHYAv8c0lSNn9945LO//Sw==" style="max-height: 316px;max-width: 620px;" /&gt;&lt;/a&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;This was a great example of using programmable logic to build a complex electronics project.&amp;nbsp; Nice explanation of the process, problems and solutions along the way.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;It is a very original application of the power of FPGA and it has also a lot of possibilities of evolution. A clean and efficient solution where FPGA covers one of its historical roles: signal conversion and manipulation.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;&lt;span id="3bc65a45_d442_47b9_8236_bf12ad6c278e"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=6056649622001"&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;It&amp;#39;s a good example of a project that cannot be done using a microcontroller, and makes good use of FPGA capabilities.&amp;quot;. This is one of the main things I expected to find in these projects. In addition, the well developed explanation, and having it split into 2 posts, makes it readable and understandable. It&amp;#39;s a little complex for beginner, but with a plain English, brief summary could attract interest of more people.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;A FPGA based HDMI to FPD-Link converter by avnrdf is an interesting and original project derived from Path to Programmable&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Having built a display test board for my college engineering project, I found this entry very interesting. It was clear that a great amount of effort went into this to deliver a functional project. The detail put into the blogs was quite impressive.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#3334ca;font-family:Arial, &amp;#39;Lucida Grande&amp;#39;, sans-serif;font-size:24px;font-weight:bold;"&gt;3 First Place Winners:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;VidorScout by&amp;nbsp; &lt;span&gt;&lt;a href="/members/jomoenginer"&gt;jomoenginer&lt;/a&gt;&lt;/span&gt;:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidorscout---mkr-vidor-4000-mobile-robot-intro"&gt;VidorScout - MKR Vidor 4000 Mobile Robot: Intro&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidorscout---mkr-vidor-4000-mobile-robot-vidorbitstream-compile"&gt;VidorScout - MKR Vidor 4000 Mobile Robot: VidorBitstream compile&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidorscout---mkr-vidor-4000-mobile-robot-camera-qr-code-recognition"&gt;VidorScout - MKR Vidor 4000 Mobile Robot: Camera QR Code Recognition&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidorscout---mkr-vidor-4000-mobile-robot-assembly-and-test"&gt;VidorScout - MKR Vidor 4000 Mobile Robot: Assembly and Test&lt;/a&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;VidorScout is an autonomous mobile robot that uses Sensor Fusion which combines camera vision, Time of Flight Sensor data and IR Sensors to identify objects for both avoidance and for object identification. The camera sensor can also be used for QR code identification to identify that an object has been labeled correctly or as a waypoint with autonomous navigation.&amp;nbsp; The Arduino MKR Vidor 4000 Development Board is used to take advantage of the on board SAMD Microcontroller and Intel Cyclone 10 FPGA capabilities. A 5MP OV5647 Camera sensor captures real-time images to be output via the Vidor HDMI port as well as for analysis.&amp;nbsp; A closed Maze is used to demonstrate the functionality of the bot.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Part of the intent of the VidorScout project is to take advantage of the FPGA code that Arduino has provided and modify it for a particular purpose.&amp;nbsp; It is unknown at this time whether this is possible since not all of the released FPGA code has been provided by Arduino for the MKR Vidor 4000, so it will be a matter of working with what is available.&amp;nbsp; However, Arduino recently posted the VidorBitstrem code which has the majority of the FPGA code used in the VidorPeripherials and VidoGraphics examples.&amp;nbsp; To compile the VidorBitstream code, a few steps are required.&amp;nbsp; To edit and synthesis the Intel Cyclone 10 LP code for the Vidor 4000, the Intel Quartus Prime (includes Nios II EDS) software needs to be downloaded an installed. Intel provides a Lite 18.1 version that is free to download and use but is a couple of steps behind the latest release. This includes the Intel Quartus Prime development environment, Nios II Embedded Design Suite, ModelSim Starter Edition and much more.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The VidorScout is a mobile robot that self navigates using Sharp IR sensors and a VL53L0X Time of Flight Distance Sensor When a QR Code is Identified, the bot will stop and a Ref RGB LED on the back of the bot will flash indicating the code was found.&amp;nbsp; The Base of the VidorScout is made of Expanded PVC board that was obtained from a local Tap Plastics store. The Wheels of the VidorScout are Adfruit Thin White TT Wheels and the motors and OSEPP TT Gear Box motors.&amp;nbsp; The Motor Controller used is a Adafruit DRV883 with Dual H-Bridge.&amp;nbsp; The Time of Flgiht sensor is a VL53L0X sensor.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;VidorScout&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/419x334/__key/communityserver-wikis-components-files/00-00-00-02-95/3108.contentimage_5F00_117765.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/95/3108.contentimage_117765.jpg-419x333.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=RbydPKFTiJRQVESE0O31T37jtFmhO6yUQ4yVOEzx8Us%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=hRkwVKoio5GagjEui7/SXg==" style="max-height: 333px;max-width: 419px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/446x335/__key/communityserver-wikis-components-files/00-00-00-02-95/3603.contentimage_5F00_117766.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/95/3603.contentimage_117766.jpg-446x335.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=ljTLzqIV6mBZtO6qike9ZiS2sfMwuwgeVpSRTrBmH4M%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=lGeAZUw85CpLTHCN9IdBZw==" style="max-height: 335px;max-width: 446px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/424x369/__key/communityserver-wikis-components-files/00-00-00-02-95/0550.contentimage_5F00_117767.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/95/0550.contentimage_117767.png-424x369.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=BYYpvdDy3xC95JEWVG3uDUxDGpxtjVYYmyOLBhmGt2U%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=qbw14F9gF39PRkPVq2TvMg==" style="max-height: 369px;max-width: 424px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/402x364/__key/communityserver-wikis-components-files/00-00-00-02-95/7416.contentimage_5F00_117768.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/95/7416.contentimage_117768.png-402x363.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=zvWEe25sbKLcdQmeVTa6WxvKQvQazHHijnwlkmKyvr8%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=98hSKihHora3VLdJWyHNDA==" style="max-height: 363px;max-width: 402px;" /&gt;&lt;/a&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Nice robot with lots of sensors.&amp;nbsp; Good use of FPGA to read the QR codes.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span id="e41e6fc8_610c_4767_b9cb_8ac45cf2bcbe"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=Yi5mw8lHhwM"&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;A lot of great work shown here in the development of a highly capable robot.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Good example of a scratch built robot with plenty of information on the build and programming aspects. Finished off with a fully functioning robot in demonstration video.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/bb-cpld---a-robotics-expansion-board-for-the-beaglebone-black-with-an-altera-max-ii-epm1270"&gt;bb-cpld - a robotics expansion board for the BeagleBone Black with an Altera MAX II EPM1270&lt;/a&gt;&amp;nbsp; by &lt;span&gt;&lt;a href="/members/bernhardmayer"&gt;bernhardmayer&lt;/a&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;When you build robots you always have to control lots of motors or RC servos. If you use a micro controller as main computing device you are fine because these devices have plenty of PWM outputs to control motors. But when you switch to more powerful controllers like the Raspberry Pi or the BeagleBone Black you have a little problem because these only have two or three PWM outputs and you can&amp;#39;t stick your motor drivers directly to them. Then you usually use an additional motor controller board with a micro controller and connect it via serial or SPI to your Raspberry Pi or BeagleBone. Another option is to use a CPLD, connect it to the main CPU via SPI and generate the PWM outputs with this device. &lt;span&gt;&lt;a href="/members/bernhardmayer"&gt;bernhardmayer&lt;/a&gt;&lt;/span&gt; built a board doing just this and describes it in this post.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;bb-cpld - a robotic expansion board for the BeagleBone Black with an Altera MAX II EPM1270&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/393x281/__key/communityserver-wikis-components-files/00-00-00-02-95/5353.contentimage_5F00_117770.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/95/5353.contentimage_117770.jpg-393x281.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QEZGA%2BRG9KdGNy%2Fm1YK9%2BzrzR1sT7CpFRrKZodgya4o%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=UTw2KcHS2hRJ0AgsIj5NTw==" style="max-height: 281px;max-width: 393px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/337x281/__key/communityserver-wikis-components-files/00-00-00-02-95/0363.contentimage_5F00_117771.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/95/0363.contentimage_117771.jpg-337x281.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=jI3BaXurgYQdAsuvt%2Faf%2BeA3fbLt4ng7xc4Hbv%2Bl3vg%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=XpzndSqy2RAg9aB0GHYEug==" style="max-height: 281px;max-width: 337px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/389x311/__key/communityserver-wikis-components-files/00-00-00-02-95/7220.contentimage_5F00_117772.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/95/7220.contentimage_117772.png-389x311.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Qj55yNdGhCt1yFakgwxmqnxWBTNHfch5h9qWaZviX%2Fg%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=CR/GY7svTFx1u3Dv+6ljVA==" style="max-height: 311px;max-width: 389px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/383x307/__key/communityserver-wikis-components-files/00-00-00-02-95/1452.contentimage_5F00_117773.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/95/1452.contentimage_117773.png-383x306.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=S2d2%2Fuh0g8geNzvF9paJRrFP7ruxSjYAOppvv7TB6og%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=stc/JyXIJK22qNThKjeeiA==" style="max-height: 306px;max-width: 383px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt; &amp;quot;Nice implementation of a CPLD based programmable logic project.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span id="be41d68f_d343_41cb_bbd1_e9cde61d3c9f"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=baLZyXRbMms"&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Simple but nice project for introducing the use of the PSOC4 in a distance measurment application. Nice explanation for the background of the application at the start and the limitations at the end.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;BB-CLPD, good project well explained.&lt;/strong&gt;&amp;quot; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/display-for-traffic-predictor---cypress-psoc6-ble-pioneer-kit"&gt;Display for Traffic Predictor - Cypress PSoC6 BLE Pioneer kit&lt;/a&gt;&amp;nbsp; by &lt;span&gt;&lt;a href="/members/dixonselvan"&gt;dixonselvan&lt;/a&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;The &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/programmable-logic/"&gt;Programmable Logic&lt;/a&gt; competition was a chance to explore &amp;#39;Programmable Logic&amp;#39; which is usually not explored by hobbyists or makers in the first place. This may be due to the code or hardware complexity. But recently FPGAs and other PLDs have been made easy for beginners to learn and explore. One best example to quote would be Arduino Vidor 4000. So checking his inventory, &lt;span&gt;&lt;a href="/members/dixonselvan"&gt;dixonselvan&lt;/a&gt;&lt;/span&gt; has the below four boards/ kits that would suit this competition&amp;#39;s topic&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Matrix Creator with FPGA - Xilinx Spartan 6 XC6SLX4 [&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/homeautomation/b/blog/posts/sera---smart-extension-relay-with-alexa---powered-by-matrix-creator-and-arduino-mkr1000"&gt;SERA - Smart Extension Relay with Alexa - powered by MATRIX Creator and Arduino MKR1000&lt;/a&gt;]&lt;/li&gt;&lt;li&gt;Digilent Arty S7 with FPGA - Xilinx Spartan 7 XC7S50-CSGA324 [&lt;a class="jive-link-roadTestReview" href="https://www.element14.com/community/roadTestReviews/2651/l/digilent-arty-s7-dev-board-xilinx-spartan-7-review"&gt;Digilent ARTY S7 Dev Board (Xilinx Spartan 7) - Review&lt;/a&gt;]&lt;/li&gt;&lt;li&gt;Cypress PSoC6 BLE Pioneer Kit and WiFi-BT Pioneer Kit with PSoC6 [&lt;a class="jive-link-roadTestReview" href="https://www.element14.com/community/roadTestReviews/2648/l/cypress-psoc-6-ble-pioneer-kit-cy8ckit-062-ble-review"&gt;Cypress PSoC&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/00ae.svg" title="Registered"&gt;&amp;#x00ae;&lt;/span&gt; 6 BLE Pioneer Kit (CY8CKIT-062-BLE) - Review&lt;/a&gt; &amp;amp; &lt;a class="jive-link-roadTestReview" href="https://www.element14.com/community/roadTestReviews/2844/l/psoc-6-wifi-bt-pioneer-kit-cy8ckit-062-wifi-bt-review"&gt;PSoC&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/00ae.svg" title="Registered"&gt;&amp;#x00ae;&lt;/span&gt; 6 WiFi-BT Pioneer Kit (CY8CKIT-062-WIFI-BT) - Review&lt;/a&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;Out of these four, this blog will cover a simple project done using the Cypress PSoC6 BLE Pioneer kit. This project may not use the full (programmable) capacity of the PSoC6 rather uses a single programmable GPIO.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Earlier, &lt;span&gt;&lt;a href="/members/dixonselvan"&gt;dixonselvan&lt;/a&gt;&lt;/span&gt; had prototyped a &lt;a class="jive-link-blog-small" href="https://www.element14.com/community/community/design-challenges/iot-on-wheels/blog/authors/dixonselvan?ICID=iotwheels-winners-doc"&gt;traffic predator &lt;/a&gt;for the &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/design-challenges/iot-on-wheels/"&gt;IoT on Wheels Design Challenge&lt;/a&gt; . This did not have a display unit rather had an Android mobile application to have the details displayed to the user. Hence he wanted to make a display for my traffic predictor project using the E-Ink Display shield of the Cypress PSoC6 BLE Pioneer kit. Though initially, he had many plans running through my mind, time constraint, unforeseen incident (Breakage of the E-Ink Display Shield) and the fact that he is new to Cypress PSoC family and PSoC Creator, limited the display functionalities to Display the logo initially, Display an alert in case any vehicle in front approaches closer than a limit and Display the real-time temperature of the surrounding.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The display unit would be an extension of the main traffic predictor system (Arduino UNO (replacing ST-Nucleo L476RG board), Ultrasonic Sensor and Servo Motor). Arduino Uno will send a HIGH or a LOW digital signal to the Cypress PSoC6 BLE Pioneer board, instructing when to display the alert in the E-Ink Display Shield and to turn ON/OFF the LED.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;Display for Traffic Predictor&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/398x302/__key/communityserver-wikis-components-files/00-00-00-02-95/1856.contentimage_5F00_117775.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/95/1856.contentimage_117775.png-398x302.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=9w26lEM6dVzPpEe%2FLjjj8B8kXoJZkVCr7JooK9IO6wo%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=3D8cgxrN7BX4rgO+pzpE9A==" style="max-height: 302px;max-width: 398px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/415x301/__key/communityserver-wikis-components-files/00-00-00-02-95/4188.contentimage_5F00_117776.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/95/4188.contentimage_117776.png-415x301.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=P%2BSgjMi%2B9EwGc9RSDx%2FeMnprweDJ%2FGfqDux5tOO147w%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=5pysBVR5NV04eC6X5ys3EQ==" style="max-height: 301px;max-width: 415px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;The grand prize winner I think it is the traffic predictor. It is an almost well-documented project with the plus that the video proof not only illustrate how the project works but it is also shown it in place. As the PSoC 6 BLE support a lot of sensors, adding some traffic alarm with an ultrasonic range finder is a great idea suggesting a lot of small improvements that can make it a good product.&amp;quot;&lt;/strong&gt; - Community Member Judge &lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span id="e8442272_d230_459a_b6c6_b7e9d6125de1"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=xB5ft8xsfOg"&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;Runners Up&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#3334ca;font-family:Arial, &amp;#39;Lucida Grande&amp;#39;, sans-serif;font-size:24px;font-weight:bold;"&gt;Runners Up:&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;The following projects received first place votes from the judges....&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;span style="font-size:24px;font-weight:bold;"&gt;Programmaball by &lt;span&gt;&lt;a href="/members/fred27"&gt;Fred27&lt;/a&gt;&lt;/span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/programmaball---project-idea"&gt;ProgrammaBall - project idea&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/pragrammaball---getting-started-on-the-verilog"&gt;PragrammaBall - getting started on the Verilog&lt;/a&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&gt;&lt;a href="/members/fred27"&gt;Fred27&lt;/a&gt;&lt;/span&gt; has been trying to get into FPGAs, but he’s found it a little hard going. Let&amp;#39;s be honest it&amp;#39;s not easy. It&amp;#39;s the sort of thing that you understand when you read it, you understand when you try it, but you struggle with when you come back to it again. He was excited about the Programmable Logic competition because time-limited projects are always a good way to focus the mind. Having said that, he’s got a lot going on at the moment so there is a fair chance it won&amp;#39;t get completed by the Project14 end date.&amp;nbsp; As long he gets some of it done and learns as he goes then he&amp;#39;ll be happy even if he misses the deadline. He has an Arty S7 sitting in front of him (thanks to the very generous &lt;span&gt;&lt;a href="/members/kk99"&gt;kk99&lt;/a&gt;&lt;/span&gt; ) and a PmodVGA board that seemed like a good add-on to a recent component order. Generating a VGA signal seems like a nice rite-of-passage for FPGA development so he’s going to go for a simple VGA-based game.&amp;nbsp; He’s also got some micro:bits that his sons (age 7 and 5) are just starting to get to grips with. It would be really nice to get them involved in creating something. If he could include a micro:bit in a small way then that would be a bonus. Marble madnessPong is a great starter game. It&amp;#39;s not that tricky and it really hits the nostalgia button. However, he doesn’t want to do something with a little originality. He’s not much of a gamer, but one game he remember for it&amp;#39;s originality back in the day was Marble Madness. Now if you think that he’s capable of recreating that then think again! He just like that sort of idea. He also noticed when helping the boys with the micro:bit that it responds to tilt. Maybe a couple of micro:bits could be the game controllers and a ball could roll around the screen?&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;He settles on making it a ball-rolling sort of game controlled by a couple of micro:bits.&amp;nbsp; He’s hoping his kids will be able to help with the micro:bit side of things.&amp;nbsp; As the FPGA (a Spartan 7 on an Arty S7 board) will be generating the output VGA signal he started looking into how to generate FPGA. He found an excellent resource on VGA generation at timetoexplore. It describes all the timing required for a 640 x 480 VGA output from a VGA and even started going into generating graphics. He also discovered a different approach by Andy West here on E14. He really wanted to understand what he was doing rather than copy someone else&amp;#39;s code so he took inspiration from both. The timing and generation on his version takes a lot from timetoexplore, but he liked the separation of the VGA signal generation from the rendering of element from Andy&amp;#39;s solution.&amp;nbsp; He also decided that he wanted to render the output on the fly rather than writing to an area of RAM to display from there. He felt that he&amp;#39;d learn more from doing it this way. Of course, he stumbled into a few FPGA pitfalls. At one point he managed to (he thinks) get the timing a little too close and half the screen was blanked and he got a smudgy green / purple mess. As a coder, that&amp;#39;s not something you&amp;#39;d expect when only dealing with grey and blue. Once you&amp;#39;ve got timing issue sorted he decided to move on to having something a little more interesting than a square. This got me into the realm of uploaded an image file onto the FPGA. Once again timetoexplore was helpful. Still in his retro vibe and with a PacMan machine at work, he decided that a PacMan ghost would be cool. He ended up hand-entering image data in the form of a 14 x 14 grid of 2-bit binary data to form the image and a 4 colur palette to translate these to a 12-bit colour for display. If you look closely you can just about make out the figure in the image.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;Programmaball&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/320x224/__key/communityserver-wikis-components-files/00-00-00-02-95/2045.contentimage_5F00_117778.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/95/2045.contentimage_117778.png-320x224.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=SwOZpiTN79FLRx%2FQ57mJd5Q3L9lD93F98ITAsgMhgA4%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=YScz2rFmDHd1J+wGJCru9A==" style="max-height: 224px;max-width: 320px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/429x224/__key/communityserver-wikis-components-files/00-00-00-02-95/1440.contentimage_5F00_117779.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/95/1440.contentimage_117779.png-429x224.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=YQT3Rf%2BbIB6ailfmQbcOQplNLuVtL2PZi2FEpXa%2FPxw%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=R/ACTC/0f3s7eWRWuh16YQ==" style="max-height: 224px;max-width: 429px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;This is a good use case for an FPGA and Fred27 has started from scratch rather than using already developed code.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&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;h2&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/pseudo-random-generator-with-arduino-vidor-mkr4000"&gt;Pseudo random generator with Arduino Vidor MKR4000&lt;/a&gt;&amp;nbsp; by &lt;span&gt;&lt;a href="/members/kk99"&gt;kk99&lt;/a&gt;&lt;/span&gt;:&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;Using MKR Vidor 4000 as basic debug architecture&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/340x340/__key/communityserver-wikis-components-files/00-00-00-02-95/5672.contentimage_5F00_117780.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/95/5672.contentimage_117780.jpg-340x340.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=8ZDUbsSCnkxJ2pGEg3GzvHJBFBSGh4vhLGs1uV%2BlyiA%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=DMQTqP1W5OynBURxLysMVA==" style="max-height: 340px;max-width: 340px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/291x335/__key/communityserver-wikis-components-files/00-00-00-02-95/2538.contentimage_5F00_117781.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/95/2538.contentimage_117781.png-291x334.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=RvOzq0%2BqTzGrlNM7O96WUihH%2BayymghJpvniMqJCCR8%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=z9xxu0yoswnpHgRKee6djA==" style="max-height: 334px;max-width: 291px;" /&gt;&lt;/a&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;A simple, but complete solution using a FPGA as a custom logic device&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&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;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidor-clock---powered-by-fpga"&gt;Vidor Clock - Powered by FPGA&lt;/a&gt;&amp;nbsp; by &lt;span&gt;&lt;a href="/members/vimarsh_5f00_"&gt;vimarsh_&lt;/a&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;&lt;span&gt;&lt;a href="/members/vimarsh_5f00_"&gt;vimarsh_&lt;/a&gt;&lt;/span&gt;&amp;nbsp; wanted to do something useful with FPGA as he had Adruino MKR Vidor laying around. The Vidor is still not so beginner friendly but its Graphics Library is still awesome. Also, he had almost forgotten it has WiFi and a microcontroller also. So, he wanted to make something which uses all of the microchips and which can be used on a day-to-day basis. So, the direct thought came was to do something with display because the Vidor has an HDMI (micro) port and also a great library.&amp;nbsp; For the project, he thought of making a digital clock- which shows time in analog format and it will also show the date and other information. This will test out his trigonometry skills as well as it can use the internet. Here&amp;#39;s how it works...&amp;nbsp; The Vidor connects to the internet with the help of its WiFi chip (Esp32) and gets the time in the world via NTP Server. Then the time is stored in the RTC of SAMD21 microcontroller. That time is then displayed in analog format with the date on an HDMI monitor. After the day is over it will automatically sync the time with the NTP Server again and hence it will also remain very accurate. The output on Monitor is done by Intel Cyclone FPGA onboard.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;VIDOR Clock - Powered by FPGA&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/400x300/__key/communityserver-wikis-components-files/00-00-00-02-95/7318.contentimage_5F00_117782.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/95/7318.contentimage_117782.jpg-400x300.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=hH0vr97%2BAjFOEbPyZzug%2FEdd9%2BlEF%2F49Z7864dW4MKc%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=3Aycm2uKfqUfdXhLa0gaZQ==" style="max-height: 300px;max-width: 400px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/384x288/__key/communityserver-wikis-components-files/00-00-00-02-95/7823.contentimage_5F00_117783.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/95/7823.contentimage_117783.jpg-384x288.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=VO0Dlu1PW7COEuIYbctgL5c0Pd4hbtw6UdS1zEmFBek%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=0sNflZ6QSC04hOoKaMf+cw==" style="max-height: 288px;max-width: 384px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;The Vidor clock is sure one of the three. The author (by the voice he seems really young) has put a lot of effort showing in detail how it works. The demo is well done and clear how it works. And the idea sounds nice.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Effectively demonstrated the use of the Vidor board to produce an internet synchronised time clock&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Simple project, not the most original but the well structured blog makes it interesting and easy to read from top to bottom. I think this kind of projects/guides are enjoyable for those new to programmable logic devices and programming in general.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&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 id="be5f00b3_1f7f_47a9_8528_ba5aad1d848f"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=xMwuJ69fl2M"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&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;&lt;span style="font-size:24px;font-weight:bold;"&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/psoc-ultrasonic-range-meter"&gt;PSoC ultrasonic range meter&lt;/a&gt; by &lt;span&gt;&lt;a href="/members/koudelad"&gt;koudelad&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;Programmable System on Chip (PSoC) is a component that mixes a CPU core (ranging from an 8-bit device to a dual-core 32-bit ARM Cortex-M4) and a configurable mixed-signal array. This way of designing is very powerful – while the CPU is used for computational tasks, peripherals are routed and used without any CPU load.&amp;nbsp; Internal components of the PSoC can be arranged in a way that the measurement is taken periodically in the background and CPU is used only for the initial components’ setup and a final result collection.&amp;nbsp; Ultrasonic ranging module HC-SR04 is a very popular module for hobbyists. It provides a fairly easy to use interface – besides from power and ground pins (5V power supply), there are two pins named Trigger and Echo. Trigger accepts a 10 us wide pulse to start the distance measurement. Echo sets the output to a logic high, proportional to the distance of an object to the module.&amp;nbsp; Trigger controls an ultrasonic transmitter and internally the trigger pulse starts an 8 cycle sonic burst. Waves travel distance from the transmitter to an object (or more object) from which they reflect. These waves travel the same distance back to the receiver that detects them. Finally, Echo pin provides a pulse with the same length as the travel time of the waves (both directions).&amp;nbsp; In ideal conditions, the speed of sound is about 343 m/s at 20 Centigrade.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;PSoC ultrasonic range meter&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/449x337/__key/communityserver-wikis-components-files/00-00-00-02-95/1055.contentimage_5F00_117785.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/95/1055.contentimage_117785.png-449x336.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QsPd7vbmP%2FTUDpHfvPciZ7IHerw75WixQq5Az1OMDww%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=nGteJyVC7JytLtAycgGfDA==" style="max-height: 336px;max-width: 449px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/429x322/__key/communityserver-wikis-components-files/00-00-00-02-95/0550.contentimage_5F00_117786.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/95/0550.contentimage_117786.jpg-429x321.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=k74uGowXjsdCNXCxa%2FdbJENu%2B5p%2B3r35PCCHyHdiNqg%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=qpK5NKDShSMI9xLMafsk7Q==" style="max-height: 321px;max-width: 429px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/448x336/__key/communityserver-wikis-components-files/00-00-00-02-95/4682.contentimage_5F00_117787.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/95/4682.contentimage_117787.png-448x336.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=cgfzeuQjZceZpCpaaGy9KdlWeLrvo%2B%2FUhzvKXN5ug5k%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=O2NGYIGK0CBhyMjEI9OrzA==" style="max-height: 336px;max-width: 448px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/432x324/__key/communityserver-wikis-components-files/00-00-00-02-95/4572.contentimage_5F00_117788.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/95/4572.contentimage_117788.png-432x324.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=NbxGynZ7UnkesPgg9XChN%2FzVN2oQXAJAbeOjjrxrzvo%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=DATQKFR3TngVR8TBGr06nQ==" style="max-height: 324px;max-width: 432px;" /&gt;&lt;/a&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;&lt;span id="b34b62fe_7dbc_4d63_bf28_b28a60a38159"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=6056654548001"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;There are two original aspects of this kind of FPGA application if compared with some commercial range meters. The commercial ones are laser-based and the calculated distance is referred to a specific point instead of a surface or an obstacle. The second element is the wide range covered with good precision. This can be a very powerful improvement for the robotic obstacle detection systems based on the ultrasonic sensor.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;This was a great project to follow that produced a useful working range meter with a great ad hoc case and entertaining demonstration video&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&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;h2&gt;&lt;span style="color:#3334ca;"&gt;What&amp;#39;s Happening Now&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;&lt;span style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#303030;"&gt;There&amp;#39;s always stuff going on in the community and the best ideas always come from you.&amp;nbsp; Suggest your idea in the &lt;a class="jive-link-wiki-small" href="/challenges-projects/project14/w/documents/20670/project14-you-decide-the-next-monthly-project-competition"&gt;Monthly Poll!&lt;/a&gt;&amp;nbsp; and vote on the themes you want to do projects on. Build an electronic toy such as an executive toy, puzzle toy, educational toy, or cuddly toy. Or create a techno toy from an existing toy by adding electronic innards in the &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/electronic-toys/"&gt;Electronic Toys&lt;/a&gt; competition.&amp;nbsp; You can build projects that involve remote monitoring or control of devices that are not easily accessible in the &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/remote-monitoring-control-devices/"&gt;Remote Monitoring &amp;amp; Control&lt;/a&gt; competition.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;Electronic Toys&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;Remote Monitoring &amp;amp; Control&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;strong&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/project14/electronic-toys/w/documents/4386/project14-win-a-snes-classic-bundle-or-shopping-cart-for-your-electronic-toys-project"&gt;Project14 | Win a SNES Classic Bundle or Shopping Cart for Your Electronic Toys Project!&lt;/a&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;strong&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/remote-monitoring-control-devices/b/blog/posts/big-petro-maker-magic-100-datalogger-that-can-save-millions"&gt;Big Petro Maker Magic: $100 Datalogger That Can Save Millions&lt;/a&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/384x203/__key/communityserver-wikis-components-files/00-00-00-02-95/8715.contentimage_5F00_117790.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/95/8715.contentimage_117790.jpg-384x202.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=81nOut2O%2Bbi%2Fgq%2FzplclwGvjmp15PDrJCe8x7dHUTI8%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=Tn93ImKA0GqcQaUIcP32MQ==" style="max-height: 202px;max-width: 384px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/313x235/__key/communityserver-wikis-components-files/00-00-00-02-95/7220.contentimage_5F00_117791.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/95/7220.contentimage_117791.png-313x234.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=YOKA9IZxyPYxUD5XNnuaUMkdnTRpYAZqXls6l73rPdw%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=S+xsQLQtG05JN1k8Tqxb5A==" style="max-height: 234px;max-width: 313px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;strong&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/electronic-toys/"&gt;Electronic Toys&lt;/a&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;strong&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/remote-monitoring-control-devices/"&gt;Remote Monitoring &amp;amp; Control&lt;/a&gt; &lt;/strong&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;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Because, we&amp;#39;re grateful to the element14 community for allowing us to exist, we wanted to do something extra special for the 10 year anniversary. Milestones are an opportunity to stop for a second and think about where you were 10 years ago and where you are today.&amp;nbsp; What was important to you yesterday, what&amp;#39;s important to you today?&amp;nbsp; We&amp;#39;re giving away some of our favorite boards to help get this conversation started.&amp;nbsp; Let us know what you couldn&amp;#39;t live without 10 years ago, and what couldn&amp;#39;t you live without today. We&amp;#39;ll be sending swag bags for posting thoughtful, entertaining, interesting, or enlightening responses.&amp;nbsp; Each package will contain gifts including an Adafruit Feather ESP8266, an Arduino Uno, or an Arduino Nano board!&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;10 Years of element14 Community!&lt;br /&gt;&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#505050;background-color:#ffffff;text-align:left;"&gt;&lt;strong&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/b/blog/posts/10-year-challenge-tell-us-what-you-can-t-live-without-for-an-esp8266-arduino-uno-or-arduino-nano"&gt;10 Year Challenge | Tell Us What You Can&amp;#39;t Live Without for an ESP8266, Arduino Uno, or Arduino Nano!&lt;/a&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/314x236/__key/communityserver-wikis-components-files/00-00-00-02-95/6724.contentimage_5F00_117792.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/95/6724.contentimage_117792.jpg-314x235.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=rPoMlcaVEnCUVwXO%2FI5ryzyEuyjbVvqEir0vjWSw%2BgA%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=FYwHtDP7Y7BD4UTvNp/tyQ==" style="max-height: 235px;max-width: 314px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/420x236/__key/communityserver-wikis-components-files/00-00-00-02-95/0451.contentimage_5F00_117793.gif"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/95/0451.contentimage_117793.gif?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=e%2F3VzRJU2qATEr6E3BVCBJp1c66zJGvdiuihS2v9wfI%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=pK+QZOiX5dkJZeodpP60Pw==" style="max-height: 236px;max-width: 420px;" /&gt;&lt;/a&gt;&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;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;Thank you for continued support of &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/"&gt;Project14&lt;/a&gt; !&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#303030;"&gt;In the comments below:&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#303030;"&gt;Be sure to Congratulate the Winners and Keep Being Awesome!&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 mkr vidor 4000, plc, cpld, cyclone, past_contest, fpga, digilent, altera max ii, field programmable array, psoc6, altera, xillinx, programmable logic, cypress, BeagleBone Black, artys7&lt;/div&gt;
</description></item><item><title>Project14 | Winners Announcement:  Projects that Use Programmable Logic such as FPGA and CPLD!</title><link>https://community.element14.com/challenges-projects/project14/w/documents/4477/project14-winners-announcement-projects-that-use-programmable-logic-such-as-fpga-and-cpld/revision/1</link><pubDate>Mon, 22 Jul 2019 19:50:45 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:f8fe5ed4-97fe-4e47-ad15-4f0f34f18591</guid><dc:creator>tariq.ahmad</dc:creator><comments>https://community.element14.com/challenges-projects/project14/w/documents/4477/project14-winners-announcement-projects-that-use-programmable-logic-such-as-fpga-and-cpld#comments</comments><description>Revision 1 posted to Documents by tariq.ahmad on 7/22/2019 7:50:45 PM&lt;br /&gt;
&lt;div style="border:1px solid #9EA900;margin:0px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="background-color:#f4f4f2;padding:0px;margin:0px;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="padding:6px 15px 6px 12px;"&gt;&lt;a href="/challengesprojects/project14/"&gt;&lt;img alt="image" src="/e14/assets/legacy/2017/project14_logodoc.png" style="vertical-align:top;"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="padding:6px 12px 8px 0px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:4px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/programmable-logic/"&gt;Programmable Logic&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:17px;"&gt;&lt;strong&gt;Enter Your Electronics &amp;amp; Design Project&lt;/strong&gt; for a chance to win up to a $200 Shopping Cart of Product!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/project14/"&gt;Back to The Project14 homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:10px 12px;vertical-align:middle;background-color:#9ea900;" width="24%"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/"&gt;&lt;span style="font-size:12px;color:#ffffff;"&gt;&lt;strong&gt;Project14 Home&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:#767e00;"&gt;&lt;span style="color:#dceb93;text-decoration:none;font-size:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/project14/w/documents/3370/project14-project-competition-events-trophies-timetable-projected-and-historical-timelines"&gt;&lt;span style="color:#ffffff;text-decoration:none;font-size:12px;"&gt;&lt;strong&gt;Monthly Themes&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:10px 12px;vertical-align:middle;background-color:#596000;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/project14/w/documents/20670/project14-you-decide-the-next-monthly-project-competition"&gt;&lt;span style="color:#ffffff;text-decoration:none;font-size:12px;"&gt;&lt;strong&gt;Monthly Theme Poll&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#303030;"&gt;&lt;strong&gt;Congratulations to &lt;span&gt;&lt;a href="/members/avnrdf"&gt;avnrdf&lt;/a&gt;&lt;/span&gt; for &lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/paneldriver-a-fpga-based-hdmi-to-fpd-link-converter"&gt;PanelDriver: A FPGA based HDMI to FPD-Link converter&lt;/a&gt;!&amp;nbsp; You are the winner of the Grand Prize of a $200 Shopping Cart! &lt;/strong&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;span style="color:#303030;"&gt;&lt;strong&gt;Congratulations to &lt;span&gt;&lt;a href="/members/jomoenginer"&gt;jomoenginer&lt;/a&gt;&lt;/span&gt;&amp;nbsp; for &lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidorscout---mkr-vidor-4000-mobile-robot-assembly-and-test"&gt;VidorScout - MKR Vidor 4000 Mobile Robot&lt;/a&gt;,&amp;nbsp; &lt;span&gt;&lt;a href="/members/bernhardmayer"&gt;bernhardmayer&lt;/a&gt;&lt;/span&gt; for &lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/bb-cpld---a-robotics-expansion-board-for-the-beaglebone-black-with-an-altera-max-ii-epm1270"&gt;bb-cpld - a robotics expansion board for the BeagleBone Black with an Altera MAX II EPM1270&lt;/a&gt; , and &lt;span&gt;&lt;a href="/members/dixonselvan"&gt;dixonselvan&lt;/a&gt;&lt;/span&gt;&amp;nbsp; for &lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/display-for-traffic-predictor---cypress-psoc6-ble-pioneer-kit"&gt;Display for Traffic Predictor - Cypress PSoC6 BLE Pioneer kit&lt;/a&gt; ! You are the First Place winners of the $100 Shopping Cart!&lt;/strong&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;Since this theme was &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/programmable-logic/"&gt;Programmable Logic&lt;/a&gt;, we thought it would be fun to trace the roots of this broad topic to the man who is considered the father of of the programmable logic controller, Richard Morley.&amp;nbsp; He passed away a few years ago on October 17th, 2017.&amp;nbsp; Before passing away he was known for hosting Geek Pride picnics at his farm in New Hampshire for fellow inventors and tinkerers. He was a self-schooled engineer who dropped out of M.I.T. (Massachusetts Institute of Technology) and refused to work corporate hours. He often recalled how he was hung over on New Year’s Day in 1968 when he designed a rugged computer that revolutionized factory automation. Prior to his invention, automation had depended on electromechanical relays, thousands of &amp;quot;on/off&amp;quot; switches, to tell machinery what to do. If there was a new or a changed product was introduced, thousands of wires and switches had to be reconfigured by an electrician. The device that Morley introduced was later known as a programmable logic controller, or PLC. On that New Year’s Day, he had to sketch out his concept quickly due to the headache he felt coming on from having celebrated the night before.&amp;nbsp; The device, which was about the size of a suitcase, allowed electricians to use a simple computer to reprogram machinery controls.&amp;nbsp; Now adjustments to controls which had previously required months of drudgery, could be completed in hours.&amp;nbsp; He and associates formed a company called Modicon Inc. to make the PLCs, then sold it to Gould Inc. in 1977. Modicon now is a PLC brand made by Schneider Electric.&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/254x169/__key/communityserver-wikis-components-files/00-00-00-02-95/5658.contentimage_5F00_117759.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/95/5658.contentimage_117759.jpg-254x169.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=b5cjnOIzbhJugM82LY8QrQO0uxLlulM8RF0SD88xEBw%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=FlOvo9ldvWPr5agEmcA0JQ==" style="max-height: 169px;max-width: 254px;" /&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 the 1990s, vendors began developing control devices that integrated logic and I/O with additional capabilities. By 2001, the moniker Programmable Automation Controller (PAC) was given by the ARC advisory board to describe this approach.&amp;nbsp; PACs include multiple processors to address a variety of functions beyond just basic logic and I/O. These capabilities include digital (e.g. motion control), analog (e.g. process control), and serial (I/O from test equipment, keypads, scanners, etc.) tasks. Because PACs already include these functions, they eliminate the time and effort involved in integrating a PLC with the motion controller, for example. As a result, they’ve grown increasingly popular in discrete manufacturing.&amp;nbsp; Another control option that delivers even greater levels of flexibility is soft motion enabled by PC. Today’s industrial PCs have been ruggedized, top to bottom, with environmental protection and removal of any moving parts. Hypervisors like VMware allow a single core to be divided into multiple discrete partitions that run independently of one another, right down to the operating system. This enables a motion application to run on a partition with Linux or a robust proprietary real-time operating system (RTOS) while remaining completely isolated from a Windows partition supporting the HMI or a machine vision system.&amp;nbsp; At the opposite end of the spectrum lies embedded control systems that leverage field programmable gate arrays (FPGAs) to customize performance using hardware rather than software. When unusual requirements can’t be satisfied by conventional control solutions, FPGAs provide a more accessible solution than more expensive and difficult-to-develop application-specific integrated circuit (ASIC). The approach can be used to address one-off, high-performance projects like a segmented telescope with multiple thousands of actuators that can’t be addressed with a conventional PLC/PAC solution. Conversely, FPGAs can be used to offload tasks such as control logic and I/O triggering in highly complex systems, freeing CPU cycles to handle more complex tasks like trajectory generation.&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/282x212/__key/communityserver-wikis-components-files/00-00-00-02-95/1440.contentimage_5F00_117760.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/95/1440.contentimage_117760.jpg-282x212.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=pvZvdHHt%2BYosPR5WxqyGZQQvbkuJSbrMv2E8L5Cy5Gc%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=Flo4YNVR+q74c8Y809P4xw==" style="max-height: 212px;max-width: 282px;" /&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;&lt;span id="0bd79045_5c60_468b_b7b5_d1b69a43ec9c"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=4BxOizho1UE"&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;Without further adieu here are your winners......&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;The Winners&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;"&gt;&lt;span style="color:#3334ca;font-family:Arial, &amp;#39;Lucida Grande&amp;#39;, sans-serif;font-size:24px;font-weight:bold;"&gt;The Grand Prize:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/paneldriver-a-fpga-based-hdmi-to-fpd-link-converter"&gt;PanelDriver: A FPGA based HDMI to FPD-Link converter&lt;/a&gt; by &lt;span&gt;&lt;a href="/members/avnrdf"&gt;avnrdf&lt;/a&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;This &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/programmable-logic/"&gt;Programmable Logic&lt;/a&gt; theme comes about almost a year since &lt;span&gt;&lt;a href="/members/avnrdf"&gt;avnrdf&lt;/a&gt;&lt;/span&gt;&amp;nbsp; first started working with FPGAs. While the project at its current stage it does not make use of the ARM core in the Zynq, he managed to make use of a lot of what he learnt in &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/design-challenges/pathtoprogrammable/"&gt;Path to Programmable&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;You can view &lt;span&gt;&lt;a href="/members/avnrdf"&gt;avnrdf&lt;/a&gt;&lt;/span&gt; progress here:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-1---getting-started"&gt;Path to Programmable Blog 1 - Getting Started&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-2---xilinx-tool-flow-getting-started-with-zynq-7000"&gt;Path to Programmable Blog 2 - Xilinx Tool Flow &amp;amp; Getting Started with Zynq-7000&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-3---ps-peripheral-configuration-tcl"&gt;Path to Programmable Blog 3 - PS Peripheral Configuration &amp;amp; TCL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-4---adding-a-pl-peripheral-using-ps-dma"&gt;Path to Programmable Blog 4 - Adding a PL Peripheral &amp;amp; using PS DMA&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-5---creating-custom-ip"&gt;Path to Programmable Blog 5 - Creating Custom IP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-6---hardware-debugging-some-more-tcl"&gt;Path to Programmable Blog 6 - Hardware Debugging &amp;amp; some more TCL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-7---trying-out-a-pl-only-vga-design"&gt;Path to Programmable Blog 7 - Trying out a PL-only VGA design&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-8---developing-zynq-software"&gt;Path to Programmable Blog 8 - Developing Zynq Software&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-9---developing-applications-debugging-in-xilinx-sdk"&gt;Path to Programmable Blog 9 - Developing Applications &amp;amp; Debugging in Xilinx SDK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-10---minized-does-dvi-hdmi"&gt;Path to Programmable Blog 10 - MiniZed does DVI/HDMI&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-11---booting-zynq-7000"&gt;Path to Programmable Blog 11 - Booting Zynq-7000&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-12---sdk-project-management-interrupts"&gt;Path to Programmable Blog 12 - SDK Project Management &amp;amp; Interrupts&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challengesprojects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-13---xilinx-libraries-the-te-sensor-pmod-next-steps"&gt;Path to Programmable Blog 13 - Xilinx Libraries, the TE Sensor PMOD &amp;amp; Next Steps&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/design-challenges/pathtoprogrammable/b/blog/posts/path-to-programmable-blog-14---project-a-minized-ws2812-controller"&gt;Path to Programmable Blog 14 - Project: A MiniZed WS2812 Controller&lt;/a&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;His entry for this month&amp;#39;s Project14 contest is an FPGA based HDMI to FPD-Link converter - a device that takes video from a HDMI source, decodes it, encodes it and sends it to a LCD panel over FPD-Link (commonly referred to as LVDS).&amp;nbsp; He completed this project around 4 months ago:, but decided to enter it into this month&amp;#39;s contest for two reasons: - it&amp;#39;s a good example of a project that cannot be done using a microcontroller, and makes good use of FPGA capabilities. - it&amp;#39;s got the right mix of Project14 material: a little reverse engineering, pushing hardware to its limits, overcoming obstacles, a mix of hardware &amp;amp; software HDL and the right about of duct tape holding all of this together.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;PanelDriver: A FPGA based HDMI FPD-Link converter&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/383x297/__key/communityserver-wikis-components-files/00-00-00-02-95/5672.contentimage_5F00_117762.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/95/5672.contentimage_117762.png-383x297.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=e4surysYI1CbFNI5jdb9IikKBaZJUluUsMqNp%2FOc11U%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zH+fRUfPXiTvVq+ZiCTDQQ==" style="max-height: 297px;max-width: 383px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/741x378/__key/communityserver-wikis-components-files/00-00-00-02-95/6242.contentimage_5F00_117763.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/95/6242.contentimage_117763.png-741x378.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=9m8MKLFDAZcwbTcyr63ahl01ejV0HT7rEoe%2BnZYQgoM%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=tinLBB3XxzE5IRwQdMAUkg==" style="max-height: 378px;max-width: 741px;" /&gt;&lt;/a&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;This was a great example of using programmable logic to build a complex electronics project.&amp;nbsp; Nice explanation of the process, problems and solutions along the way.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;It is a very original application of the power of FPGA and it has also a lot of possibilities of evolution. A clean and efficient solution where FPGA covers one of its historical roles: signal conversion and manipulation.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;&lt;span id="3bc65a45_d442_47b9_8236_bf12ad6c278e"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=6056649622001"&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;It&amp;#39;s a good example of a project that cannot be done using a microcontroller, and makes good use of FPGA capabilities.&amp;quot;. This is one of the main things I expected to find in these projects. In addition, the well developed explanation, and having it split into 2 posts, makes it readable and understandable. It&amp;#39;s a little complex for beginner, but with a plain English, brief summary could attract interest of more people.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;A FPGA based HDMI to FPD-Link converter by avnrdf is an interesting and original project derived from Path to Programmable&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Having built a display test board for my college engineering project, I found this entry very interesting. It was clear that a great amount of effort went into this to deliver a functional project. The detail put into the blogs was quite impressive.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#3334ca;font-family:Arial, &amp;#39;Lucida Grande&amp;#39;, sans-serif;font-size:24px;font-weight:bold;"&gt;3 First Place Winners:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;VidorScout by&amp;nbsp; &lt;span&gt;&lt;a href="/members/jomoenginer"&gt;jomoenginer&lt;/a&gt;&lt;/span&gt;:&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidorscout---mkr-vidor-4000-mobile-robot-intro"&gt;VidorScout - MKR Vidor 4000 Mobile Robot: Intro&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidorscout---mkr-vidor-4000-mobile-robot-vidorbitstream-compile"&gt;VidorScout - MKR Vidor 4000 Mobile Robot: VidorBitstream compile&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidorscout---mkr-vidor-4000-mobile-robot-camera-qr-code-recognition"&gt;VidorScout - MKR Vidor 4000 Mobile Robot: Camera QR Code Recognition&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidorscout---mkr-vidor-4000-mobile-robot-assembly-and-test"&gt;VidorScout - MKR Vidor 4000 Mobile Robot: Assembly and Test&lt;/a&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;VidorScout is an autonomous mobile robot that uses Sensor Fusion which combines camera vision, Time of Flight Sensor data and IR Sensors to identify objects for both avoidance and for object identification. The camera sensor can also be used for QR code identification to identify that an object has been labeled correctly or as a waypoint with autonomous navigation.&amp;nbsp; The Arduino MKR Vidor 4000 Development Board is used to take advantage of the on board SAMD Microcontroller and Intel Cyclone 10 FPGA capabilities. A 5MP OV5647 Camera sensor captures real-time images to be output via the Vidor HDMI port as well as for analysis.&amp;nbsp; A closed Maze is used to demonstrate the functionality of the bot.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Part of the intent of the VidorScout project is to take advantage of the FPGA code that Arduino has provided and modify it for a particular purpose.&amp;nbsp; It is unknown at this time whether this is possible since not all of the released FPGA code has been provided by Arduino for the MKR Vidor 4000, so it will be a matter of working with what is available.&amp;nbsp; However, Arduino recently posted the VidorBitstrem code which has the majority of the FPGA code used in the VidorPeripherials and VidoGraphics examples.&amp;nbsp; To compile the VidorBitstream code, a few steps are required.&amp;nbsp; To edit and synthesis the Intel Cyclone 10 LP code for the Vidor 4000, the Intel Quartus Prime (includes Nios II EDS) software needs to be downloaded an installed. Intel provides a Lite 18.1 version that is free to download and use but is a couple of steps behind the latest release. This includes the Intel Quartus Prime development environment, Nios II Embedded Design Suite, ModelSim Starter Edition and much more.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The VidorScout is a mobile robot that self navigates using Sharp IR sensors and a VL53L0X Time of Flight Distance Sensor When a QR Code is Identified, the bot will stop and a Ref RGB LED on the back of the bot will flash indicating the code was found.&amp;nbsp; The Base of the VidorScout is made of Expanded PVC board that was obtained from a local Tap Plastics store. The Wheels of the VidorScout are Adfruit Thin White TT Wheels and the motors and OSEPP TT Gear Box motors.&amp;nbsp; The Motor Controller used is a Adafruit DRV883 with Dual H-Bridge.&amp;nbsp; The Time of Flgiht sensor is a VL53L0X sensor.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;VidorScout&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/419x334/__key/communityserver-wikis-components-files/00-00-00-02-95/3108.contentimage_5F00_117765.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/95/3108.contentimage_117765.jpg-419x334.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=jc6%2FJTwCGrQmhvjB6%2BuVn8K4ZBTUFYeSi53Ylm4GVnQ%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=uCyFgSjYBqxZaNEHCpM5eg==" style="max-height: 334px;max-width: 419px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/446x335/__key/communityserver-wikis-components-files/00-00-00-02-95/3603.contentimage_5F00_117766.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/95/3603.contentimage_117766.jpg-446x335.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=ljTLzqIV6mBZtO6qike9ZiS2sfMwuwgeVpSRTrBmH4M%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=lGeAZUw85CpLTHCN9IdBZw==" style="max-height: 335px;max-width: 446px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/424x369/__key/communityserver-wikis-components-files/00-00-00-02-95/0550.contentimage_5F00_117767.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/95/0550.contentimage_117767.png-424x369.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=BYYpvdDy3xC95JEWVG3uDUxDGpxtjVYYmyOLBhmGt2U%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=qbw14F9gF39PRkPVq2TvMg==" style="max-height: 369px;max-width: 424px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/402x364/__key/communityserver-wikis-components-files/00-00-00-02-95/7416.contentimage_5F00_117768.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/95/7416.contentimage_117768.png-402x364.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=7WuHd4rmUvGeRzTE2%2Bup9pGzbVrrOtHhrWktego8R0A%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=G+EacI1WJ404GOMLa31MyA==" style="max-height: 364px;max-width: 402px;" /&gt;&lt;/a&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Nice robot with lots of sensors.&amp;nbsp; Good use of FPGA to read the QR codes.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span id="e41e6fc8_610c_4767_b9cb_8ac45cf2bcbe"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=Yi5mw8lHhwM"&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;A lot of great work shown here in the development of a highly capable robot.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Good example of a scratch built robot with plenty of information on the build and programming aspects. Finished off with a fully functioning robot in demonstration video.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/bb-cpld---a-robotics-expansion-board-for-the-beaglebone-black-with-an-altera-max-ii-epm1270"&gt;bb-cpld - a robotics expansion board for the BeagleBone Black with an Altera MAX II EPM1270&lt;/a&gt;&amp;nbsp; by &lt;span&gt;&lt;a href="/members/bernhardmayer"&gt;bernhardmayer&lt;/a&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;When you build robots you always have to control lots of motors or RC servos. If you use a micro controller as main computing device you are fine because these devices have plenty of PWM outputs to control motors. But when you switch to more powerful controllers like the Raspberry Pi or the BeagleBone Black you have a little problem because these only have two or three PWM outputs and you can&amp;#39;t stick your motor drivers directly to them. Then you usually use an additional motor controller board with a micro controller and connect it via serial or SPI to your Raspberry Pi or BeagleBone. Another option is to use a CPLD, connect it to the main CPU via SPI and generate the PWM outputs with this device. &lt;span&gt;&lt;a href="/members/bernhardmayer"&gt;bernhardmayer&lt;/a&gt;&lt;/span&gt; built a board doing just this and describes it in this post.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;bb-cpld - a robotic expansion board for the BeagleBone Black with an Altera MAX II EPM1270&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/393x281/__key/communityserver-wikis-components-files/00-00-00-02-95/5353.contentimage_5F00_117770.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/95/5353.contentimage_117770.jpg-393x281.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QEZGA%2BRG9KdGNy%2Fm1YK9%2BzrzR1sT7CpFRrKZodgya4o%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=UTw2KcHS2hRJ0AgsIj5NTw==" style="max-height: 281px;max-width: 393px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/337x281/__key/communityserver-wikis-components-files/00-00-00-02-95/0363.contentimage_5F00_117771.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/95/0363.contentimage_117771.jpg-337x281.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=jI3BaXurgYQdAsuvt%2Faf%2BeA3fbLt4ng7xc4Hbv%2Bl3vg%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=XpzndSqy2RAg9aB0GHYEug==" style="max-height: 281px;max-width: 337px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/389x311/__key/communityserver-wikis-components-files/00-00-00-02-95/7220.contentimage_5F00_117772.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/95/7220.contentimage_117772.png-389x311.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Qj55yNdGhCt1yFakgwxmqnxWBTNHfch5h9qWaZviX%2Fg%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=CR/GY7svTFx1u3Dv+6ljVA==" style="max-height: 311px;max-width: 389px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/383x307/__key/communityserver-wikis-components-files/00-00-00-02-95/1452.contentimage_5F00_117773.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/95/1452.contentimage_117773.png-383x307.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=NKzeeG%2FD7%2FqdtkQM9br9jVXEzbdtXEiWavN5NXcQKCo%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=stc/JyXIJK22qNThKjeeiA==" style="max-height: 307px;max-width: 383px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt; &amp;quot;Nice implementation of a CPLD based programmable logic project.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span id="be41d68f_d343_41cb_bbd1_e9cde61d3c9f"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=baLZyXRbMms"&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Simple but nice project for introducing the use of the PSOC4 in a distance measurment application. Nice explanation for the background of the application at the start and the limitations at the end.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;BB-CLPD, good project well explained.&lt;/strong&gt;&amp;quot; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/display-for-traffic-predictor---cypress-psoc6-ble-pioneer-kit"&gt;Display for Traffic Predictor - Cypress PSoC6 BLE Pioneer kit&lt;/a&gt;&amp;nbsp; by &lt;span&gt;&lt;a href="/members/dixonselvan"&gt;dixonselvan&lt;/a&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;The &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/programmable-logic/"&gt;Programmable Logic&lt;/a&gt; competition was a chance to explore &amp;#39;Programmable Logic&amp;#39; which is usually not explored by hobbyists or makers in the first place. This may be due to the code or hardware complexity. But recently FPGAs and other PLDs have been made easy for beginners to learn and explore. One best example to quote would be Arduino Vidor 4000. So checking his inventory, &lt;span&gt;&lt;a href="/members/dixonselvan"&gt;dixonselvan&lt;/a&gt;&lt;/span&gt; has the below four boards/ kits that would suit this competition&amp;#39;s topic&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Matrix Creator with FPGA - Xilinx Spartan 6 XC6SLX4 [&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/homeautomation/b/blog/posts/sera---smart-extension-relay-with-alexa---powered-by-matrix-creator-and-arduino-mkr1000"&gt;SERA - Smart Extension Relay with Alexa - powered by MATRIX Creator and Arduino MKR1000&lt;/a&gt;]&lt;/li&gt;&lt;li&gt;Digilent Arty S7 with FPGA - Xilinx Spartan 7 XC7S50-CSGA324 [&lt;a class="jive-link-roadTestReview" href="https://www.element14.com/community/roadTestReviews/2651/l/digilent-arty-s7-dev-board-xilinx-spartan-7-review"&gt;Digilent ARTY S7 Dev Board (Xilinx Spartan 7) - Review&lt;/a&gt;]&lt;/li&gt;&lt;li&gt;Cypress PSoC6 BLE Pioneer Kit and WiFi-BT Pioneer Kit with PSoC6 [&lt;a class="jive-link-roadTestReview" href="https://www.element14.com/community/roadTestReviews/2648/l/cypress-psoc-6-ble-pioneer-kit-cy8ckit-062-ble-review"&gt;Cypress PSoC&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/00ae.svg" title="Registered"&gt;&amp;#x00ae;&lt;/span&gt; 6 BLE Pioneer Kit (CY8CKIT-062-BLE) - Review&lt;/a&gt; &amp;amp; &lt;a class="jive-link-roadTestReview" href="https://www.element14.com/community/roadTestReviews/2844/l/psoc-6-wifi-bt-pioneer-kit-cy8ckit-062-wifi-bt-review"&gt;PSoC&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/00ae.svg" title="Registered"&gt;&amp;#x00ae;&lt;/span&gt; 6 WiFi-BT Pioneer Kit (CY8CKIT-062-WIFI-BT) - Review&lt;/a&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;Out of these four, this blog will cover a simple project done using the Cypress PSoC6 BLE Pioneer kit. This project may not use the full (programmable) capacity of the PSoC6 rather uses a single programmable GPIO.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Earlier, &lt;span&gt;&lt;a href="/members/dixonselvan"&gt;dixonselvan&lt;/a&gt;&lt;/span&gt; had prototyped a &lt;a class="jive-link-blog-small" href="https://www.element14.com/community/community/design-challenges/iot-on-wheels/blog/authors/dixonselvan?ICID=iotwheels-winners-doc"&gt;traffic predator &lt;/a&gt;for the &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/design-challenges/iot-on-wheels/"&gt;IoT on Wheels Design Challenge&lt;/a&gt; . This did not have a display unit rather had an Android mobile application to have the details displayed to the user. Hence he wanted to make a display for my traffic predictor project using the E-Ink Display shield of the Cypress PSoC6 BLE Pioneer kit. Though initially, he had many plans running through my mind, time constraint, unforeseen incident (Breakage of the E-Ink Display Shield) and the fact that he is new to Cypress PSoC family and PSoC Creator, limited the display functionalities to Display the logo initially, Display an alert in case any vehicle in front approaches closer than a limit and Display the real-time temperature of the surrounding.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The display unit would be an extension of the main traffic predictor system (Arduino UNO (replacing ST-Nucleo L476RG board), Ultrasonic Sensor and Servo Motor). Arduino Uno will send a HIGH or a LOW digital signal to the Cypress PSoC6 BLE Pioneer board, instructing when to display the alert in the E-Ink Display Shield and to turn ON/OFF the LED.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;Display for Traffic Predictor&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/398x302/__key/communityserver-wikis-components-files/00-00-00-02-95/1856.contentimage_5F00_117775.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/95/1856.contentimage_117775.png-398x302.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=9w26lEM6dVzPpEe%2FLjjj8B8kXoJZkVCr7JooK9IO6wo%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=3D8cgxrN7BX4rgO+pzpE9A==" style="max-height: 302px;max-width: 398px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/415x301/__key/communityserver-wikis-components-files/00-00-00-02-95/4188.contentimage_5F00_117776.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/95/4188.contentimage_117776.png-415x301.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=P%2BSgjMi%2B9EwGc9RSDx%2FeMnprweDJ%2FGfqDux5tOO147w%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=5pysBVR5NV04eC6X5ys3EQ==" style="max-height: 301px;max-width: 415px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;The grand prize winner I think it is the traffic predictor. It is an almost well-documented project with the plus that the video proof not only illustrate how the project works but it is also shown it in place. As the PSoC 6 BLE support a lot of sensors, adding some traffic alarm with an ultrasonic range finder is a great idea suggesting a lot of small improvements that can make it a good product.&amp;quot;&lt;/strong&gt; - Community Member Judge &lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span id="e8442272_d230_459a_b6c6_b7e9d6125de1"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=xB5ft8xsfOg"&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;Runners Up&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#3334ca;font-family:Arial, &amp;#39;Lucida Grande&amp;#39;, sans-serif;font-size:24px;font-weight:bold;"&gt;Runners Up:&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;The following projects received first place votes from the judges....&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;span style="font-size:24px;font-weight:bold;"&gt;Programmaball by &lt;span&gt;&lt;a href="/members/fred27"&gt;Fred27&lt;/a&gt;&lt;/span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/programmaball---project-idea"&gt;ProgrammaBall - project idea&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/pragrammaball---getting-started-on-the-verilog"&gt;PragrammaBall - getting started on the Verilog&lt;/a&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&gt;&lt;a href="/members/fred27"&gt;Fred27&lt;/a&gt;&lt;/span&gt; has been trying to get into FPGAs, but he’s found it a little hard going. Let&amp;#39;s be honest it&amp;#39;s not easy. It&amp;#39;s the sort of thing that you understand when you read it, you understand when you try it, but you struggle with when you come back to it again. He was excited about the Programmable Logic competition because time-limited projects are always a good way to focus the mind. Having said that, he’s got a lot going on at the moment so there is a fair chance it won&amp;#39;t get completed by the Project14 end date.&amp;nbsp; As long he gets some of it done and learns as he goes then he&amp;#39;ll be happy even if he misses the deadline. He has an Arty S7 sitting in front of him (thanks to the very generous &lt;span&gt;&lt;a href="/members/kk99"&gt;kk99&lt;/a&gt;&lt;/span&gt; ) and a PmodVGA board that seemed like a good add-on to a recent component order. Generating a VGA signal seems like a nice rite-of-passage for FPGA development so he’s going to go for a simple VGA-based game.&amp;nbsp; He’s also got some micro:bits that his sons (age 7 and 5) are just starting to get to grips with. It would be really nice to get them involved in creating something. If he could include a micro:bit in a small way then that would be a bonus. Marble madnessPong is a great starter game. It&amp;#39;s not that tricky and it really hits the nostalgia button. However, he doesn’t want to do something with a little originality. He’s not much of a gamer, but one game he remember for it&amp;#39;s originality back in the day was Marble Madness. Now if you think that he’s capable of recreating that then think again! He just like that sort of idea. He also noticed when helping the boys with the micro:bit that it responds to tilt. Maybe a couple of micro:bits could be the game controllers and a ball could roll around the screen?&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;He settles on making it a ball-rolling sort of game controlled by a couple of micro:bits.&amp;nbsp; He’s hoping his kids will be able to help with the micro:bit side of things.&amp;nbsp; As the FPGA (a Spartan 7 on an Arty S7 board) will be generating the output VGA signal he started looking into how to generate FPGA. He found an excellent resource on VGA generation at timetoexplore. It describes all the timing required for a 640 x 480 VGA output from a VGA and even started going into generating graphics. He also discovered a different approach by Andy West here on E14. He really wanted to understand what he was doing rather than copy someone else&amp;#39;s code so he took inspiration from both. The timing and generation on his version takes a lot from timetoexplore, but he liked the separation of the VGA signal generation from the rendering of element from Andy&amp;#39;s solution.&amp;nbsp; He also decided that he wanted to render the output on the fly rather than writing to an area of RAM to display from there. He felt that he&amp;#39;d learn more from doing it this way. Of course, he stumbled into a few FPGA pitfalls. At one point he managed to (he thinks) get the timing a little too close and half the screen was blanked and he got a smudgy green / purple mess. As a coder, that&amp;#39;s not something you&amp;#39;d expect when only dealing with grey and blue. Once you&amp;#39;ve got timing issue sorted he decided to move on to having something a little more interesting than a square. This got me into the realm of uploaded an image file onto the FPGA. Once again timetoexplore was helpful. Still in his retro vibe and with a PacMan machine at work, he decided that a PacMan ghost would be cool. He ended up hand-entering image data in the form of a 14 x 14 grid of 2-bit binary data to form the image and a 4 colur palette to translate these to a 12-bit colour for display. If you look closely you can just about make out the figure in the image.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;Programmaball&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/320x224/__key/communityserver-wikis-components-files/00-00-00-02-95/2045.contentimage_5F00_117778.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/95/2045.contentimage_117778.png-320x224.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=SwOZpiTN79FLRx%2FQ57mJd5Q3L9lD93F98ITAsgMhgA4%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=YScz2rFmDHd1J+wGJCru9A==" style="max-height: 224px;max-width: 320px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/429x224/__key/communityserver-wikis-components-files/00-00-00-02-95/1440.contentimage_5F00_117779.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/95/1440.contentimage_117779.png-429x224.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=YQT3Rf%2BbIB6ailfmQbcOQplNLuVtL2PZi2FEpXa%2FPxw%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=R/ACTC/0f3s7eWRWuh16YQ==" style="max-height: 224px;max-width: 429px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;This is a good use case for an FPGA and Fred27 has started from scratch rather than using already developed code.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&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;h2&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/pseudo-random-generator-with-arduino-vidor-mkr4000"&gt;Pseudo random generator with Arduino Vidor MKR4000&lt;/a&gt;&amp;nbsp; by &lt;span&gt;&lt;a href="/members/kk99"&gt;kk99&lt;/a&gt;&lt;/span&gt;:&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;Using MKR Vidor 4000 as basic debug architecture&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/340x340/__key/communityserver-wikis-components-files/00-00-00-02-95/5672.contentimage_5F00_117780.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/95/5672.contentimage_117780.jpg-340x340.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=8ZDUbsSCnkxJ2pGEg3GzvHJBFBSGh4vhLGs1uV%2BlyiA%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=DMQTqP1W5OynBURxLysMVA==" style="max-height: 340px;max-width: 340px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/291x335/__key/communityserver-wikis-components-files/00-00-00-02-95/2538.contentimage_5F00_117781.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/95/2538.contentimage_117781.png-291x335.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=N30aX%2BOXLZN7Uw3ctoxcl4jNe2YvP5HZ9e5uR1WaDQM%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=U9edc1AeEyjIWJgxPjk9gA==" style="max-height: 335px;max-width: 291px;" /&gt;&lt;/a&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;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;A simple, but complete solution using a FPGA as a custom logic device&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&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;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/vidor-clock---powered-by-fpga"&gt;Vidor Clock - Powered by FPGA&lt;/a&gt;&amp;nbsp; by &lt;span&gt;&lt;a href="/members/vimarsh_5f00_"&gt;vimarsh_&lt;/a&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;&lt;span&gt;&lt;a href="/members/vimarsh_5f00_"&gt;vimarsh_&lt;/a&gt;&lt;/span&gt;&amp;nbsp; wanted to do something useful with FPGA as he had Adruino MKR Vidor laying around. The Vidor is still not so beginner friendly but its Graphics Library is still awesome. Also, he had almost forgotten it has WiFi and a microcontroller also. So, he wanted to make something which uses all of the microchips and which can be used on a day-to-day basis. So, the direct thought came was to do something with display because the Vidor has an HDMI (micro) port and also a great library.&amp;nbsp; For the project, he thought of making a digital clock- which shows time in analog format and it will also show the date and other information. This will test out his trigonometry skills as well as it can use the internet. Here&amp;#39;s how it works...&amp;nbsp; The Vidor connects to the internet with the help of its WiFi chip (Esp32) and gets the time in the world via NTP Server. Then the time is stored in the RTC of SAMD21 microcontroller. That time is then displayed in analog format with the date on an HDMI monitor. After the day is over it will automatically sync the time with the NTP Server again and hence it will also remain very accurate. The output on Monitor is done by Intel Cyclone FPGA onboard.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;VIDOR Clock - Powered by FPGA&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/400x300/__key/communityserver-wikis-components-files/00-00-00-02-95/7318.contentimage_5F00_117782.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/95/7318.contentimage_117782.jpg-400x300.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=hH0vr97%2BAjFOEbPyZzug%2FEdd9%2BlEF%2F49Z7864dW4MKc%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=3Aycm2uKfqUfdXhLa0gaZQ==" style="max-height: 300px;max-width: 400px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/384x288/__key/communityserver-wikis-components-files/00-00-00-02-95/7823.contentimage_5F00_117783.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/95/7823.contentimage_117783.jpg-384x288.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=VO0Dlu1PW7COEuIYbctgL5c0Pd4hbtw6UdS1zEmFBek%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=0sNflZ6QSC04hOoKaMf+cw==" style="max-height: 288px;max-width: 384px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;The Vidor clock is sure one of the three. The author (by the voice he seems really young) has put a lot of effort showing in detail how it works. The demo is well done and clear how it works. And the idea sounds nice.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Effectively demonstrated the use of the Vidor board to produce an internet synchronised time clock&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;Simple project, not the most original but the well structured blog makes it interesting and easy to read from top to bottom. I think this kind of projects/guides are enjoyable for those new to programmable logic devices and programming in general.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&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 id="be5f00b3_1f7f_47a9_8528_ba5aad1d848f"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=xMwuJ69fl2M"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&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;&lt;span style="font-size:24px;font-weight:bold;"&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/programmable-logic/b/blog/posts/psoc-ultrasonic-range-meter"&gt;PSoC ultrasonic range meter&lt;/a&gt; by &lt;span&gt;&lt;a href="/members/koudelad"&gt;koudelad&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;Programmable System on Chip (PSoC) is a component that mixes a CPU core (ranging from an 8-bit device to a dual-core 32-bit ARM Cortex-M4) and a configurable mixed-signal array. This way of designing is very powerful – while the CPU is used for computational tasks, peripherals are routed and used without any CPU load.&amp;nbsp; Internal components of the PSoC can be arranged in a way that the measurement is taken periodically in the background and CPU is used only for the initial components’ setup and a final result collection.&amp;nbsp; Ultrasonic ranging module HC-SR04 is a very popular module for hobbyists. It provides a fairly easy to use interface – besides from power and ground pins (5V power supply), there are two pins named Trigger and Echo. Trigger accepts a 10 us wide pulse to start the distance measurement. Echo sets the output to a logic high, proportional to the distance of an object to the module.&amp;nbsp; Trigger controls an ultrasonic transmitter and internally the trigger pulse starts an 8 cycle sonic burst. Waves travel distance from the transmitter to an object (or more object) from which they reflect. These waves travel the same distance back to the receiver that detects them. Finally, Echo pin provides a pulse with the same length as the travel time of the waves (both directions).&amp;nbsp; In ideal conditions, the speed of sound is about 343 m/s at 20 Centigrade.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;PSoC ultrasonic range meter&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/449x337/__key/communityserver-wikis-components-files/00-00-00-02-95/1055.contentimage_5F00_117785.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/95/1055.contentimage_117785.png-449x337.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=qdFy%2B4XQGEL3Cn9JvkJ%2B2wreLPJ%2F6VYYBvDwDxrHOv0%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=qFUPHJrfVnwWzuHELc720Q==" style="max-height: 337px;max-width: 449px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/429x322/__key/communityserver-wikis-components-files/00-00-00-02-95/0550.contentimage_5F00_117786.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/95/0550.contentimage_117786.jpg-429x322.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=WJPcn5mQ%2B2Kb60Su0tWeGexFCfIr3zQdYvLlCG77Rro%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=BGcZ58cfs9BHLE/QJBif6A==" style="max-height: 322px;max-width: 429px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/448x336/__key/communityserver-wikis-components-files/00-00-00-02-95/4682.contentimage_5F00_117787.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/95/4682.contentimage_117787.png-448x336.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=cgfzeuQjZceZpCpaaGy9KdlWeLrvo%2B%2FUhzvKXN5ug5k%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=O2NGYIGK0CBhyMjEI9OrzA==" style="max-height: 336px;max-width: 448px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/432x324/__key/communityserver-wikis-components-files/00-00-00-02-95/4572.contentimage_5F00_117788.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/95/4572.contentimage_117788.png-432x324.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=NbxGynZ7UnkesPgg9XChN%2FzVN2oQXAJAbeOjjrxrzvo%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=DATQKFR3TngVR8TBGr06nQ==" style="max-height: 324px;max-width: 432px;" /&gt;&lt;/a&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;&lt;span id="b34b62fe_7dbc_4d63_bf28_b28a60a38159"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=6056654548001"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;There are two original aspects of this kind of FPGA application if compared with some commercial range meters. The commercial ones are laser-based and the calculated distance is referred to a specific point instead of a surface or an obstacle. The second element is the wide range covered with good precision. This can be a very powerful improvement for the robotic obstacle detection systems based on the ultrasonic sensor.&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&amp;quot;This was a great project to follow that produced a useful working range meter with a great ad hoc case and entertaining demonstration video&amp;quot;&lt;/strong&gt; - Community Member Judge&lt;/p&gt;&lt;/blockquote&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;h2&gt;&lt;span style="color:#3334ca;"&gt;What&amp;#39;s Happening Now&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;&lt;span style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#303030;"&gt;There&amp;#39;s always stuff going on in the community and the best ideas always come from you.&amp;nbsp; Suggest your idea in the &lt;a class="jive-link-wiki-small" href="/challenges-projects/project14/w/documents/20670/project14-you-decide-the-next-monthly-project-competition"&gt;Monthly Poll!&lt;/a&gt;&amp;nbsp; and vote on the themes you want to do projects on. Build an electronic toy such as an executive toy, puzzle toy, educational toy, or cuddly toy. Or create a techno toy from an existing toy by adding electronic innards in the &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/electronic-toys/"&gt;Electronic Toys&lt;/a&gt; competition.&amp;nbsp; You can build projects that involve remote monitoring or control of devices that are not easily accessible in the &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/remote-monitoring-control-devices/"&gt;Remote Monitoring &amp;amp; Control&lt;/a&gt; competition.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;Electronic Toys&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;Remote Monitoring &amp;amp; Control&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;strong&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/project14/electronic-toys/w/documents/4386/project14-win-a-snes-classic-bundle-or-shopping-cart-for-your-electronic-toys-project"&gt;Project14 | Win a SNES Classic Bundle or Shopping Cart for Your Electronic Toys Project!&lt;/a&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;strong&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/remote-monitoring-control-devices/b/blog/posts/big-petro-maker-magic-100-datalogger-that-can-save-millions"&gt;Big Petro Maker Magic: $100 Datalogger That Can Save Millions&lt;/a&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/384x203/__key/communityserver-wikis-components-files/00-00-00-02-95/8715.contentimage_5F00_117790.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/95/8715.contentimage_117790.jpg-384x203.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Z9D5JyPa3Op5tc%2BmRUiml7tNi2RDqnQoAgT%2B943FJZ0%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=3aF3ooJXt/KfeiVuye+E9A==" style="max-height: 203px;max-width: 384px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/313x235/__key/communityserver-wikis-components-files/00-00-00-02-95/7220.contentimage_5F00_117791.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/95/7220.contentimage_117791.png-313x235.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=XewmNPEr%2Bppc%2Bxa6lqgHZBDPTtHbCCQ4C%2FvUyy%2B1pFg%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=qXMzlNwUvbD/nz6Uhyrpww==" style="max-height: 235px;max-width: 313px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;strong&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/electronic-toys/"&gt;Electronic Toys&lt;/a&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;strong&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/remote-monitoring-control-devices/"&gt;Remote Monitoring &amp;amp; Control&lt;/a&gt; &lt;/strong&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;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Because, we&amp;#39;re grateful to the element14 community for allowing us to exist, we wanted to do something extra special for the 10 year anniversary. Milestones are an opportunity to stop for a second and think about where you were 10 years ago and where you are today.&amp;nbsp; What was important to you yesterday, what&amp;#39;s important to you today?&amp;nbsp; We&amp;#39;re giving away some of our favorite boards to help get this conversation started.&amp;nbsp; Let us know what you couldn&amp;#39;t live without 10 years ago, and what couldn&amp;#39;t you live without today. We&amp;#39;ll be sending swag bags for posting thoughtful, entertaining, interesting, or enlightening responses.&amp;nbsp; Each package will contain gifts including an Adafruit Feather ESP8266, an Arduino Uno, or an Arduino Nano board!&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="0px" class="jiveBorder" style="border:0px solid #ffffff;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#ffffff;background-color:#9ea900;text-align:left;" valign="middle"&gt;&lt;strong&gt;10 Years of element14 Community!&lt;br /&gt;&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2" style="border:0pxpx solid black;border:0px solid #ffffff;padding:6px;color:#505050;background-color:#ffffff;text-align:left;"&gt;&lt;strong&gt;&lt;a class="jive-link-blog-small" href="/challenges-projects/project14/b/blog/posts/10-year-challenge-tell-us-what-you-can-t-live-without-for-an-esp8266-arduino-uno-or-arduino-nano"&gt;10 Year Challenge | Tell Us What You Can&amp;#39;t Live Without for an ESP8266, Arduino Uno, or Arduino Nano!&lt;/a&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/314x236/__key/communityserver-wikis-components-files/00-00-00-02-95/6724.contentimage_5F00_117792.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/95/6724.contentimage_117792.jpg-314x236.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=9Qx3zqCluw0hFOW3OpkjUW%2BldM56j3Cp%2BGxgKrf6cdQ%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=3ux6dVGbSHtrBacVW93Uwg==" style="max-height: 236px;max-width: 314px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:0pxpx solid black;border:0px solid #ffffff;width:50%;padding:6px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/420x236/__key/communityserver-wikis-components-files/00-00-00-02-95/0451.contentimage_5F00_117793.gif"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/02/95/0451.contentimage_117793.gif?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=e%2F3VzRJU2qATEr6E3BVCBJp1c66zJGvdiuihS2v9wfI%3D&amp;amp;se=2026-06-11T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=pK+QZOiX5dkJZeodpP60Pw==" style="max-height: 236px;max-width: 420px;" /&gt;&lt;/a&gt;&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;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;Thank you for continued support of &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/project14/"&gt;Project14&lt;/a&gt; !&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#303030;"&gt;In the comments below:&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#303030;"&gt;Be sure to Congratulate the Winners and Keep Being Awesome!&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 mkr vidor 4000, plc, cpld, cyclone, past_contest, fpga, digilent, altera max ii, field programmable array, psoc6, altera, xillinx, programmable logic, cypress, BeagleBone Black, artys7&lt;/div&gt;
</description></item></channel></rss>