<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Documents</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Your First Real PCB in KiCad : An Arduino Compatible Board Designed from Scratch</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72057/your-first-real-pcb-in-kicad-an-arduino-compatible-board-designed-from-scratch</link><pubDate>Thu, 16 Apr 2026 14:20:10 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e3f585e3-4b21-4fda-b99d-ca01605d83b5</guid><dc:creator>cstanton</dc:creator><description>Current Revision posted to Documents by cstanton on 4/16/2026 2:20:10 PM&lt;br /&gt;
&lt;p&gt;Clem takes on the challenge of designing a fully Arduino Uno&amp;ndash;compatible development board using KiCad, guiding viewers through the entire process from template selection to a manufacturing-ready PCB. Instead of abstract theory, the video focuses on real design decisions, including choosing an ATtiny3226 that doesn&amp;rsquo;t yet exist in an Uno form factor, handling USB‑C power and data safely, integrating UPDI programming, and avoiding common schematic and layout mistakes that can derail a first board. Along the way, Clem highlights practical hurdles&amp;mdash;such as matching symbols to real footprints, managing logic-level compatibility, routing USB data lines, and running proper design rule checks&amp;mdash;while explaining how KiCad&amp;rsquo;s tighter schematic-to-PCB integration makes iteration easier. The result is a clear, hands-on walkthrough that shows not just how to use KiCad, but how to think like a PCB designer when building reliable, reproducible hardware.&lt;/p&gt;
&lt;h2&gt;Watch the Full Unedited KiCad Tutorial&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://players.brightcove.net/1362235890001/default_default/index.html?videoId=6393213823112"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jmb3gold0"&gt;A Hands‑On, Step‑by‑Step Introduction to KiCad&lt;/h2&gt;
&lt;p&gt;Designing a printed circuit board can feel intimidating at first, especially if you&amp;rsquo;ve never used a professional‑grade CAD tool before. KiCad exists to lower that barrier. KiCad is a free, open‑source, cross‑platform PCB design suite that brings schematic capture, PCB layout, 3D visualisation, and manufacturing outputs into one integrated workflow. Clem uses KiCad exactly as it&amp;rsquo;s meant to be used: not as a collection of isolated tools, but as a complete, end‑to‑end design environment. Clem walks through the full design of a real, buildable board, following the same workflow you&amp;rsquo;d use on an actual engineering project.&lt;/p&gt;
&lt;div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Rather than focusing on theory, this is something useful that you could use in your electronics journey if you follow along.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;You can follow along with this blog, but the meat of the guide is in Clem&amp;#39;s extended video.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jmb3gold1"&gt;Why KiCad, and Why This Project?&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;KiCad is chosen because it:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keeps schematic and PCB views tightly linked&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Allows one‑click updates from schematic to layout&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Has built‑in electrical and design rule checking&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Is supported directly by modern PCB manufacturers&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That makes it especially well‑suited to beginners who want professional results without commercial licensing costs. Just as importantly, Clem chooses a real project: an Arduino Uno compatible development board.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Arduino&amp;rsquo;s hardware is open source, which means you&amp;rsquo;re allowed to design your own versions.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Arduino is open source, so you can make your own version. I&amp;rsquo;m going to use one that doesn&amp;rsquo;t exist yet.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The board uses an ATtiny3226, a modern AVR that can run at both 3.3 V and 5 V &amp;mdash; a decision that influences almost every design step that follows.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold2"&gt;Step 1: Start Smart - Create a Project from a Template&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of starting with a blank canvas, Clem uses project templates.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In File &amp;rarr; New Project from Template, KiCad offers ready‑made templates for platforms like:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Arduino&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Raspberry Pi&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;BeagleBone&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Other common form factors&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem selects the Arduino Uno template, which immediately locks down:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Board outline&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Mounting hole positions&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Header spacing and alignment&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;If you want to adhere to a specific pinout or standard of board&amp;hellip; you choose a new project from template.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This eliminates an entire class of mechanical errors &lt;em&gt;before&lt;/em&gt; any schematic work begins &amp;mdash; shields will fit, headers will line up, and the board will physically behave like an Arduino.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold3"&gt;Step 2: Understand KiCad&amp;rsquo;s Two Core Editors&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At this point, Clem pauses to explain how KiCad is structured.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;KiCad is made up of several tools, but two matter most here:&lt;/div&gt;
&lt;h3 id="mcetoc_1jmb3gold4"&gt;The Schematic Editor&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where &lt;strong&gt;electrical intent&lt;/strong&gt; lives:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;What connects to what&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Power distribution&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Signal naming&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Functional grouping&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jmb3gold5"&gt;The PCB Editor&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where those electrical connections become:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Pads&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Tracks&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Vias&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Copper planes&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;A key KiCad improvement is how &lt;strong&gt;tightly these are linked&lt;/strong&gt;. Clem keeps both open at the same time, often on separate screens. Clicking a component in one highlights it in the other.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That feedback loop is what makes KiCad feel fast instead of fragile.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold6"&gt;Step 3: Schematic First - Think Function, Not Appearance&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem&amp;rsquo;s first real design rule is simple:&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Don&amp;rsquo;t think about how the board will look when you&amp;rsquo;re doing the schematic. This is only about the function.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In the schematic editor, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Places &lt;em&gt;all&lt;/em&gt; required components first&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Uses labels instead of long wires to keep things readable&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Uses global labels for power nets&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Marks unused pins with no‑connect flags&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;These habits work directly with KiCad&amp;rsquo;s Electrical Rules Checker (ERC), which will later flag:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Missing connections&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Forgotten pins&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Ambiguous nets&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where a lot of beginners go wrong, and where KiCad actively helps you catch mistakes early.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold7"&gt;Step 4: Design Power with Flexibility in Mind&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of hard‑coding a single operating voltage, Clem designs for &lt;strong&gt;choice&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The ATtiny3226 can run at either &lt;strong&gt;3.3 V or 5 V&lt;/strong&gt;, so Clem adds:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A USB‑derived 5 V rail&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A regulator to generate 3.3 V&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A jumper that selects which voltage powers the microcontroller&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;This chip can do both if you want to&amp;hellip; I want to have adjustable operating voltage, which in turn changes the logic levels.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the board is &lt;strong&gt;USB‑powered only&lt;/strong&gt;, this decision affects:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Regulator choice&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;USB protection&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Logic‑level compatibility across the board&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This step shows how &lt;strong&gt;early architectural decisions ripple forward&lt;/strong&gt; into later design stages.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold8"&gt;Step 5: Add USB‑C &amp;mdash; but Keep It Sensible&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;USB‑C often scares people off. Clem deliberately avoids that by targeting &lt;strong&gt;USB 2.0 only&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That keeps routing manageable while still delivering modern connectivity.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Key points Clem covers:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Correct CC resistors so the board actually gets power&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A Schottky diode to prevent back‑powering a PC&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Choosing a USB‑to‑UART bridge that tolerates both 3.3 V and 5 V logic&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;One thing I always check in the datasheet is: can this part really work with the different logic levels that I want?&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the ATtiny3226 doesn&amp;rsquo;t natively support USB, the USB‑to‑UART chip becomes a realistic, well‑explained trade‑off.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold9"&gt;Step 6: Build UPDI Programming Directly Onto the Board&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of relying on an external programmer, Clem integrates UPDI programming directly.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Using a dual‑throw switch, the same USB connection can be switched between:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;UPDI programming mode&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Normal UART operation&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;We&amp;rsquo;re building our programmer directly into the board&amp;hellip; this lets us choose between UPDI mode and normal operation.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This section highlights an important engineering habit: reusing proven design patterns, but understanding why they work instead of blindly copying them.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3golda"&gt;Step 7: Assign Symbols and Footprints That Match Reality&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the schematic is complete, Clem moves into a step that beginners often underestimate: &lt;strong&gt;footprints&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Rather than trusting generic placeholders, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Downloads manufacturer‑provided symbols and footprints&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Imports them into KiCad&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Cleans them up so pin names and orientation match the real parts&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;It&amp;rsquo;s better to have a symbol and a footprint that actually belong to each other.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This dramatically reduces the risk of assembly errors later and plays directly to KiCad&amp;rsquo;s strong library‑management tools.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldb"&gt;Step 8: Push the Schematic into the PCB Editor&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With footprints assigned, Clem clicks Update PCB from Schematic.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;All components appear on the board, connected by thin lines called the ratsnest. Nothing is routed yet, this is KiCad showing &lt;em&gt;what must eventually connect&lt;/em&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where schematic decisions start paying off.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldc"&gt;Step 9: Place Components Before Routing&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem doesn&amp;rsquo;t route immediately.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Places the microcontroller first&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Moves connectors to board edges&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keeps decoupling capacitors close to their ICs&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Groups related circuitry together&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;I get them in the general area first, and then I move them while I&amp;rsquo;m routing.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Good placement makes routing easier, cleaner, and less frustrating.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldd"&gt;Step 10: Route the Board Iteratively&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Routing starts with the easy connections and builds up.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem demonstrates:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Slightly thicker traces for power (for visibility as much as current)&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Differential‑pair routing for USB data&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Short ground connections dropped straight into vias&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Gradual refinement rather than perfection on the first pass&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Although the board &lt;em&gt;could&lt;/em&gt; be routed with two layers, Clem switches to four layers for EMC reasons.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Four layer boards are usually done because of EMC&amp;hellip; even if you don&amp;rsquo;t really require them for routing.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1jmb3golde"&gt;Step 11: Ground Planes, Stitching, and &amp;ldquo;Good Enough&amp;rdquo; EMC&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Ground planes are added and stitched together with vias.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem&amp;rsquo;s philosophy here is pragmatic:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Solid ground connectivity is almost always beneficial&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Via stitching is cheap&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Modern PCB fabs don&amp;rsquo;t penalise you for doing it properly&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This isn&amp;rsquo;t about theoretical perfection, it&amp;rsquo;s about robust, real‑world boards.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldf"&gt;Step 12: Label, Document, and Sanity‑Check Everything&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Before ordering, Clem:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds clear silkscreen labels (front and back)&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds version numbers&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds licensing information (CC BY‑SA, matching Arduino)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Then he runs KiCad&amp;rsquo;s Design Rules Checker.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;That would have been a really bad mistake.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Several issues are caught here &amp;mdash; exactly the kind that are easy to miss by eye.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldg"&gt;Step 13: From KiCad to Manufacturing&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Finally, Clem uploads the native KiCad project files directly to a PCB manufacturer.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;No Gerber export required.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;It&amp;rsquo;s very easy to go from a finished design to an order‑ready PCB.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This reflects a modern workflow where design, checking, and manufacturing are tightly linked.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldh"&gt;Getting Used to&amp;nbsp;Repeatable Process&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Check out Clem&amp;#39;s schematics below, inspect every decision, and recreate the project step by step alongside the video or out of your own curiosity.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;If this was too fast for you, check out the full unabridged version&amp;hellip; recreate the tutorial side by side.&amp;rdquo; - Clem&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;If you&amp;#39;d prefer a more abridged version, you can find it on our &lt;a title="YouTube Channel" href="https://www.youtube.com/@element14presents" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;YouTube Channel&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;By keeping the focus on real decisions, honest trade‑offs, and KiCad&amp;rsquo;s modern workflow, Clem delivers something more valuable than a feature tour: hopefully a practical way to start designing PCBs with confidence.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3sqb40"&gt;Supporting Files and Links&lt;/h2&gt;
&lt;p&gt;- &lt;a title="Austroduino Github Repository" href="https://github.com/mayermakes/Austroduino_tutorial" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Austroduino Github Repository&lt;/a&gt; (&lt;a title="Mirror Snapshot" href="/challenges-projects/element14-presents/m/files/151207" data-e14adj="t"&gt;Mirror Snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jmb4772h1"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-7fbf8" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3872794,3702965,1578404&amp;nsku=90AJ5490,35AJ1973,26M9961&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('7fbf8'));" data-farnell="3872794,3702965,1578404" data-newark="90AJ5490,35AJ1973,26M9961" data-comoverride="" data-cmpoverride="" data-cpc=",," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Attiny3226&lt;/td&gt;
&lt;td&gt;microchip&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-33b62" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3872794&amp;nsku=90AJ5490&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('33b62'));" data-farnell="3872794" data-newark="90AJ5490" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Molex usb-c&lt;/td&gt;
&lt;td&gt;molex&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a4edc" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3702965&amp;nsku=35AJ1973&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a4edc'));" data-farnell="3702965" data-newark="35AJ1973" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP1825s33&lt;/td&gt;
&lt;td&gt;microchip&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4b9f4" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1578404&amp;nsku=26M9961&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('4b9f4'));" data-farnell="1578404" data-newark="26M9961" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: attiny3226 development board, arduino uno compatible pcb, e14presents_mayermakes, kicad tutorial, kicad templates arduino, kicad schematic workflow, pcb layout and routing basics, four layer pcb design, usb-c pcb design, custom microcontroller board, usb to uart interface design, kicad 10 tutorial, kicad symbol footprint libraries, PCB design for beginners, kicad 9 tutorial, friday_release, open source hardware arduino, updi programming attiny&lt;/div&gt;
</description></item><item><title>Project Video Release Archive</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/3748/project-video-release-archive</link><pubDate>Thu, 16 Apr 2026 14:08:34 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:59ab0abe-b32d-47f9-b00c-4b73b01f3bd8</guid><dc:creator>e14sbhargav</dc:creator><description>Current Revision posted to Documents by e14sbhargav on 4/16/2026 2:08:34 PM&lt;br /&gt;
&lt;div style="background:#ffffff;border-bottom:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-icid="e14" data-e14adj="t"&gt;&lt;img alt="image"  src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;span style="font-size:18px;font-weight:bold;"&gt;Project Video Releases&lt;/span&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" style="color:#f17c0e;" href="/challengesprojects/element14-presents/" data-icid="e14" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;span style="padding-right:5px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" style="color:#f17c0e;" href="/challengesprojects/element14-presents/vcp-program/" data-icid="e14" data-e14adj="t"&gt;Meet the Hosts&lt;/a&gt;&lt;/span&gt;&lt;span style="padding-right:5px;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 710: Your First Real PCB in KiCad : An Arduino Compatible Board Designed from Scratch" href="/challenges-projects/element14-presents/project-videos/w/documents/72057/your-first-real-pcb-in-kicad-an-arduino-compatible-board-designed-from-scratch" data-e14adj="t"&gt;Episode 710: Your First Real PCB in KiCad : An Arduino Compatible Board Designed from Scratch&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 709: Was that my Number!? Fixing Caf&amp;eacute; Order Chaos with a Raspberry Pi Announcer" href="/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer" data-e14adj="t"&gt;Episode 709: Was that my Number!? Fixing Caf&amp;eacute; Order Chaos with a Raspberry Pi Announcer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 708: Reviving a Vintage LED Sign with Arduino and PS/2 Control" href="/challenges-projects/element14-presents/project-videos/w/documents/72042/reviving-a-vintage-led-sign-with-arduino-and-ps-2-control----episode-708" data-e14adj="t"&gt;Episode 708: Reviving a Vintage LED Sign with Arduino and PS/2 Control&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 707: Building a Circuit Sculpture with LED Filament" href="/challenges-projects/element14-presents/project-videos/w/documents/72038/building-a-circuit-sculpture-with-led-filament----episode-707" data-e14adj="t"&gt;Episode 707: Building a Circuit Sculpture with LED Filament&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72037/esp32-rfid-smart-access-control-in-a-simple-diy-build----episode-706"&gt;Episode 706: ESP32 + RFID = Smart Access Control in a Simple DIY Build&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 705: Building a Super Smooth Z-Scale Train Controller with Arduino" href="/challenges-projects/element14-presents/project-videos/w/documents/72036/building-a-super-smooth-z-scale-train-controller-with-arduino----episode-705" data-e14adj="t"&gt;Episode 705: Building a Super Smooth Z-Scale Train Controller with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 704: Hacking an IKEA Desk into a Programmable Electric Workstation" href="/challenges-projects/element14-presents/project-videos/w/documents/72035/hacking-an-ikea-desk-into-a-programmable-electric-workstation----episode-704" data-e14adj="t"&gt;Episode 704: Hacking an IKEA Desk into a Programmable Electric Workstation&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 703: How to Set Up the Raspberry Pi 5: Complete Beginner Step-by-Step Guide" href="/challenges-projects/element14-presents/project-videos/w/documents/72034/how-to-set-up-the-raspberry-pi-5-complete-beginner-step-by-step-guide----episode-703" data-e14adj="t"&gt;Episode 703: How to Set Up the Raspberry Pi 5: Complete Beginner Step-by-Step Guide&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 702: Build Your Own USB Looper for Serial Debugging and File Transfer" href="/challenges-projects/element14-presents/project-videos/w/documents/72033/build-your-own-usb-looper-for-serial-debugging-and-file-transfer----episode-702" data-e14adj="t"&gt;Episode 702: Build Your Own USB Looper for Serial Debugging and File Transfer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 700: How Voice Recognition Works on Raspberry Pi (and Why It&amp;rsquo;s Easy to Break)" href="/challenges-projects/element14-presents/project-videos/w/documents/72031/from-snooze-to-launch-the-arduino-powered-lego-alarm-clock-inspired-by-artemis-2----episode-701" data-e14adj="t"&gt;Episode 701: From Snooze to Launch: The Arduino-Powered LEGO Alarm Clock Inspired by Artemis 2&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 700: How Voice Recognition Works on Raspberry Pi (and Why It&amp;rsquo;s Easy to Break)" href="/challenges-projects/element14-presents/project-videos/w/documents/72030/how-voice-recognition-works-on-raspberry-pi-and-why-it-s-easy-to-break----episode-700" data-e14adj="t"&gt;Episode 700: How Voice Recognition Works on Raspberry Pi (and Why It&amp;rsquo;s Easy to Break)&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 697:&amp;nbsp;A Smart, Safe 3D Printer Cabinet Using Raspberry Pi and Node-RED" href="/challenges-projects/element14-presents/project-videos/w/documents/72021/gimmegpio-a-simple-way-to-get-gpio-on-laptops-and-desktops----episode-699" data-e14adj="t"&gt;Episode 699:&amp;nbsp;GimmeGPIO: A Simple Way to Get GPIO on Laptops and Desktops&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 697:&amp;nbsp;A Smart, Safe 3D Printer Cabinet Using Raspberry Pi and Node-RED" href="/challenges-projects/element14-presents/project-videos/w/documents/72020/building-a-practical-electronics-workbench-for-makers-and-engineers----episode-698" data-e14adj="t"&gt;Episode 698:&amp;nbsp;Building a Practical Electronics Workbench for Makers and Engineers&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 697:&amp;nbsp;A Smart, Safe 3D Printer Cabinet Using Raspberry Pi and Node-RED" href="/challenges-projects/element14-presents/project-videos/w/documents/72009/a-smart-safe-3d-printer-cabinet-using-raspberry-pi-and-node-red----episode-697" data-e14adj="t"&gt;Episode 697:&amp;nbsp;A Smart, Safe 3D Printer Cabinet Using Raspberry Pi and Node-RED&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/72008/how-a-pulse-metal-detector-works-and-how-to-build-one" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 696: How a Pulse Metal Detector Works, and How to Build One&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/72007/a-diy-test-and-programming-rig-built-for-small-batch-electronics-production----episode-695" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 695: A DIY Test and Programming Rig Built for Small-Batch Electronics Production&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/secret-element14-presents/w/documents/72001/earn-your-fitness-reward-with-a-smart-cookie-jar-using-strava-and-esp32----episode-694" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 694: Earn Your Fitness Reward with a Smart Cookie Jar Using Strava and ESP32&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71999/open-source-multicolour-3d-printing-upgrade-clem-s-3d-chameleon-remix----episode-693" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 693: Open-Source Multicolour 3D Printing Upgrade: Clem&amp;rsquo;s 3D Chameleon Remix&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71995/build-your-own-esp32-fitness-heart-rate-monitor-tracker----episode-692" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 692: Build Your own ESP32 Fitness Heart Rate Monitor / Tracker&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71994/how-accurate-is-bluetooth-channel-sounding-a-deep-dive-with-the-nrf54l15" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 691: How Accurate Is Bluetooth Channel Sounding? A Deep Dive with the nRF54L15&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71993/meet-the-platypusbot-now-powered-by-raspberry-pi-ros----episode-690" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 690: Meet the PlatypusBot: Now Powered by Raspberry Pi &amp;amp; ROS&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71992/how-clem-built-a-handheld-sci-fi-communicator-that-really-works----episode-689" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 689: How Clem Built a Handheld Sci-Fi Communicator That Really Works&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71990/building-the-cylon-pumpkin-combining-a-larson-scanner-and-vocoder-for-halloween----episode-688" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 688: Building the Cylon Pumpkin: Combining a Larson Scanner and Vocoder for Halloween&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71989/turning-a-10-air-fryer-into-an-arduino-powered-filament-dryer----episode-687" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 687: Turning a $10 Air Fryer into an Arduino powered Filament Dryer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71988/creepy-motion-activated-painting-you-can-build-yourself----episode-686" data-icid="e14" data-e14adj="t"&gt;Episode 686: Creepy Motion-Activated Painting You Can Build Yourself&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71987/when-your-body-becomes-the-instrument-clem-builds-the-drone-synth----episode-685" data-icid="e14" data-e14adj="t"&gt;Episode 685: When Your Body Becomes the Instrument: Clem Builds the &amp;ldquo;Dr&amp;ouml;ne&amp;rdquo; Synth&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684" data-icid="e14" data-e14adj="t"&gt;Episode 684: Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71984/how-to-make-a-portable-emergency-radio-with-an-arduino-nano-in-a-mint-tin----episode-683" data-icid="e14" data-e14adj="t"&gt;Episode 683: How to Make a Portable Emergency Radio with an Arduino Nano in a Mint TinT&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71974/diy-rf-modulator-raspberry-pi-pico-gaming-on-a-sony-watchman-fd-10a-crt----episode-682" data-icid="e14" data-e14adj="t"&gt;Episode 682: DIY RF Modulator + Raspberry Pi Pico = Gaming on a Sony Watchman FD-10A CRT&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71963/turn-anything-into-an-arduino-module-reusing-everyday-electronics----episode-681" data-icid="e14" data-e14adj="t"&gt;Episode 681: Turn anything into an Arduino Module: Reusing Everyday Electronics&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71961/from-kit-to-custom-design-building-a-tube-based-fm-radio----episode-680" data-icid="e14" data-e14adj="t"&gt;Episode 680: From Kit to Custom Design: Building a Tube-Based FM Radio&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71960/esp32-duolingo-owl-project-never-miss-a-lesson-again----episode-679" data-icid="e14" data-e14adj="t"&gt;Episode 679: ESP32 Duolingo Owl Project: Never Miss a Lesson Again&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71959/open-source-attiny3226-arduino-calculator-hardware-case-code-build----episode-678" data-icid="e14" data-e14adj="t"&gt;Episode 678: Open Source ATtiny3226 Arduino Calculator &amp;ndash; Hardware, Case &amp;amp; Code Build&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71955/make-your-own-vocoder-with-teensy-4-0---voice-of-a-cylon----episode-677" data-icid="e14" data-e14adj="t"&gt;Episode 677: Make Your Own Vocoder with Teensy 4.0 - Voice of a Cylon?!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71954/i-tried-building-16-attiny-robots-with-vibration-motors-it-was-a-disaster----episode-676" data-icid="e14" data-e14adj="t"&gt;Episode 676: I Tried Building 16 ATtiny Robots with Vibration Motors &amp;ndash; It Was a Disaster&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71953/avoid-conflict-with-this-esp32-defcon-task-tracker----episode-675" data-icid="e14" data-e14adj="t"&gt;Episode 675:Avoid Conflict with this ESP32 Defcon Task Tracker&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71947/building-an-open-source-blood-pressure-heart-signal-monitor----episode-674" data-icid="e14" data-e14adj="t"&gt;Episode 674: Building an Open Source Blood Pressure &amp;amp; Heart Signal Monitor&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71942/building-an-esp32-powered-warhammer-40k-rhino-with-dynamic-led-effects----episode-673" data-icid="e14" data-e14adj="t"&gt;Episode 673: Building an ESP32 Powered Warhammer 40k Rhino with Dynamic LED Effects!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71936/building-an-autonomous-lego-train-with-circuitpython-and-lidar----episode-672" data-icid="e14" data-e14adj="t"&gt;Episode 672: Building an Autonomous LEGO Train with CircuitPython and LIDAR&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71934/platypusbot---scavenging-for-robotics-parts----episode-671" data-icid="e14" data-e14adj="t"&gt;Episode 671: PlatypusBot - Scavenging for Robotics Parts&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71927/build-a-larson-scanner-with-sound-using-an-esp32----episode-670" data-icid="e14" data-e14adj="t"&gt;Episode 670: Build your own Larson Scanner&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71926/creating-an-esd-or-lightning-detector----episode-669" data-icid="e14" data-e14adj="t"&gt;Episode 669: Creating an ESD (Or Lightning!) Detector!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71925/designing-an-arduino-pid-controlled-micro-drone----episode-668" data-icid="e14" data-e14adj="t"&gt;Episode 668: Designing an Arduino PID Controlled Micro Drone&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71921/emulating-a-speech-synthesis-chip-with-an-esp32----episode-667" data-icid="e14" data-e14adj="t"&gt;Episode 667: Emulating a Speech Synthesis Chip with an ESP32&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71920/how-far-can-i2c-go----episode-666" data-icid="e14" data-e14adj="t"&gt;Episode 666: How Far Can I2C Go?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71919/raspberry-pi-ai-tracking-eye-of-sauron---ai-al-barad-dur---episode-665" data-icid="e14" data-e14adj="t"&gt;Episode 665: Raspberry Pi AI Tracking Eye of Sauron - AI AL Barad Dur&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71915/learn-how-to-make-a-photo-booth-with-the-esp32-and-telegram-automation----episode-664" data-icid="e14" data-e14adj="t"&gt;Episode 664: Learn how to Make a Photo Booth with the ESP32 and Telegram Automation!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71911/upcycling-a-vintage-microphone-into-an-emergency-radio-system----episode-663" data-icid="e14" data-e14adj="t"&gt;Episode 663: Upcycling a Vintage Microphone into an Emergency Radio System&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662" data-icid="e14" data-e14adj="t"&gt;Episode 662: Making a Stronger Affordable DIY Robot Arm with 3D Printing with Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71904/make-your-own-led-wrist-watch----episode-661" data-icid="e14" data-e14adj="t"&gt;Episode 661: Clem makes his own LED Wristwatch&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71846/lofi-beats-to-solder-to----episode-660" data-icid="e14" data-e14adj="t"&gt;Episode 660: LoFi Beats to Solder To&lt;/a&gt;&lt;/p&gt;
&lt;p style="clear:both;margin:0;padding:0px;padding-top:12px;"&gt;&lt;a title="Episode 659:&amp;nbsp;DIY Single Board Computer with ESP32 and Raspberry Pi Pico" href="/challenges-projects/element14-presents/project-videos/w/documents/71844/diy-single-board-computer-with-esp32-and-raspberry-pi-pico----episode-659" data-e14adj="t"&gt;Episode 659:&amp;nbsp;DIY Single Board Computer with ESP32 and Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71841/a-smart-youtube-counter-with-an-audio-analyzer---episode---658" data-icid="e14" data-e14adj="t"&gt;Episode 658: A Smart Youtube Counter With An Audio Analyzer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71833/how-to-control-a-lego-mindstorms-kit-with-ai-and-raspberry-pi-5----episode-657" data-icid="e14" data-e14adj="t"&gt;Episode 657: How to Control a LEGO Mindstorms kit with AI and Raspberry Pi 5&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71831/diy-jig-for-your-laser-cutter-with-custom-arduino-automation----episode-656" data-icid="e14" data-e14adj="t"&gt;Episode 656: DIY Jig for your Laser Cutter with Custom Arduino Automation&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71810/diy-hot-plate-for-smd-soldering-using-raspberry-pi-pico----episode-655" data-icid="e14" data-e14adj="t"&gt;Episode 655: DIY Hot Plate for SMD Soldering Using Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71801/how-do-battlebots-work-in-the-pit-with-hypershock----episode-654" data-icid="e14" data-e14adj="t"&gt;Episode 654: How Do BattleBots Work? In the Pit with HyperShock&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71797/edge-lit-7-segment-display-clock-using-raspberry-pi-pico----episode-653" data-icid="e14" data-e14adj="t"&gt;Episode 653: Edge-lit 7-Segment Display Clock Using Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71793/smart-windows-and-blinds-with-arduino-and-raspberry-pi-pico----episode-652" data-icid="e14" data-e14adj="t"&gt;Episode 652: Smart Windows and Blinds with Arduino and Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71784/design-for-manufacturing---project-to-product-by-modifying-off-the-shelf-cases----episode-651" data-icid="e14" data-e14adj="t"&gt;Episode 651: Design for Manufacturing - Project to Product by Modifying Off-the-Shelf Cases&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/46432/using-nordic-s-nrf7002-my-dehumidifier-tells-me-when-it-s-full----episode-650" data-icid="e14" data-e14adj="t"&gt;Episode 650: Using Nordic&amp;#39;s nRF7002, My Dehumidifier Tells Me When It&amp;#39;s Full!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/29545/giant-retro-gaming-magic-mirror-with-a-raspberry-pi-5----episode-649" data-icid="e14" data-e14adj="t"&gt;Episode 649: Giant Retro Gaming Magic Mirror with a Raspberry Pi 5!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/29540/home-ai-image-generation-server-with-lattepanda-and-stable-diffusion----episode-648" data-icid="e14" data-e14adj="t"&gt;Episode 648: Home AI Image Generation Server with LattePanda and Stable Diffusion&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/29537/building-an-open-source-tool-for-cave-surveying----episode-647" data-icid="e14" data-e14adj="t"&gt;Episode 647: Building an Open-Source Tool for Cave Surveying&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28802/creating-a-digital-roulette-table-with-an-esp32-devkit----episode-646" data-icid="e14" data-e14adj="t"&gt;Episode 646: Creating a Digital Roulette Table with an ESP32 DevKit&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28438/practical-diy-pi-pico-current-load-circuits----episode-645" data-icid="e14" data-e14adj="t"&gt;Episode 645: Practical DIY Pi Pico Current Load Circuits&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28421/turning-a-raspberry-pi-pico-into-a-gpu----episode-644" data-icid="e14" data-e14adj="t"&gt;Episode 644: Turning a Raspberry Pi Pico into a GPU!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28418/making-a-tribble-that-detects-klingons----episode-643" data-icid="e14" data-e14adj="t"&gt;Episode 643: Making a Tribble that Detects Klingons&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28416/making-a-time-lapse-camera-with-a-raspberry-pi-5----episode-642" data-icid="e14" data-e14adj="t"&gt;Episode 642: Making a Time-lapse Camera with a Raspberry Pi 5&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28409/moon-phase-display-with-raspberry-pi-pico----episode-641" data-icid="e14" data-e14adj="t"&gt;Episode 641: Moon Phase Display with Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28407/tinkering-vs-engineering-can-you-build-a-laptop-from-scratch----episode-640" data-icid="e14" data-e14adj="t"&gt;Episode 640: Tinkering vs Engineering: Can You Build a Laptop from Scratch?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28405/off-grid-remote-generator-starter----episode-639" data-icid="e14" data-e14adj="t"&gt;Episode 639: Off-Grid Remote Generator Starter?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28387/rp2040-pcb-design-turn-on-and-debug---how-hard-could-it-be----episode-638" data-icid="e14" data-e14adj="t"&gt;Episode 638: RP2040 PCB: Design, Turn-On, and Debug - How Hard Could It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28386/making-music-with-a-lego-guitar-and-capacitive-touch----episode-637" data-icid="e14" data-e14adj="t"&gt;Episode 637: Making Music with a Lego Guitar and Capacitive Touch&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28384/creating-an-imu-based-3d-mouse-with-an-esp32-s3----episode-636" data-icid="e14" data-e14adj="t"&gt;Episode 636: Creating an IMU based 3D Mouse with an ESP32-S3&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28382/vintage-electronics-exploration-with-a-bally-cypress-gardens-bingo-machine---episode-635" data-icid="e14" data-e14adj="t"&gt;Episode 635: Vintage Electronics Exploration with a Bally Cypress Gardens Bingo Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28381/craft-a-festive-led-christmas-sweater-featuring-the-attiny416----episode-634" data-icid="e14" data-e14adj="t"&gt;Episode 634: Craft a Festive LED Christmas Sweater Featuring the ATtiny416&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28376/spying-under-the-christmas-tree-with-an-arduino-powered-ornament----episode-633" data-icid="e14" data-e14adj="t"&gt;Episode 633: Spying Under the Christmas Tree with an Arduino-powered Ornament&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28374/revamping-old-school-pinball-with-an-esp32----episode-632" data-icid="e14" data-e14adj="t"&gt;Episode 632: Revamping Old School Pinball with an ESP32&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28372/all-purpose-debugging-a-practical-universal-screen-with-lcd-displays----episode-631" data-icid="e14" data-e14adj="t"&gt;Episode 631: All-Purpose Debugging: A Practical Universal Screen with LCD Displays&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28370/mega-iie-first-fully-functional-computer-built-around-the-apple-mega-ii-chip----episode-630" data-icid="e14" data-e14adj="t"&gt;Episode 630: Mega IIe: First Fully Functional Computer built around the Apple Mega-II Chip&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28366/backpack-splash-mark-s-water-gun-upgrade-for-epic-outdoor-water-wars----episode-629" data-icid="e14" data-e14adj="t"&gt;Episode 629: Backpack Splash: Mark&amp;#39;s Water Gun Upgrade for Epic Outdoor Water Wars!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628" data-icid="e14" data-e14adj="t"&gt;Episode 628: Affordable DIY Robot Arm - A Deep Dive into 3D Printing and Servo Motors&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28353/creating-sudostick---from-prototype-to-product----episode-627" data-icid="e14" data-e14adj="t"&gt;Episode 627: Creating sudostick - From Prototype to Product&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28351/catching-you-up-on-bonesnapper-ridge---off-grid-maker-shop----episode-626" data-icid="e14" data-e14adj="t"&gt;Episode 626: Catching you Up on Bonesnapper Ridge - Off-Grid Maker Shop&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28344/interactive-magic-creating-an-enchanted-cauldron----episode-625" data-icid="e14" data-e14adj="t"&gt;Episode 625: Interactive Magic - Creating an Enchanted Cauldron&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28342/episode-624-modding-a-smoke-machine-to-add-motion-detection" data-icid="e14" data-e14adj="t"&gt;Episode 624: Modding A Smoke Machine to Add Motion Detection&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28339/episode-623-how-to-run-linux-on-an-esp32" data-icid="e14" data-e14adj="t"&gt;Episode 623: How to Run Linux on an ESP32&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28334/episode-622-building-spooky-fun-halloween-sound-pranks-with-nrf-5340-ble-audio" data-icid="e14" data-e14adj="t"&gt;Episode 622: Building Spooky Fun: Halloween Sound Pranks with nRF 5340 BLE Audio&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28330/episode-621-color-sensor-based-water-quality-tracker-diy-environmental-monitoring" data-icid="e14" data-e14adj="t"&gt;Episode 621: Color Sensor-Based Water Quality Tracker: DIY Environmental Monitoring&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28328/episode-620-stey-by-step-guide-to-creating-your-own-speaking-animatronic-hat" data-icid="e14" data-e14adj="t"&gt;Episode 620: Stey-by-Step Guide to Creating your own Speaking Animatronic Hat&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28316/episode-619-how-to-build-an-open-source-bluetooth-mechanical-keyboard" data-icid="e14" data-e14adj="t"&gt;Episode 619: How to Build an Open Source Bluetooth Mechanical Keyboard&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28308/episode-618-upgrading-my-racing-sim-with-a-force-sensitive-keyboard" data-icid="e14" data-e14adj="t"&gt;Episode 618: Upgrading My Racing Sim with a Force-Sensitive Keyboard&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28306/episode-617-simplify-network-monitoring-building-an-esp32-powered-solution" data-icid="e14" data-e14adj="t"&gt;Episode 617: Simplify Network Monitoring: Building an ESP32-Powered Solution&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28300/episode-616-mastering-oven-control-precision-resin-curing-with-diy-modifications---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 616: Mastering Oven Control: Precision Resin Curing with DIY Modifications - How Hard Can it Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28290/episode-615-building-a-unique-usb-card-reader-from-idea-to-prototype" data-icid="e14" data-e14adj="t"&gt;Episode 615: Building a Unique USB Card Reader: From Idea to Prototype&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28278/episode-614-using-pid-proportional-integral-derivative-in-robotics---how-hard-could-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 614: Using PID (Proportional-Integral-Derivative) in Robotics - How Hard Could It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28274/episode-613-building-a-magic-wand-talking-sound-board" data-icid="e14" data-e14adj="t"&gt;Episode 613: Building a Magic Wand Talking Sound Board&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28271/episode-612-handheld-basic-computer-in-badge-format-with-the-arduino-uno" data-icid="e14" data-e14adj="t"&gt;Episode 612: Handheld BASIC computer in Badge Format with the Arduino Uno&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28267/episode-611-how-to-run-the-distance-to-the-moon-with-strava-data-and-a-pico-w-board" data-icid="e14" data-e14adj="t"&gt;Episode 611: How to Run the Distance to the Moon with Strava Data and a Pico W Board&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28214/episode-610-how-to-embroider-with-circuits-and-conductive-thread" data-icid="e14" data-e14adj="t"&gt;Episode 610: How to Embroider with Circuits and Conductive Thread&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28213/episode-609-updating-a-fujitsu-n860-2500-t111-keyboard-to-work-with-a-ps2-standard" data-icid="e14" data-e14adj="t"&gt;Episode 609: Updating a Fujitsu N860-2500-T111 Keyboard to Work with a PS2 Standard&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28200/episode-608-making-the-simplest-diy-wind-energy-generator---how-hard-could-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 608: Making the Simplest DIY Wind Energy Generator - How Hard Could it Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28198/episode-607-from-strava-to-motion-creating-an-arduino-powered-arcade-game-with-running-data" data-icid="e14" data-e14adj="t"&gt;Episode 607: From Strava to Motion: Creating an Arduino-Powered Arcade Game with Running Data&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28184/episode-606-how-to-use-lorawan-to-launch-model-rockets-wirelessly" data-icid="e14" data-e14adj="t"&gt;Episode 606: How to Use LoRaWAN to Launch Model Rockets Wirelessly&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28152/episode-605-arduino-and-leds-make-solitaire-easier-to-solve" data-icid="e14" data-e14adj="t"&gt;Episode 605: Arduino and LEDs Make Solitaire Easier to Solve&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28140/episode-604-charlieplexing-buttons-and-leds-at-the-same-time---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 604: Charlieplexing Buttons and LEDs at the Same Time - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28138/episode-603-create-your-own-air-hockey-table-with-arduino-scoring" data-icid="e14" data-e14adj="t"&gt;Episode 603: Create Your Own Air Hockey Table with Arduino Scoring&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28133/episode-602-diy-ac-dimmer-circuit-control-your-lights-with-a-raspberry-pi-pico" data-icid="e14" data-e14adj="t"&gt;Episode 602: DIY AC Dimmer Circuit: Control Your Lights with a Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28131/episode-601-how-to-reverse-engineer-electronics-building-a-developer-board-for-a-coding-class" data-icid="e14" data-e14adj="t"&gt;Episode 601: How to Reverse Engineer Electronics: Building a Developer Board for a Coding Class&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28126/episode-600-building-my-dream-digital-clock-diy-7-segment-display-with-a-cute-robot-twist" data-icid="e14" data-e14adj="t"&gt;Episode 600: Building My Dream Digital Clock: DIY 7 Segment Display with a Cute Robot Twist!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28117/episode-599-how-to-build-a-spectrum-analyzer-with-lego-bricks-discrete-electronics" data-icid="e14" data-e14adj="t"&gt;Episode 599: How to Build a Spectrum Analyzer with Lego Bricks &amp;amp; Discrete Electronics&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28102/episode-598-how-to-build-a-portable-solar-charged-off-grid-power-station" data-icid="e14" data-e14adj="t"&gt;Episode 598: How To Build a Portable, Solar-Charged Off-Grid Power Station&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28097/episode-597-how-to-build-a-robot-that-celebrates-good-grades-with-arduino" data-icid="e14" data-e14adj="t"&gt;Episode 597: How to Build a Robot that Celebrates Good Grades with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28084/episode-596-how-to-build-your-own-voice-assistant-with-mycroft-ai---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 596: How to Build Your Own Voice Assistant with MyCroft AI - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28082/episode-595-member-challenge-accepted---universal-lanc-controller-for-dslr-cameras" data-icid="e14" data-e14adj="t"&gt;Episode 595: Member Challenge Accepted - Universal LANC Controller for DSLR cameras&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28059/episode-594-repairing-a-neewer-660-studio-light---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 594: Repairing a Neewer 660 Studio light - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28057/episode-593-playing-3d-famicom-games-wirelessly-on-the-nes---how-hard-could-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 593: Playing 3D Famicom Games Wirelessly on the NES - How Hard Could It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28050/episode-592-lamptopus-spinning-led-desk-lamp" data-icid="e14" data-e14adj="t"&gt;Episode 592: Lamptopus: Spinning LED Desk Lamp&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28036/episode-591-building-a-bluetooth-speaker-in-5-minutes---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 591: Building A Bluetooth Speaker in 5 Minutes - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28033/episode-590-seven-kingdoms-open-source-bartop-arcade" data-icid="e14" data-e14adj="t"&gt;Episode 590: Seven Kingdoms Open Source Bartop Arcade&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28024/episode-589-upgrading-the-imac-g4-with-a-nuc" data-icid="e14" data-e14adj="t"&gt;Episode 589: Upgrading the iMac G4 With a NUC&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28020/episode-588-highlights-from-element14-presents-2022" data-icid="e14" data-e14adj="t"&gt;Episode 588: Highlights from element14 presents 2022&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27982/episode-587-create-your-own-talking-stress-indicator" data-icid="e14" data-e14adj="t"&gt;Episode 587: Create Your Own Talking Stress Indicator&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27965/episode-586-diy-open-source-bluetooth-headphones" data-icid="e14" data-e14adj="t"&gt;Episode 586: DIY Open Source Bluetooth Headphones&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27960/episode-585-enhancing-a-magnifying-headband-with-auto-sensing-light" data-icid="e14" data-e14adj="t"&gt;Episode 585: Enhancing a Magnifying Headband with Auto Sensing Light&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27952/episode-584-going-beyond-periodic-wakes-using-wifi-to-revive-a-sleeping-device" data-icid="e14" data-e14adj="t"&gt;Episode 584: Going Beyond Periodic Wakes: Using WiFi to Revive a Sleeping Device&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27934/episode-583-epic-neopixel-birthday-cake" data-icid="e14" data-e14adj="t"&gt;Episode 583: Epic Neopixel Birthday Cake&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27917/episode-582-smart-christmas-decoration-with-raspberry-pi-pico-and-mqtt" data-icid="e14" data-e14adj="t"&gt;Episode 582: Smart Christmas Decoration with Raspberry Pi Pico and MQTT&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27900/episode-581-bee-saving-electronics-prototype" data-icid="e14" data-e14adj="t"&gt;Episode 581: Bee-Saving Electronics Prototype&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27894/episode-580-diy-low-cost-capacitance-meter-using-a-555-timer" data-icid="e14" data-e14adj="t"&gt;Episode 580: DIY Low Cost Capacitance Meter Using a 555 Timer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27881/episode-579-how-to-make-a-basketball-auto-score-keeper-using-colour-sensing" data-icid="e14" data-e14adj="t"&gt;Episode 579: How to Make a Basketball Auto Score Keeper Using Colour Sensing&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27879/episode-578-build-your-own-bat-detector-with-analog-parts" data-icid="e14" data-e14adj="t"&gt;Episode 578: Build your Own Bat Detector with Analog Parts&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27862/episode-577-the-game-guy-mini-upgrading-the-unportable-game-boy" data-icid="e14" data-e14adj="t"&gt;Episode 577: The Game Guy Mini, Upgrading the Unportable Game Boy!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27861/episode-576-build-your-own-underwater-drone-with-3d-printed-parts" data-icid="e14" data-e14adj="t"&gt;Episode 576: Build your own Underwater Drone with 3D Printed Parts&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27855/episode-575-how-to-make-a-secured-parcel-pickup-box-with-arduino" data-icid="e14" data-e14adj="t"&gt;Episode 575: How to Make a Secured Parcel Pickup Box with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27846/episode-574-ghost-rider-halloween-costume" data-icid="e14" data-e14adj="t"&gt;Episode 574: Ghost Rider Halloween Costume&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27836/episode-573-using-a-pi-pico-to-convert-keyboard-input-to-morse-code" data-icid="e14" data-e14adj="t"&gt;Episode 573: Using a Pi Pico to Convert Keyboard Input to Morse Code&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27824/episode-572-how-to-use-an-esp32-camera-to-know-you-ve-got-mail" data-icid="e14" data-e14adj="t"&gt;Episode 572: How to Use an ESP32 &amp;amp; Camera to Know You&amp;#39;ve Got Mail!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27807/episode-571-using-dead-batteries-to-test-for-dead-batteries" data-icid="e14" data-e14adj="t"&gt;Episode 571: Using Dead Batteries to Test for Dead Batteries&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27805/episode-570-making-a-wifi-connected-audio-spectrum-analyzer-with-esp32" data-icid="e14" data-e14adj="t"&gt;Episode 570: Making a WiFi Connected Audio Spectrum Analyzer with ESP32&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27803/episode-569-multi-spectrum-uv-resin-curing-station-with-wurth-leds" data-icid="e14" data-e14adj="t"&gt;Episode 569: Multi-Spectrum UV Resin Curing Station with W&amp;uuml;rth LEDs&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27787/episode-568-how-to-make-a-custom-soundboard-with-the-stm32f4-using-freecad" data-icid="e14" data-e14adj="t"&gt;Episode 568: How to Make a Custom Soundboard with the STM32F4 using FreeCAD&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27785/episode-567-synced-neopixel-mickey-mouse-ears" data-icid="e14" data-e14adj="t"&gt;Episode 567: Synced NeoPixel Mickey Mouse Ears&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27760/episode-566-how-to-automate-industrial-welding-positioners-with-arduino" data-icid="e14" data-e14adj="t"&gt;Episode 566: How to Automate Industrial Welding Positioners with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27758/episode-565-measuring-destructive-testing-force-with-a-20-ton-hydraulic-press" data-icid="e14" data-e14adj="t"&gt;Episode 565: Measuring Destructive Testing Force with a 20 Ton Hydraulic Press&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27734/episode-564-build-a-vu-meter-with-led-pixelated-nixie-tubes" data-icid="e14" data-e14adj="t"&gt;Episode 564: Build a VU Meter with LED Pixelated Nixie Tubes&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27732/episode-563-creating-augmented-reality-circuits-with-meta-quest-2-and-unity" data-icid="e14" data-e14adj="t"&gt;Episode 563: Creating Augmented Reality Circuits with Meta Quest 2 and Unity&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27730/episode-562-pi-home-temperature-monitoring-system" data-icid="e14" data-e14adj="t"&gt;Episode 562: Pi Home Temperature Monitoring System&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27728/episode-561-wifi-to-parallel-port-ascii-art-dot-matrix-printer" data-icid="e14" data-e14adj="t"&gt;Episode 561: WiFi to Parallel Port Ascii Art Dot-Matrix Printer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27727/episode-560-raspberry-pi-controlled-lego-train-with-build-hat" data-icid="e14" data-e14adj="t"&gt;Episode 560: Raspberry Pi Controlled Lego Train with Build HAT&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27706/episode-559-create-a-magic-makeup-mirror-with-pose-detection" data-icid="e14" data-e14adj="t"&gt;Episode 559: Create a Magic Makeup Mirror with Pose Detection&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27700/episode-558-3d-object-rendering-using-an-fpga" data-icid="e14" data-e14adj="t"&gt;Episode 558: 3D Object Rendering Using an FPGA&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27694/episode-557-create-your-own-handheld-serial-monitor-for-project-debugging" data-icid="e14" data-e14adj="t"&gt;Episode 557: Create your own Handheld Serial Monitor for Project Debugging&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27666/episode-556-hacking-a-hotel-pos-tablet---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 556: Hacking a Hotel POS Tablet - How Hard Can it Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27664/episode-555-dance-central-pose-estimation-game-with-tensorflow-and-raspberry-pi" data-icid="e14" data-e14adj="t"&gt;Episode 555: Dance Central Pose Estimation Game with Tensorflow and Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27647/episode-554-arduino-uno-mini-limited-edition-led-necklace" data-icid="e14" data-e14adj="t"&gt;Episode 554: Arduino Uno Mini Limited Edition LED Necklace&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27645/episode-553-adding-a-parallel-printer-port-to-an-android-phone" data-icid="e14" data-e14adj="t"&gt;Episode 553: Adding a Parallel Printer Port to an Android Phone&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27616/episode-552---magical-potion-bottle-rack" data-icid="e14" data-e14adj="t"&gt;Episode 552: Magical Potion Bottle Rack&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27614/episode-551-can-we-rebuild-a-1930s-accounting-machine" data-icid="e14" data-e14adj="t"&gt;Episode 551: Can We Rebuild a 1930s Accounting Machine?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27608/episode-550-diy-electronic-controlled-motorized-wheelchair" data-icid="e14" data-e14adj="t"&gt;Episode 550: DIY Electronic Controlled Motorized Wheelchair&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27606/episode-549-using-a-teletype-machine-as-a-usb-printer-with-arduino" data-icid="e14" data-e14adj="t"&gt;Episode 549: Using a Teletype Machine as a USB Printer with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27597/episode-548-electronic-fidget-cube-building-your-ideas" data-icid="e14" data-e14adj="t"&gt;Episode 548: Electronic Fidget Cube, Building Your Ideas!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27577/episode-547-creating-a-mummy-wake-word-detector-with-raspberry-pi-and-edge-impulse" data-icid="e14" data-e14adj="t"&gt;Episode 547: Creating a &amp;ldquo;Mummy&amp;rdquo; Wake Word Detector with Raspberry Pi and Edge Impulse&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27567/episode-546-mapping-the-outputs-of-a-1960s-teletype-machine---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 546: Mapping the Outputs of a 1960s Teletype Machine - How Hard Can it Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27576/episode-545-designing-a-custom-pcb-for-microsoft-jacdac" data-icid="e14" data-e14adj="t"&gt;Episode 545: Designing a Custom PCB for Microsoft Jacdac&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27548/episode-544-reviving-the-1984-ibm-5155---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 544: Reviving the 1984 IBM 5155 - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27522/episode-543-lego-spike-prime-weather-station-with-raspberry-pi" data-icid="e14" data-e14adj="t"&gt;Episode 543: Lego Spike Prime Weather Station with Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27520/episode-542-a-noise-free-diy-switching-power-supply---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 542: A Noise-Free DIY Switching Power Supply - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27495/episode-541-vintage-laptop-battery-replaced-with-usb-power---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 541: Vintage Laptop Battery Replaced with USB Power - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27493/episode-540-object-detection-for-smart-recycling" data-icid="e14" data-e14adj="t"&gt;Episode 540: Object Detection for Smart Recycling&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27484/episode-539-training-a-machine-to-recognize-objects---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 539: Training a Machine to Recognize Objects - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27483/episode-538-how-to-build-a-quadruped-robot---no-math" data-icid="e14" data-e14adj="t"&gt;Episode 538: How to Build a Quadruped Robot - NO MATH!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27460/episode-537-build-a-phonograph-preamplifier---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 537: Build a Phonograph Preamplifier - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27458/episode-536-interactive-light-up-window-with-pose-detection-using-a-raspberry-pi-and-micro-bit" data-icid="e14" data-e14adj="t"&gt;Episode 536: Interactive Light-Up Window with Pose Detection using a Raspberry Pi and micro:bit&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27441/episode-535-repair-a-sega-game-gear---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 535: Repair a Sega Game Gear - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27435/episode-534-open-source-inventory-warehousing-system" data-icid="e14" data-e14adj="t"&gt;Episode 534: Open Source Inventory Warehousing System&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27432/episode-533-jumbo-diy-led" data-icid="e14" data-e14adj="t"&gt;Episode 533: Jumbo DIY LED&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27412/episode-532-world-s-first-single-chip-apple-ii-boots" data-icid="e14" data-e14adj="t"&gt;Episode 532: World&amp;rsquo;s First Single-Chip Apple II Boots!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27407/episode-531-game-guy---the-unportable-game-boy" data-icid="e14" data-e14adj="t"&gt;Episode 531: Game Guy - The Unportable Game Boy&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27399/episode-530-mqtt-controlled-led-christmas-baubles-with-raspberry-pi-pico" data-icid="e14" data-e14adj="t"&gt;Episode 530: MQTT controlled LED Christmas Baubles with Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27392/episode-529-updi-program-for-new-attiny" data-icid="e14" data-e14adj="t"&gt;Episode 529: UPDI Program for new ATTiny&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27383/episode-528-let-s-build-an-electronic-fidget-cube" data-icid="e14" data-e14adj="t"&gt;Episode 528: Let&amp;#39;s Build an Electronic Fidget Cube!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27375/episode-527---interactive-light-up-window-using-a-raspberry-pi-and-micro-bit" data-icid="e14" data-e14adj="t"&gt;Episode 527: Interactive Light Up Window using a Raspberry Pi and micro:bit&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27366/episode-526-cnc-router-remote-control" data-icid="e14" data-e14adj="t"&gt;Episode 526: CNC Router Remote Control&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27338/episode-525-demonstrating-magnetic-fields-with-helmholtz-coils-in-a-snow-globe" data-icid="e14" data-e14adj="t"&gt;Episode 525: DIY Helmholtz Snow Globe&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/27287/episode-524-arduino-iot-cloud-weather-station" data-e14adj="t"&gt;Episode 524: Arduino IoT Cloud Weather Station&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/27276/episode-523-make-your-own-auto-sensing-solder-fume-extractor" data-e14adj="t"&gt;Episode 523: Make your Own Auto-Sensing Solder Fume Extractor&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23245/episode-522-siren-head-halloween-wearable-costume" data-e14adj="t"&gt;Episode 522: Siren Head Halloween Wearable Costume&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23240/episode-521-diy-static-grass-applicator" data-e14adj="t"&gt;Episode 521: DIY Static Grass Applicator&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23232/episode-520-adding-android-auto-as-non-permanent-add-on-with-raspberry-pi" data-e14adj="t"&gt;Episode 520: Adding Android Auto as Non-Permanent Add-On with Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23225/episode-519-make-your-own-ye-olde-book-nook-diorama-with-arduino" data-e14adj="t"&gt;Episode 519: Make Your Own Ye Olde Book Nook Diorama with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23212/episode-518-guitar-vacuum-tube-distortion-pedal" data-e14adj="t"&gt;Episode 518: Guitar Vacuum Tube Distortion Pedal&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/secret-element14-presents/w/documents/4141/episode-517-emulate-an-eprom---how-hard-could-it-be" data-e14adj="t"&gt;Episode 517: Emulate an EPROM - How Hard Could it Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23199/episode-516-modding-a-wireless-doorbell-with-raspberry-pi-and-esp8266" data-e14adj="t"&gt;Episode 516: Modding a Wireless Doorbell with Raspberry Pi and ESP8266&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23190/episode-515-upcycling-a-lenovo-pc-into-a-raspberry-pi-wifi-access-point" data-e14adj="t"&gt;Episode 515: Upcycling a Lenovo PC into a Raspberry Pi WiFi Access Point&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23183/episode-514-making-a-3d-graphics-card-for-the-atari-800-xl" data-e14adj="t"&gt;Episode 514: Making a 3D Graphics Card for the Atari 800 XL&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5429/episode-513-bike-speedometer-with-arduino-and-gps" data-e14adj="t"&gt;Episode 513: Bike Speedometer with Arduino and GPS&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5422/episode-512-you-cannot-buy-this-vacuum-tube-tester-you-build-it" data-e14adj="t"&gt;Episode 512: You Cannot Buy This Vacuum Tube Tester. You Build It!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5418/episode-511-face-tracking-cheeseball-launcher" data-e14adj="t"&gt;Episode 511:&amp;nbsp; Raspberry Pi Powered Cheeseball Launcher&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5407/episode-510-laser-cutter-command-station" data-e14adj="t"&gt;Episode 510: Laser Cutter Command Station&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5402/episode-509-diy-discrete-logic-led-countdown-timer" data-e14adj="t"&gt;Episode 509: DIY Discrete Logic LED Countdown Timer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5397/episode-508-raspberry-pi-fpv-rover-easy-robot-arm-upgrade" data-e14adj="t"&gt;Episode 508: Raspberry Pi FPV Rover Easy Robot Arm Upgrade&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5391/episode-507-massive-raspberry-pi" data-e14adj="t"&gt;Episode 507: Massive Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5377/episode-506-diy-star-trek-tricorder-from-build-inside-the-box" data-e14adj="t"&gt;Episode 506: DIY Star Trek Tricorder from Build Inside the Box&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5374/episode-505-super-8-camera-digitizer" data-e14adj="t"&gt;Episode 505: Super 8 Camera Digitizer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5369/episode-504-diy-sump-pump-alarm" data-e14adj="t"&gt;Episode 504: DIY Sump Pump Alarm&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5360/episode-503-meet-cheesoid---the-robot-that-smells" data-e14adj="t"&gt;Episode 503: Meet Cheesoid - The Robot That Smells!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5352/episode-502-make-your-bike-a-pokebike" data-e14adj="t"&gt;Episode 502: Make Your Bike a Pokebike!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5033/episode-501-raspberry-pi-nfc-button-free-music-player" data-e14adj="t"&gt;Episode 501: Raspberry Pi NFC Button-Free Music Player&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/20721/episode-500-build-inside-the-box-challenge" data-e14adj="t"&gt;Episode 500:&amp;nbsp; Build Inside The Box Challenge!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5332/episode-499-diy-four-channel-arduino-servo-tester" data-e14adj="t"&gt;Episode 499: DIY Four Channel Arduino Servo Tester&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8706/episode-498-raspberry-pi-smart-water-dispenser" data-e14adj="t"&gt;Episode 498: Raspberry Pi Smart Water Dispenser&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5318/episode-497-raspberry-pi-rfid-pocket-money-keeper" data-e14adj="t"&gt;Episode 497: RFID Pocket Money Keeper&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8705/episode-496-compute-module-4-powered-3d-printer-board" data-e14adj="t"&gt;Episode 496: Compute Module 4 Powered 3D Printer Board&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5308/episode-495-magic-gif-ball-powered-by-raspberry-pi" data-e14adj="t"&gt;Episode 495: Magic GIF Ball Powered By Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5299/episode-494-keyboard-shortcuts-keypad-with-raspberry-pi-pico" data-e14adj="t"&gt;Episode 494: Keyboard Shortcuts Keypad with Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5290/episode-493-neopixel-7-segment-display-clock-update" data-e14adj="t"&gt;Episode 493: NeoPixel 7 Segment Display Clock Update&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5275/episode-492-arduino-vs-555-timer---tiny-slot-car-racers" data-e14adj="t"&gt;Episode 492: Arduino vs 555 Timer - Tiny Slot Car Racers&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5273/episode-491-arduino-single-wheel-balancing-robot" data-e14adj="t"&gt;Episode 491: Arduino Single-Wheel Balancing Robot&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5256/episode-490-diy-raspberry-pi-pico-fizz-buzz-multiplication-game" data-e14adj="t"&gt;Episode 490: DIY Raspberry Pi Pico Fizz Buzz Multiplication Game&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5254/episode-489-build-an-fpv-rover-with-raspberry-pi" data-e14adj="t"&gt;Episode 489: Build An FPV Rover with Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5233/episode-488-diy-raspberry-pi-cyberdeck" data-e14adj="t"&gt;Episode 488: DIY Raspberry Pi Cyberdeck&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5232/episode-487-diy-magsafe-battery-charger" data-e14adj="t"&gt;Episode 487: DIY MagSafe Battery Charger&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5229/episode-486-make-the-ultimate-phone-charging-camping-flashlight" data-e14adj="t"&gt;Episode 486: Make The Ultimate Phone Charging Camping Flashlight&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5213/episode-485-how-to-make-a-custom-pcb-from-design-to-assembly" data-e14adj="t"&gt;Episode 485: How To Make A Custom PCB From Design To Assembly&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5211/episode-484-raspberry-pi-bird-watching-camera" data-e14adj="t"&gt;Episode 484: Raspberry Pi Bird Watching Camera&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5201/episode-483-diy-miniature-multimeter" data-e14adj="t"&gt;Episode 483: DIY Miniature Multimeter&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5196/episode-482-gigantic-3d-printed-7-segment-display-clock" data-e14adj="t"&gt;Episode 482: Gigantic 3D Printed 7 Segment Display Clock&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5188/episode-481-diy-lost-swan-station-split-flap-display-timer" data-e14adj="t"&gt;Episode 481: DIY LOST Swan Station Split Flap Display Timer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5181/episode-480-diy-toothbrush-timer" data-e14adj="t"&gt;Episode 480: DIY Toothbrush Timer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5179/episode-479-raspberry-pi-2xl-robot-assistant-part-2" data-e14adj="t"&gt;Episode 479: Raspberry Pi 2XL Robot Assistant Part 2&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5171/episode-478-upgrading-a-christmas-train-with-python-and-raspberry-pi" data-e14adj="t"&gt;Episode 478: Upgrading A Christmas Train&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5169/episode-477-metal-plate-your-3d-prints-with-a-diy-galvanizing-machine" data-e14adj="t"&gt;Episode 477: Metal Plate Your 3D Prints with a DIY Galvanizing Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5160/episode-476-iot-arduino-ntp-world-clock-with-spi-display" data-e14adj="t"&gt;Episode 476: IoT Arduino NTP World Clock with SPI Display&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5147/episode-475-diy-wall-mounted-arduino-barometer" data-e14adj="t"&gt;Episode 475: DIY Wall Mounted Arduino Barometer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5144/episode-474-continuum-robot-tentacle-prototype" data-e14adj="t"&gt;Episode 474: Continuum Robot Tentacle Prototype&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8680/episode-473-mendel-3d-printer-upgrade-and-maintenance" data-e14adj="t"&gt;Episode 473: Mendel 3D Printer Upgrade and Maintenance&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5120/episode-472-diy-hydration-reminder-system" data-e14adj="t"&gt;Episode 472: DIY Hydration Reminder System&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5113/episode-471-diy-dance-dance-revolution-mat" data-e14adj="t"&gt;Episode 471: DIY Dance Dance Revolution Mat&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5102/episode-470-voice-activated-inspector-gadget-hat" data-e14adj="t"&gt;Episode 470: Voice Activated Inspector Gadget Hat&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5063/episode-469-nintendo-super-scope-modded-for-modern-televisions" data-e14adj="t"&gt;Episode 469: Nintendo Super Scope Modded For Modern Televisions&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5092/episode-468-socially-distanced-halloween-candy-dispenser" data-e14adj="t"&gt;Episode 468: Socially Distanced Halloween Candy Dispenser&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5077/episode-467-repairing-the-world-s-first-laptop-epson-hx-20" data-e14adj="t"&gt;Episode 467: Repairing the World&amp;#39;s First Laptop! (Epson HX-20)&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5061/episode-466-arduino-powered-hexadecimal-color-code-clock" data-e14adj="t"&gt;Episode 466: Arduino-powered Hexadecimal Color Code Clock&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5034/episode-465-lego-raspberry-pi-hq-camera" data-e14adj="t"&gt;Episode 465: Lego Raspberry Pi HQ Camera&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5031/episode-464-particle-voice-recognition-for-home-appliances" data-e14adj="t"&gt;Episode 464: Particle Voice Recognition for Home Appliances&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5002/episode-463-raspberry-pi-speech-to-text-led-face-mask" data-e14adj="t"&gt;Episode 463: Raspberry Pi Speech to Text LED Face Mask&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5012/episode-462-joycon-controlled-electronic-rock-em-sock-em-robots" data-e14adj="t"&gt;Episode 462: Joycon Controlled Electronic Rock&amp;#39;Em Sock&amp;#39;Em Robots&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4980/episode-461-portal-2-security-camera-with-raspberry-pi-2" data-e14adj="t"&gt;Episode 461: Portal 2 Security Camera with Raspberry Pi 2&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4985/episode-460-trinamic-open-source-ventilator-tosv-teardown" data-e14adj="t"&gt;Episode 460: Trinamic Open Source Ventilator (TOSV) Teardown&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4961/episode-459-raspberry-pi-4-vr-conference-call-assistant" data-e14adj="t"&gt;Episode 459: Raspberry Pi 4 VR Conference Call Assistant&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4971/episode-458-diy-arduino-automated-metal-bending-machine" data-e14adj="t"&gt;Episode 458: DIY Arduino Automated Metal Bending Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4966/episode-457-arduino-mkr-zero-animatronic-rosie-the-robot-from-the-jetsons" data-e14adj="t"&gt;Episode 457: Raspberry Pi 4 Animatronic Rosie the Robot from the Jetsons&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8665/episode-456-unhackable-arduino-switch-matrix" data-e14adj="t"&gt;Episode 456: Unhackable Arduino Switch Matrix&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8664/episode-455-arduino-unit-conversion-calculator" data-e14adj="t"&gt;Episode 455: Arduino Unit Conversion Calculator&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4942/episode-454-soldering-up-the-rc2014-homebrew-z80-computer-kit" data-e14adj="t"&gt;Episode 454: Soldering Up the rc2014 Homebrew Z80 Computer Kit&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4937/episode-453-build-an-anti-troll-bot-using-tensorflow-and-arduino" data-e14adj="t"&gt;Episode 453: Build an Anti-Troll Bot Using TensorFlow and Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4914/episode-452-raspberry-pi-4-experimental-resin-3d-printer-updated" data-e14adj="t"&gt;Episode 452: Raspberry Pi 4 Experimental Resin 3D Printer Updated!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4913/episode-451-build-an-off-grid-wikipedia-with-raspberry-pi" data-e14adj="t"&gt;Episode 451: Build an Off Grid Wikipedia with Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4906/episode-450-sega-gamegear-rebuild-with-leds" data-e14adj="t"&gt;Episode 450: Sega GameGear Rebuild with LEDs&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8657/episode-449-diy-tamagotchi---build-a-virtual-pet" data-e14adj="t"&gt;Episode 449: DIY Tamagotchi - Build a Virtual Pet&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4895/episode-448-diy-raspberry-pi-4-boxing-game" data-e14adj="t"&gt;Episode 448: DIY Raspberry Pi 4 Boxing Game&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4873/episode-447-diy-stop-motion-rig-with-lattepanda" data-e14adj="t"&gt;Episode 447: DIY Stop Motion Rig with LattePanda&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4871/episode-446-raspberry-pi-2xl-robot-assistant-part-1" data-e14adj="t"&gt;Episode 446: Raspberry Pi 2XL Robot Assistant Part 1&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8652/episode-445-raspberry-pi-4-animatronic-bd-1-companion-robot" data-e14adj="t"&gt;Episode 445: Raspberry Pi 4 Animatronic BD-1 Companion Robot&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4848/episode-444-raspberry-pi-4-dvr" data-e14adj="t"&gt;Episode 444: Raspberry Pi 4 DVR&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4836/episode-443-arduino-uno-rc-remote---can-it-be-done" data-e14adj="t"&gt;Episode 443: Arduino Uno RC Remote - Can It Be Done?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4834/episode-442-make-your-own-giant-servo" data-e14adj="t"&gt;Episode 442: Make Your Own Giant Servo&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4818/episode-441-raspberry-pi-4-international-space-station-tracker" data-e14adj="t"&gt;Episode 441: Raspberry Pi 4 International Space Station Tracker&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4810/episode-440-diy-arduino-helicopter-collective-joystick-control" data-e14adj="t"&gt;Episode 440: DIY Arduino Helicopter Collective Joystick Control&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4796/episode-439---mechanical-arcade-game-with-barebones-arduino" data-e14adj="t"&gt;Episode 439 - Mechanical Arcade Game with Barebones Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4787/episode-438-smartphone-controlled-diy-rover-using-websockets" data-e14adj="t"&gt;Episode 438: Smartphone Controlled DIY Rover Using Websockets&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4771/episode-437-diy-motorized-zoom-for-your-dslr" data-e14adj="t"&gt;Episode 437: DIY Motorized Zoom for Your DSLR&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4767/episode-436-automated-raspberry-pi-planet-tracking-goto-telescope" data-e14adj="t"&gt;Episode 436: Automated Raspberry Pi Planet Tracking GOTO Telescope&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4756/episode-435-raspberry-pi-4-music-player-w-analog-controls" data-e14adj="t"&gt;Episode 435: Raspberry Pi 4 Music Player w/Analog Controls&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8637/episode-434-infineon-smart-city-model" data-e14adj="t"&gt;Episode 434: Infineon Smart City Model&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4742/episode-433---arduino-based-love-tester" data-e14adj="t"&gt;Episode 433: Arduino Based Love Tester&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4728/episode-432-super-fx-sword-using-the-bbc-micro-bit" data-e14adj="t"&gt;Episode 432: Super FX Sword using the BBC micro:bit&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4726/episode-431-room-sized-studio-light-speakers-combo" data-e14adj="t"&gt;Episode 431: Room-Sized Studio Light Speakers Combo&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4692/episode-430-flaming-xylophone-rubens-tube" data-e14adj="t"&gt;Episode 430: Flaming Xylophone Rubens&amp;#39; Tube&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4670/episode-429-youtuber-on-air-light-with-particle-mesh-network" data-e14adj="t"&gt;Episode 429: YouTuber &amp;quot;On Air&amp;quot; Light with Particle Mesh Network&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4668/episode-428-raspberry-pi-4-crt-based-vr-headset" data-e14adj="t"&gt;Episode 428: Raspberry Pi 4 CRT-based VR Headset&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4657/episode-427-diy-retro-gaming-portable-on-a-budget" data-e14adj="t"&gt; Episode 427: DIY Retro Gaming Portable on a Budget!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4142/episode-426-retro-tv-ads-holiday-ornament" data-e14adj="t"&gt; Episode 426: Retro TV Ads Holiday Ornament&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4651/episode-425-make-your-own-raspberry-pi-4-photobooth" data-e14adj="t"&gt; Episode 425: Make Your Own Raspberry Pi 4 Photobooth!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4646/episode-424-diy-escape-room-puzzle" data-e14adj="t"&gt; Episode 424: DIY Escape Room Puzzle&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4644/episode-423-programmable-arduino-synthesizer-watch" data-e14adj="t"&gt; Episode 423: Programmable Arduino Synthesizer Watch&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4628/episode-422-raspberry-pi-e-ink-task-organizer" data-e14adj="t"&gt; Episode 422: Raspberry Pi E-Ink Task Organizer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4627/episode-421-raspberry-pi-4-commodore-sx-64-inspired-portable-computer" data-e14adj="t"&gt; Episode 421: Raspberry Pi 4 Commodore SX-64 Inspired Portable Computer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4616/episode-420-diy-shapeoko-cnc-pendant" data-e14adj="t"&gt; Episode 420: DIY Shapeoko CNC Pendant&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4607/episode-419-altair-8800-laptop" data-e14adj="t"&gt; Episode 419: Altair 8800 Laptop &lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4604/episode-418-animatronic-terminator-skull-with-beaglebone-ai-and-giveaway" data-e14adj="t"&gt;&amp;nbsp;Episode 418: Animatronic Terminator Skull with BeagleBone&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;&amp;nbsp;AI&amp;nbsp;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8619/episode-417-pipboy-2000-mk-ii" data-e14adj="t"&gt;Episode 417: #Pipboy 2000 Mk II&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4596/episode-416---diy-3dprinted-label-spooler" data-e14adj="t"&gt;Episode 416: DIY #3DPrinted Label Spooler&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4588/episode-415-iron-man-helmet-heads-up-display" data-e14adj="t"&gt;Episode 415: Iron Man Helmet Heads Up Display&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4580/episode-414-raspberry-pi-4-experimental-resin-3d-printer" data-e14adj="t"&gt;Episode 414: Raspberry Pi 4 Experimental Resin 3D Printer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8610/episode-413-animatronic-claptrap-case-mod-part-2" data-e14adj="t"&gt;Episode 413: Animatronic Claptrap Case Mod Part 2&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4558/episode-412-get-to-know-your-adc-with-a-diy-temperature-probe" data-e14adj="t"&gt;Episode 412: Get to Know Your ADC with a DIY Temperature Probe&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4531/episode-411-animatronic-claptrap-computer-case---part-1" data-e14adj="t"&gt;Episode 411: Animatronic Claptrap Computer Case - Part 1&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4537/episode-410-macpro-g5-cheese-grater-with-raspberry-pi-4" data-e14adj="t"&gt;Episode 410: MacPro G5 Cheese Grater with Raspberry Pi 4&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4522/episode-409-commodore-sx-64-restoration" data-e14adj="t"&gt;Episode 409: Commodore SX-64 Restoration&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4516/episode-408-hand-soldered-led-oscilloscope" data-e14adj="t"&gt;Episode 408: Hand Soldered LED Oscilloscope&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4514/episode-407-the-ultimate-raspberry-pi-4-laptop" data-e14adj="t"&gt;Episode 407: The Ultimate Raspberry Pi 4 Laptop&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4507/episode-406-automated-robot-artist" data-e14adj="t"&gt;Episode 406: Automated Robot Artist&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4493/episode-405-rc-ornithopter-concept" data-e14adj="t"&gt;Episode 405: RC Ornithopter Concept&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4488/episode-404-arduino-powered-close-encounters-midi-light-board" data-e14adj="t"&gt;Episode 404: Arduino Powered Close Encounters Midi Light Board&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4459/episode-403-upcycled-iot-coffee-pot-ramen-maker" data-e14adj="t"&gt;Episode 403: Upcycled IoT Coffee Pot Ramen Maker&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4422/episode-402-piphone-the-giant-raspberry-pi-flip-phone" data-e14adj="t"&gt;Episode 402: PiPhone++ The Giant Raspberry Pi Flip Phone&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4128/episode-401-matrix-voice-controlled-robot" data-e14adj="t"&gt;Episode 401: Matrix Voice Controlled Robot&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4127/episode-400-the-ultimate-raspberry-pi-stress-test" data-e14adj="t"&gt;Episode 400: The Ultimate Raspberry Pi Stress Test&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4129/episode-399-candle-powered-robot" data-e14adj="t"&gt;Episode 399: Candle-Powered Robotl&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4044/episode-398-let-me-out-hooman-bluetooth-dog-doorbell" data-e14adj="t"&gt;Episode 398: Let Me Out Hooman! Bluetooth Dog Doorbell&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4126/episode-397-steam-powered-retropie-console" data-e14adj="t"&gt;Episode 397: Steam Powered Retropie Console&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4043/episode-396-arduino-retro-led-matrix-handheld" data-e14adj="t"&gt;Episode 396: Arduino Retro LED Matrix Handheld&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4042/episode-395-raspberry-pi-stop-motion-machine" data-e14adj="t"&gt;Episode 395: Raspberry Pi Stop Motion Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8531/episode-394-animatronic-glados-head-with-raspberry-pi" data-e14adj="t"&gt;Episode 394: Animatronic GLaDOS Head with Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4125/episode-393-gameboy-walkman" data-e14adj="t"&gt;Episode 393: GameBoy Walkman&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4191/episode-392-multi-line-telephone-intercom" data-e14adj="t"&gt;Episode 392: Multi-Line Telephone Intercom&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4124/episode-391-first-person-view-rc-car-with-ps1-steering-wheel" data-e14adj="t"&gt;Episode 391: First Person View RC Car with PS2 Steering Wheel&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4122/episode-390-retro-texting-smart-watch-of-the-future" data-e14adj="t"&gt;Episode 390: Retro Texting Smart Watch of the Future!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4120/episode-389-playstation-classic-portable-prototype" data-e14adj="t"&gt;Episode 389: PlayStation Classic Portable Prototype&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8519/episode-388-fpga-midi-music-synthesizer" data-e14adj="t"&gt;Episode 388: FPGA MIDI Music Synthesizer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4057/episode-387-rotocell---the-rotary-cell-phone-of-the-future" data-e14adj="t"&gt;Episode 387: Rotocell - The Rotary Cell Phone of the Future!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4038/episode-386-xybernaut-wearable-pc" data-e14adj="t"&gt;Episode 386: Xybernaut Wearable PC&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4117/episode-385-20-pcb-design-pitfalls" data-e14adj="t"&gt;Episode 385: 20 PCB Design Pitfalls&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4035/episode-384-retro-gaming-handheld-without-a-pcb" data-e14adj="t"&gt;Episode 384: Retro Gaming Handheld Without a PCB&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4058/episode-383-gameboy-wireless-link-cable-dmg1" data-e14adj="t"&gt;Episode 383: Gameboy Wireless Link Cable (DMG1)&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8501/episode-382-modding-a-super-8-camera-into-a-digital" data-e14adj="t"&gt;Episode 382: Modding a Super 8 Camera into a Digital&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4067/episode-381-reverse-music-box" data-e14adj="t"&gt;Episode 381: Reverse Music Box&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4039/episode-380-nes-zapper-on-retropie" data-e14adj="t"&gt;Episode 380: NES Zapper on RetroPie&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4036/episode-379-macroscope-soldering-tool" data-e14adj="t"&gt;Episode 379: Macroscope Soldering Tool&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8500/episode-378-invader-zim-animatronic-gir" data-e14adj="t"&gt;Episode 378: Invader ZIM Animatronic GIR&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4034/episode-377-altair-8800-replica" data-e14adj="t"&gt;Episode 377: Altair 8800 Replica&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4028/episode-376-4d-gaming-with-the-matrix-creator" data-e14adj="t"&gt;Episode 376: 4D Gaming with the Matrix Creator&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4025/episode-375-hacked-fetal-detector-music-synthesizer" data-e14adj="t"&gt;Episode 375: Hacked Fetal Detector Music Synthesizer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4008/episode-374-raspberry-pi-donkey-kong-holiday-ornament" data-e14adj="t"&gt;Episode 374: Raspberry Pi Donkey Kong Holiday Ornament&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3992/episode-373-raspberry-pi-fallout-terminal-pc" data-e14adj="t"&gt;Episode 373: Raspberry Pi Fallout Terminal PC&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8497/episode-372-raspberry-pi-auto-etch-a-sketch" data-e14adj="t"&gt;Episode 372: Raspberry Pi Auto Etch A Sketch&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/2122.svg" title="Tm"&gt;&amp;#x2122;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3990/episode-371-fpga-game-genie-for-atari-2600" data-e14adj="t"&gt;Episode 371: FPGA &amp;quot;Game Genie&amp;quot; for Atari 2600&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3989/episode-370-raspberry-pi-noaa-satellite-receiver" data-e14adj="t"&gt;Episode 370: Raspberry Pi NOAA Satellite Receiver&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3979/episode-369-recreating-the-atari-portfolio" data-e14adj="t"&gt;Episode 369: Recreating the Atari Portfolio&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3977/episode-368-arduino-automatic-wire-cutter-and-stripper" data-e14adj="t"&gt;Episode 368: Arduino Automatic Wire Cutter and Stripper&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3968/episode-367-most-useless-iot-device-ever---part-2" data-e14adj="t"&gt;Episode 367: Most Useless IoT Device Ever - Part 2&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3960/episode-366-infinity-icosahedron" data-e14adj="t"&gt;Episode 366: Infinity Icosahedron&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3949/episode-365-twilight-zone-fortune-telling-machine" data-e14adj="t"&gt;Episode 365: Twilight Zone Fortune Telling Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3934/episode-364-raspberry-pi-virtual-reality-arcade" data-e14adj="t"&gt;Episode 364: Raspberry Pi Virtual Reality Arcade #VR&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3920/episode-363-add-a-motor-to-your-bike-with-arduino" data-e14adj="t"&gt;Episode 363 - Add a Motor to your Bike with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3912/episode-362-most-worthless-iot-device-ever---part-1" data-e14adj="t"&gt;Episode 362: Most Worthless IoT Device Ever Pt. 1&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3903/episode-361-r-o-b-rebuild-and-upgrade" data-e14adj="t"&gt;Episode 361: R.O.B Rebuild and Upgrade&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3887/episode-360-make-your-own-raspberry-pi-cell-phone" data-e14adj="t"&gt;Episode 360: Make Your Own Raspberry Pi Cell Phone&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3875/episode-359-make-your-own-cnc-pyrography-wood-burner" data-e14adj="t"&gt;Episode 359: Make Your Own CNC Pyrography Wood Burner&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3863/episode-358-the-shrimp-of-terror" data-e14adj="t"&gt;Episode 358: The Shrimp of Terror!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3848/episode-357-raspberry-pi-asteroid-tracker" data-e14adj="t"&gt;Episode 357: Raspberry Pi Asteroid Tracker&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8491/episode-356-bank-to-the-future-with-arduino-ti" data-e14adj="t"&gt;Episode 356: Bank to the Future with Arduino &amp;amp; TI&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3826/episode-355-raspberry-pi-pirate-radio" data-e14adj="t"&gt;Episode 355: Raspberry Pi Pirate Radio&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3816/episode-354-tiny-vacuum-forming-machine" data-e14adj="t"&gt;Episode 354: Tiny Vacuum Forming Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3809/episode-353-program-your-own-fpga-video-game" data-e14adj="t"&gt;Episode 353: Program Your Own FPGA Video Game&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3784/episode-352-pripyat---diy-geiger-counter" data-e14adj="t"&gt;Episode 352: Pripyat - DIY Geiger Counter&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3747/episode-349-raspberry-pi-selfie-rocket" data-e14adj="t"&gt;Episode 349: Raspberry Pi Selfie Rocket&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive" data-e14adj="t"&gt;See All Previous Episodes&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: episode releases, friday_release_archive, element14 presents, project videos, episodes, friday releases, episode release archive, episode archive, friday release archive, project_videos&lt;/div&gt;
</description></item><item><title>Your First Real PCB in KiCad : An Arduino Compatible Board Designed from Scratch</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72057/your-first-real-pcb-in-kicad-an-arduino-compatible-board-designed-from-scratch/revision/5</link><pubDate>Thu, 16 Apr 2026 12:30:39 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e3f585e3-4b21-4fda-b99d-ca01605d83b5</guid><dc:creator>cstanton</dc:creator><description>Revision 5 posted to Documents by cstanton on 4/16/2026 12:30:39 PM&lt;br /&gt;
&lt;p&gt;Clem takes on the challenge of designing a fully Arduino Uno&amp;ndash;compatible development board using KiCad, guiding viewers through the entire process from template selection to a manufacturing-ready PCB. Instead of abstract theory, the video focuses on real design decisions, including choosing an ATtiny3226 that doesn&amp;rsquo;t yet exist in an Uno form factor, handling USB‑C power and data safely, integrating UPDI programming, and avoiding common schematic and layout mistakes that can derail a first board. Along the way, Clem highlights practical hurdles&amp;mdash;such as matching symbols to real footprints, managing logic-level compatibility, routing USB data lines, and running proper design rule checks&amp;mdash;while explaining how KiCad&amp;rsquo;s tighter schematic-to-PCB integration makes iteration easier. The result is a clear, hands-on walkthrough that shows not just how to use KiCad, but how to think like a PCB designer when building reliable, reproducible hardware.&lt;/p&gt;
&lt;p&gt;Watch the Full Unedited KiCad Tutorial&lt;/p&gt;
&lt;p&gt;&lt;a href="https://players.brightcove.net/1362235890001/default_default/index.html?videoId=6393213823112"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jmb3gold0"&gt;A Hands‑On, Step‑by‑Step Introduction to KiCad&lt;/h2&gt;
&lt;p&gt;Designing a printed circuit board can feel intimidating at first, especially if you&amp;rsquo;ve never used a professional‑grade CAD tool before. KiCad exists to lower that barrier. KiCad is a free, open‑source, cross‑platform PCB design suite that brings schematic capture, PCB layout, 3D visualisation, and manufacturing outputs into one integrated workflow. Clem uses KiCad exactly as it&amp;rsquo;s meant to be used: not as a collection of isolated tools, but as a complete, end‑to‑end design environment. Clem walks through the full design of a real, buildable board, following the same workflow you&amp;rsquo;d use on an actual engineering project.&lt;/p&gt;
&lt;div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Rather than focusing on theory, this is something useful that you could use in your electronics journey if you follow along.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;You can follow along with this blog, but the meat of the guide is in Clem&amp;#39;s extended video.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jmb3gold1"&gt;Why KiCad, and Why This Project?&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;KiCad is chosen because it:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keeps schematic and PCB views tightly linked&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Allows one‑click updates from schematic to layout&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Has built‑in electrical and design rule checking&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Is supported directly by modern PCB manufacturers&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That makes it especially well‑suited to beginners who want professional results without commercial licensing costs. Just as importantly, Clem chooses a real project: an Arduino Uno compatible development board.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Arduino&amp;rsquo;s hardware is open source, which means you&amp;rsquo;re allowed to design your own versions.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Arduino is open source, so you can make your own version. I&amp;rsquo;m going to use one that doesn&amp;rsquo;t exist yet.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The board uses an ATtiny3226, a modern AVR that can run at both 3.3 V and 5 V &amp;mdash; a decision that influences almost every design step that follows.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold2"&gt;Step 1: Start Smart - Create a Project from a Template&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of starting with a blank canvas, Clem uses project templates.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In File &amp;rarr; New Project from Template, KiCad offers ready‑made templates for platforms like:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Arduino&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Raspberry Pi&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;BeagleBone&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Other common form factors&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem selects the Arduino Uno template, which immediately locks down:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Board outline&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Mounting hole positions&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Header spacing and alignment&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;If you want to adhere to a specific pinout or standard of board&amp;hellip; you choose a new project from template.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This eliminates an entire class of mechanical errors &lt;em&gt;before&lt;/em&gt; any schematic work begins &amp;mdash; shields will fit, headers will line up, and the board will physically behave like an Arduino.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold3"&gt;Step 2: Understand KiCad&amp;rsquo;s Two Core Editors&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At this point, Clem pauses to explain how KiCad is structured.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;KiCad is made up of several tools, but two matter most here:&lt;/div&gt;
&lt;h3 id="mcetoc_1jmb3gold4"&gt;The Schematic Editor&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where &lt;strong&gt;electrical intent&lt;/strong&gt; lives:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;What connects to what&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Power distribution&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Signal naming&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Functional grouping&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jmb3gold5"&gt;The PCB Editor&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where those electrical connections become:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Pads&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Tracks&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Vias&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Copper planes&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;A key KiCad improvement is how &lt;strong&gt;tightly these are linked&lt;/strong&gt;. Clem keeps both open at the same time, often on separate screens. Clicking a component in one highlights it in the other.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That feedback loop is what makes KiCad feel fast instead of fragile.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold6"&gt;Step 3: Schematic First - Think Function, Not Appearance&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem&amp;rsquo;s first real design rule is simple:&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Don&amp;rsquo;t think about how the board will look when you&amp;rsquo;re doing the schematic. This is only about the function.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In the schematic editor, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Places &lt;em&gt;all&lt;/em&gt; required components first&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Uses labels instead of long wires to keep things readable&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Uses global labels for power nets&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Marks unused pins with no‑connect flags&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;These habits work directly with KiCad&amp;rsquo;s Electrical Rules Checker (ERC), which will later flag:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Missing connections&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Forgotten pins&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Ambiguous nets&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where a lot of beginners go wrong, and where KiCad actively helps you catch mistakes early.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold7"&gt;Step 4: Design Power with Flexibility in Mind&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of hard‑coding a single operating voltage, Clem designs for &lt;strong&gt;choice&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The ATtiny3226 can run at either &lt;strong&gt;3.3 V or 5 V&lt;/strong&gt;, so Clem adds:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A USB‑derived 5 V rail&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A regulator to generate 3.3 V&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A jumper that selects which voltage powers the microcontroller&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;This chip can do both if you want to&amp;hellip; I want to have adjustable operating voltage, which in turn changes the logic levels.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the board is &lt;strong&gt;USB‑powered only&lt;/strong&gt;, this decision affects:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Regulator choice&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;USB protection&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Logic‑level compatibility across the board&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This step shows how &lt;strong&gt;early architectural decisions ripple forward&lt;/strong&gt; into later design stages.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold8"&gt;Step 5: Add USB‑C &amp;mdash; but Keep It Sensible&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;USB‑C often scares people off. Clem deliberately avoids that by targeting &lt;strong&gt;USB 2.0 only&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That keeps routing manageable while still delivering modern connectivity.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Key points Clem covers:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Correct CC resistors so the board actually gets power&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A Schottky diode to prevent back‑powering a PC&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Choosing a USB‑to‑UART bridge that tolerates both 3.3 V and 5 V logic&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;One thing I always check in the datasheet is: can this part really work with the different logic levels that I want?&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the ATtiny3226 doesn&amp;rsquo;t natively support USB, the USB‑to‑UART chip becomes a realistic, well‑explained trade‑off.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold9"&gt;Step 6: Build UPDI Programming Directly Onto the Board&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of relying on an external programmer, Clem integrates UPDI programming directly.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Using a dual‑throw switch, the same USB connection can be switched between:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;UPDI programming mode&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Normal UART operation&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;We&amp;rsquo;re building our programmer directly into the board&amp;hellip; this lets us choose between UPDI mode and normal operation.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This section highlights an important engineering habit: reusing proven design patterns, but understanding why they work instead of blindly copying them.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3golda"&gt;Step 7: Assign Symbols and Footprints That Match Reality&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the schematic is complete, Clem moves into a step that beginners often underestimate: &lt;strong&gt;footprints&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Rather than trusting generic placeholders, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Downloads manufacturer‑provided symbols and footprints&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Imports them into KiCad&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Cleans them up so pin names and orientation match the real parts&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;It&amp;rsquo;s better to have a symbol and a footprint that actually belong to each other.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This dramatically reduces the risk of assembly errors later and plays directly to KiCad&amp;rsquo;s strong library‑management tools.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldb"&gt;Step 8: Push the Schematic into the PCB Editor&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With footprints assigned, Clem clicks Update PCB from Schematic.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;All components appear on the board, connected by thin lines called the ratsnest. Nothing is routed yet, this is KiCad showing &lt;em&gt;what must eventually connect&lt;/em&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where schematic decisions start paying off.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldc"&gt;Step 9: Place Components Before Routing&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem doesn&amp;rsquo;t route immediately.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Places the microcontroller first&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Moves connectors to board edges&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keeps decoupling capacitors close to their ICs&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Groups related circuitry together&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;I get them in the general area first, and then I move them while I&amp;rsquo;m routing.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Good placement makes routing easier, cleaner, and less frustrating.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldd"&gt;Step 10: Route the Board Iteratively&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Routing starts with the easy connections and builds up.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem demonstrates:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Slightly thicker traces for power (for visibility as much as current)&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Differential‑pair routing for USB data&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Short ground connections dropped straight into vias&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Gradual refinement rather than perfection on the first pass&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Although the board &lt;em&gt;could&lt;/em&gt; be routed with two layers, Clem switches to four layers for EMC reasons.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Four layer boards are usually done because of EMC&amp;hellip; even if you don&amp;rsquo;t really require them for routing.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1jmb3golde"&gt;Step 11: Ground Planes, Stitching, and &amp;ldquo;Good Enough&amp;rdquo; EMC&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Ground planes are added and stitched together with vias.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem&amp;rsquo;s philosophy here is pragmatic:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Solid ground connectivity is almost always beneficial&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Via stitching is cheap&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Modern PCB fabs don&amp;rsquo;t penalise you for doing it properly&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This isn&amp;rsquo;t about theoretical perfection, it&amp;rsquo;s about robust, real‑world boards.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldf"&gt;Step 12: Label, Document, and Sanity‑Check Everything&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Before ordering, Clem:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds clear silkscreen labels (front and back)&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds version numbers&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds licensing information (CC BY‑SA, matching Arduino)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Then he runs KiCad&amp;rsquo;s Design Rules Checker.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;That would have been a really bad mistake.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Several issues are caught here &amp;mdash; exactly the kind that are easy to miss by eye.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldg"&gt;Step 13: From KiCad to Manufacturing&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Finally, Clem uploads the native KiCad project files directly to a PCB manufacturer.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;No Gerber export required.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;It&amp;rsquo;s very easy to go from a finished design to an order‑ready PCB.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This reflects a modern workflow where design, checking, and manufacturing are tightly linked.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldh"&gt;Getting Used to&amp;nbsp;Repeatable Process&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Check out Clem&amp;#39;s schematics below, inspect every decision, and recreate the project step by step alongside the video or out of your own curiosity.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;If this was too fast for you, check out the full unabridged version&amp;hellip; recreate the tutorial side by side.&amp;rdquo; - Clem&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;If you&amp;#39;d prefer a more abridged version, you can find it on our &lt;a title="YouTube Channel" href="https://www.youtube.com/@element14presents" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;YouTube Channel&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;By keeping the focus on real decisions, honest trade‑offs, and KiCad&amp;rsquo;s modern workflow, Clem delivers something more valuable than a feature tour: hopefully a practical way to start designing PCBs with confidence.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3sqb40"&gt;Supporting Files and Links&lt;/h2&gt;
&lt;p&gt;- &lt;a title="Austroduino Github Repository" href="https://github.com/mayermakes/Austroduino_tutorial" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Austroduino Github Repository&lt;/a&gt; (&lt;a title="Mirror Snapshot" href="/challenges-projects/element14-presents/m/files/151207" data-e14adj="t"&gt;Mirror Snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jmb4772h1"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-ae411" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3872794,3702965,1578404&amp;nsku=90AJ5490,35AJ1973,26M9961&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ae411'));" data-farnell="3872794,3702965,1578404" data-newark="90AJ5490,35AJ1973,26M9961" data-comoverride="" data-cmpoverride="" data-cpc=",," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Attiny3226&lt;/td&gt;
&lt;td&gt;microchip&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c5e70" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3872794&amp;nsku=90AJ5490&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('c5e70'));" data-farnell="3872794" data-newark="90AJ5490" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Molex usb-c&lt;/td&gt;
&lt;td&gt;molex&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c94c4" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3702965&amp;nsku=35AJ1973&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('c94c4'));" data-farnell="3702965" data-newark="35AJ1973" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP1825s33&lt;/td&gt;
&lt;td&gt;microchip&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c0b47" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1578404&amp;nsku=26M9961&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('c0b47'));" data-farnell="1578404" data-newark="26M9961" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: attiny3226 development board, arduino uno compatible pcb, e14presents_mayermakes, kicad tutorial, kicad templates arduino, kicad schematic workflow, pcb layout and routing basics, four layer pcb design, usb-c pcb design, custom microcontroller board, usb to uart interface design, kicad 10 tutorial, kicad symbol footprint libraries, PCB design for beginners, kicad 9 tutorial, friday_release, open source hardware arduino, updi programming attiny&lt;/div&gt;
</description></item><item><title>Your First Real PCB in KiCad : An Arduino Compatible Board Designed from Scratch</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72057/your-first-real-pcb-in-kicad-an-arduino-compatible-board-designed-from-scratch/revision/4</link><pubDate>Thu, 16 Apr 2026 12:26:09 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e3f585e3-4b21-4fda-b99d-ca01605d83b5</guid><dc:creator>cstanton</dc:creator><description>Revision 4 posted to Documents by cstanton on 4/16/2026 12:26:09 PM&lt;br /&gt;
&lt;p&gt;Clem takes on the challenge of designing a fully Arduino Uno&amp;ndash;compatible development board using KiCad, guiding viewers through the entire process from template selection to a manufacturing-ready PCB. Instead of abstract theory, the video focuses on real design decisions, including choosing an ATtiny3226 that doesn&amp;rsquo;t yet exist in an Uno form factor, handling USB‑C power and data safely, integrating UPDI programming, and avoiding common schematic and layout mistakes that can derail a first board. Along the way, Clem highlights practical hurdles&amp;mdash;such as matching symbols to real footprints, managing logic-level compatibility, routing USB data lines, and running proper design rule checks&amp;mdash;while explaining how KiCad&amp;rsquo;s tighter schematic-to-PCB integration makes iteration easier. The result is a clear, hands-on walkthrough that shows not just how to use KiCad, but how to think like a PCB designer when building reliable, reproducible hardware.&lt;/p&gt;
&lt;p&gt;Watch the Full Unedited KiCad Tutorial&lt;/p&gt;
&lt;p&gt;&lt;a href="https://players.brightcove.net/1362235890001/default_default/index.html?videoId=6393213823112"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jmb3gold0"&gt;A Hands‑On, Step‑by‑Step Introduction to KiCad&lt;/h2&gt;
&lt;p&gt;Designing a printed circuit board can feel intimidating at first, especially if you&amp;rsquo;ve never used a professional‑grade CAD tool before. KiCad exists to lower that barrier. KiCad is a free, open‑source, cross‑platform PCB design suite that brings schematic capture, PCB layout, 3D visualisation, and manufacturing outputs into one integrated workflow. Clem uses KiCad exactly as it&amp;rsquo;s meant to be used: not as a collection of isolated tools, but as a complete, end‑to‑end design environment. Clem walks through the full design of a real, buildable board, following the same workflow you&amp;rsquo;d use on an actual engineering project.&lt;/p&gt;
&lt;div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Rather than focusing on theory, this is something useful that you could use in your electronics journey if you follow along.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;You can follow along with this blog, but the meat of the guide is in Clem&amp;#39;s extended video.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jmb3gold1"&gt;Why KiCad, and Why This Project?&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;KiCad is chosen because it:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keeps schematic and PCB views tightly linked&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Allows one‑click updates from schematic to layout&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Has built‑in electrical and design rule checking&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Is supported directly by modern PCB manufacturers&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That makes it especially well‑suited to beginners who want professional results without commercial licensing costs. Just as importantly, Clem chooses a real project: an Arduino Uno compatible development board.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Arduino&amp;rsquo;s hardware is open source, which means you&amp;rsquo;re allowed to design your own versions.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Arduino is open source, so you can make your own version. I&amp;rsquo;m going to use one that doesn&amp;rsquo;t exist yet.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The board uses an ATtiny3226, a modern AVR that can run at both 3.3 V and 5 V &amp;mdash; a decision that influences almost every design step that follows.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold2"&gt;Step 1: Start Smart - Create a Project from a Template&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of starting with a blank canvas, Clem uses project templates.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In File &amp;rarr; New Project from Template, KiCad offers ready‑made templates for platforms like:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Arduino&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Raspberry Pi&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;BeagleBone&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Other common form factors&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem selects the Arduino Uno template, which immediately locks down:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Board outline&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Mounting hole positions&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Header spacing and alignment&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;If you want to adhere to a specific pinout or standard of board&amp;hellip; you choose a new project from template.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This eliminates an entire class of mechanical errors &lt;em&gt;before&lt;/em&gt; any schematic work begins &amp;mdash; shields will fit, headers will line up, and the board will physically behave like an Arduino.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold3"&gt;Step 2: Understand KiCad&amp;rsquo;s Two Core Editors&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At this point, Clem pauses to explain how KiCad is structured.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;KiCad is made up of several tools, but two matter most here:&lt;/div&gt;
&lt;h3 id="mcetoc_1jmb3gold4"&gt;The Schematic Editor&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where &lt;strong&gt;electrical intent&lt;/strong&gt; lives:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;What connects to what&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Power distribution&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Signal naming&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Functional grouping&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jmb3gold5"&gt;The PCB Editor&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where those electrical connections become:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Pads&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Tracks&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Vias&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Copper planes&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;A key KiCad improvement is how &lt;strong&gt;tightly these are linked&lt;/strong&gt;. Clem keeps both open at the same time, often on separate screens. Clicking a component in one highlights it in the other.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That feedback loop is what makes KiCad feel fast instead of fragile.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold6"&gt;Step 3: Schematic First - Think Function, Not Appearance&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem&amp;rsquo;s first real design rule is simple:&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Don&amp;rsquo;t think about how the board will look when you&amp;rsquo;re doing the schematic. This is only about the function.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In the schematic editor, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Places &lt;em&gt;all&lt;/em&gt; required components first&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Uses labels instead of long wires to keep things readable&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Uses global labels for power nets&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Marks unused pins with no‑connect flags&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;These habits work directly with KiCad&amp;rsquo;s Electrical Rules Checker (ERC), which will later flag:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Missing connections&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Forgotten pins&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Ambiguous nets&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where a lot of beginners go wrong, and where KiCad actively helps you catch mistakes early.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold7"&gt;Step 4: Design Power with Flexibility in Mind&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of hard‑coding a single operating voltage, Clem designs for &lt;strong&gt;choice&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The ATtiny3226 can run at either &lt;strong&gt;3.3 V or 5 V&lt;/strong&gt;, so Clem adds:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A USB‑derived 5 V rail&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A regulator to generate 3.3 V&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A jumper that selects which voltage powers the microcontroller&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;This chip can do both if you want to&amp;hellip; I want to have adjustable operating voltage, which in turn changes the logic levels.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the board is &lt;strong&gt;USB‑powered only&lt;/strong&gt;, this decision affects:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Regulator choice&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;USB protection&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Logic‑level compatibility across the board&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This step shows how &lt;strong&gt;early architectural decisions ripple forward&lt;/strong&gt; into later design stages.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold8"&gt;Step 5: Add USB‑C &amp;mdash; but Keep It Sensible&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;USB‑C often scares people off. Clem deliberately avoids that by targeting &lt;strong&gt;USB 2.0 only&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That keeps routing manageable while still delivering modern connectivity.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Key points Clem covers:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Correct CC resistors so the board actually gets power&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A Schottky diode to prevent back‑powering a PC&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Choosing a USB‑to‑UART bridge that tolerates both 3.3 V and 5 V logic&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;One thing I always check in the datasheet is: can this part really work with the different logic levels that I want?&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the ATtiny3226 doesn&amp;rsquo;t natively support USB, the USB‑to‑UART chip becomes a realistic, well‑explained trade‑off.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold9"&gt;Step 6: Build UPDI Programming Directly Onto the Board&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of relying on an external programmer, Clem integrates UPDI programming directly.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Using a dual‑throw switch, the same USB connection can be switched between:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;UPDI programming mode&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Normal UART operation&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;We&amp;rsquo;re building our programmer directly into the board&amp;hellip; this lets us choose between UPDI mode and normal operation.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This section highlights an important engineering habit: reusing proven design patterns, but understanding why they work instead of blindly copying them.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3golda"&gt;Step 7: Assign Symbols and Footprints That Match Reality&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the schematic is complete, Clem moves into a step that beginners often underestimate: &lt;strong&gt;footprints&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Rather than trusting generic placeholders, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Downloads manufacturer‑provided symbols and footprints&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Imports them into KiCad&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Cleans them up so pin names and orientation match the real parts&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;It&amp;rsquo;s better to have a symbol and a footprint that actually belong to each other.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This dramatically reduces the risk of assembly errors later and plays directly to KiCad&amp;rsquo;s strong library‑management tools.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldb"&gt;Step 8: Push the Schematic into the PCB Editor&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With footprints assigned, Clem clicks Update PCB from Schematic.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;All components appear on the board, connected by thin lines called the ratsnest. Nothing is routed yet, this is KiCad showing &lt;em&gt;what must eventually connect&lt;/em&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where schematic decisions start paying off.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldc"&gt;Step 9: Place Components Before Routing&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem doesn&amp;rsquo;t route immediately.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Places the microcontroller first&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Moves connectors to board edges&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keeps decoupling capacitors close to their ICs&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Groups related circuitry together&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;I get them in the general area first, and then I move them while I&amp;rsquo;m routing.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Good placement makes routing easier, cleaner, and less frustrating.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldd"&gt;Step 10: Route the Board Iteratively&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Routing starts with the easy connections and builds up.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem demonstrates:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Slightly thicker traces for power (for visibility as much as current)&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Differential‑pair routing for USB data&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Short ground connections dropped straight into vias&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Gradual refinement rather than perfection on the first pass&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Although the board &lt;em&gt;could&lt;/em&gt; be routed with two layers, Clem switches to four layers for EMC reasons.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Four layer boards are usually done because of EMC&amp;hellip; even if you don&amp;rsquo;t really require them for routing.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1jmb3golde"&gt;Step 11: Ground Planes, Stitching, and &amp;ldquo;Good Enough&amp;rdquo; EMC&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Ground planes are added and stitched together with vias.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem&amp;rsquo;s philosophy here is pragmatic:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Solid ground connectivity is almost always beneficial&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Via stitching is cheap&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Modern PCB fabs don&amp;rsquo;t penalise you for doing it properly&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This isn&amp;rsquo;t about theoretical perfection, it&amp;rsquo;s about robust, real‑world boards.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldf"&gt;Step 12: Label, Document, and Sanity‑Check Everything&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Before ordering, Clem:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds clear silkscreen labels (front and back)&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds version numbers&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds licensing information (CC BY‑SA, matching Arduino)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Then he runs KiCad&amp;rsquo;s Design Rules Checker.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;That would have been a really bad mistake.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Several issues are caught here &amp;mdash; exactly the kind that are easy to miss by eye.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldg"&gt;Step 13: From KiCad to Manufacturing&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Finally, Clem uploads the native KiCad project files directly to a PCB manufacturer.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;No Gerber export required.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;It&amp;rsquo;s very easy to go from a finished design to an order‑ready PCB.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This reflects a modern workflow where design, checking, and manufacturing are tightly linked.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldh"&gt;Getting Used to&amp;nbsp;Repeatable Process&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Check out Clem&amp;#39;s schematics below, inspect every decision, and recreate the project step by step alongside the video or out of your own curiosity.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;If this was too fast for you, check out the full unabridged version&amp;hellip; recreate the tutorial side by side.&amp;rdquo; - Clem&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;If you&amp;#39;d prefer a more abridged version, you can find it on our &lt;a title="YouTube Channel" href="https://www.youtube.com/@element14presents" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;YouTube Channel&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;By keeping the focus on real decisions, honest trade‑offs, and KiCad&amp;rsquo;s modern workflow, Clem delivers something more valuable than a feature tour: hopefully a practical way to start designing PCBs with confidence.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3sqb40"&gt;Supporting Files and Links&lt;/h2&gt;
&lt;p&gt;- &lt;a title="Austroduino Github Repository" href="https://github.com/mayermakes/Austroduino_tutorial" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Austroduino Github Repository&lt;/a&gt; (&lt;a title="Mirror Snapshot" href="/challenges-projects/element14-presents/m/files/151207" data-e14adj="t"&gt;Mirror Snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Your First Real PCB in KiCad : An Arduino Compatible Board Designed from Scratch</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72057/your-first-real-pcb-in-kicad-an-arduino-compatible-board-designed-from-scratch/revision/3</link><pubDate>Thu, 16 Apr 2026 12:25:17 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e3f585e3-4b21-4fda-b99d-ca01605d83b5</guid><dc:creator>cstanton</dc:creator><description>Revision 3 posted to Documents by cstanton on 4/16/2026 12:25:17 PM&lt;br /&gt;
&lt;p&gt;Clem takes on the challenge of designing a fully Arduino Uno&amp;ndash;compatible development board using KiCad, guiding viewers through the entire process from template selection to a manufacturing-ready PCB. Instead of abstract theory, the video focuses on real design decisions, including choosing an ATtiny3226 that doesn&amp;rsquo;t yet exist in an Uno form factor, handling USB‑C power and data safely, integrating UPDI programming, and avoiding common schematic and layout mistakes that can derail a first board. Along the way, Clem highlights practical hurdles&amp;mdash;such as matching symbols to real footprints, managing logic-level compatibility, routing USB data lines, and running proper design rule checks&amp;mdash;while explaining how KiCad&amp;rsquo;s tighter schematic-to-PCB integration makes iteration easier. The result is a clear, hands-on walkthrough that shows not just how to use KiCad, but how to think like a PCB designer when building reliable, reproducible hardware.&lt;/p&gt;
&lt;p&gt;Watch the Full Unedited KiCad Tutorial&lt;/p&gt;
&lt;p&gt;&lt;a href="https://players.brightcove.net/1362235890001/default_default/index.html?videoId=6393213823112"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jmb3gold0"&gt;A Hands‑On, Step‑by‑Step Introduction to KiCad&lt;/h2&gt;
&lt;p&gt;Designing a printed circuit board can feel intimidating at first, especially if you&amp;rsquo;ve never used a professional‑grade CAD tool before. KiCad exists to lower that barrier. KiCad is a free, open‑source, cross‑platform PCB design suite that brings schematic capture, PCB layout, 3D visualisation, and manufacturing outputs into one integrated workflow. Clem uses KiCad exactly as it&amp;rsquo;s meant to be used: not as a collection of isolated tools, but as a complete, end‑to‑end design environment. Clem walks through the full design of a real, buildable board, following the same workflow you&amp;rsquo;d use on an actual engineering project.&lt;/p&gt;
&lt;div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Rather than focusing on theory, this is something useful that you could use in your electronics journey if you follow along.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;You can follow along with this blog, but the meat of the guide is in Clem&amp;#39;s extended video.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jmb3gold1"&gt;Why KiCad, and Why This Project?&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;KiCad is chosen because it:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keeps schematic and PCB views tightly linked&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Allows one‑click updates from schematic to layout&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Has built‑in electrical and design rule checking&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Is supported directly by modern PCB manufacturers&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That makes it especially well‑suited to beginners who want professional results without commercial licensing costs. Just as importantly, Clem chooses a real project: an Arduino Uno compatible development board.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Arduino&amp;rsquo;s hardware is open source, which means you&amp;rsquo;re allowed to design your own versions.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Arduino is open source, so you can make your own version. I&amp;rsquo;m going to use one that doesn&amp;rsquo;t exist yet.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The board uses an ATtiny3226, a modern AVR that can run at both 3.3 V and 5 V &amp;mdash; a decision that influences almost every design step that follows.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold2"&gt;Step 1: Start Smart - Create a Project from a Template&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of starting with a blank canvas, Clem uses project templates.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In File &amp;rarr; New Project from Template, KiCad offers ready‑made templates for platforms like:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Arduino&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Raspberry Pi&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;BeagleBone&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Other common form factors&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem selects the Arduino Uno template, which immediately locks down:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Board outline&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Mounting hole positions&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Header spacing and alignment&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;If you want to adhere to a specific pinout or standard of board&amp;hellip; you choose a new project from template.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This eliminates an entire class of mechanical errors &lt;em&gt;before&lt;/em&gt; any schematic work begins &amp;mdash; shields will fit, headers will line up, and the board will physically behave like an Arduino.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold3"&gt;Step 2: Understand KiCad&amp;rsquo;s Two Core Editors&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At this point, Clem pauses to explain how KiCad is structured.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;KiCad is made up of several tools, but two matter most here:&lt;/div&gt;
&lt;h3 id="mcetoc_1jmb3gold4"&gt;The Schematic Editor&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where &lt;strong&gt;electrical intent&lt;/strong&gt; lives:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;What connects to what&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Power distribution&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Signal naming&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Functional grouping&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jmb3gold5"&gt;The PCB Editor&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where those electrical connections become:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Pads&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Tracks&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Vias&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Copper planes&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;A key KiCad improvement is how &lt;strong&gt;tightly these are linked&lt;/strong&gt;. Clem keeps both open at the same time, often on separate screens. Clicking a component in one highlights it in the other.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That feedback loop is what makes KiCad feel fast instead of fragile.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold6"&gt;Step 3: Schematic First - Think Function, Not Appearance&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem&amp;rsquo;s first real design rule is simple:&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Don&amp;rsquo;t think about how the board will look when you&amp;rsquo;re doing the schematic. This is only about the function.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In the schematic editor, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Places &lt;em&gt;all&lt;/em&gt; required components first&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Uses labels instead of long wires to keep things readable&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Uses global labels for power nets&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Marks unused pins with no‑connect flags&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;These habits work directly with KiCad&amp;rsquo;s Electrical Rules Checker (ERC), which will later flag:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Missing connections&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Forgotten pins&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Ambiguous nets&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where a lot of beginners go wrong, and where KiCad actively helps you catch mistakes early.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold7"&gt;Step 4: Design Power with Flexibility in Mind&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of hard‑coding a single operating voltage, Clem designs for &lt;strong&gt;choice&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The ATtiny3226 can run at either &lt;strong&gt;3.3 V or 5 V&lt;/strong&gt;, so Clem adds:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A USB‑derived 5 V rail&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A regulator to generate 3.3 V&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A jumper that selects which voltage powers the microcontroller&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;This chip can do both if you want to&amp;hellip; I want to have adjustable operating voltage, which in turn changes the logic levels.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the board is &lt;strong&gt;USB‑powered only&lt;/strong&gt;, this decision affects:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Regulator choice&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;USB protection&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Logic‑level compatibility across the board&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This step shows how &lt;strong&gt;early architectural decisions ripple forward&lt;/strong&gt; into later design stages.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold8"&gt;Step 5: Add USB‑C &amp;mdash; but Keep It Sensible&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;USB‑C often scares people off. Clem deliberately avoids that by targeting &lt;strong&gt;USB 2.0 only&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That keeps routing manageable while still delivering modern connectivity.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Key points Clem covers:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Correct CC resistors so the board actually gets power&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A Schottky diode to prevent back‑powering a PC&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Choosing a USB‑to‑UART bridge that tolerates both 3.3 V and 5 V logic&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;One thing I always check in the datasheet is: can this part really work with the different logic levels that I want?&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the ATtiny3226 doesn&amp;rsquo;t natively support USB, the USB‑to‑UART chip becomes a realistic, well‑explained trade‑off.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold9"&gt;Step 6: Build UPDI Programming Directly Onto the Board&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of relying on an external programmer, Clem integrates UPDI programming directly.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Using a dual‑throw switch, the same USB connection can be switched between:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;UPDI programming mode&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Normal UART operation&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;We&amp;rsquo;re building our programmer directly into the board&amp;hellip; this lets us choose between UPDI mode and normal operation.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This section highlights an important engineering habit: reusing proven design patterns, but understanding why they work instead of blindly copying them.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3golda"&gt;Step 7: Assign Symbols and Footprints That Match Reality&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the schematic is complete, Clem moves into a step that beginners often underestimate: &lt;strong&gt;footprints&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Rather than trusting generic placeholders, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Downloads manufacturer‑provided symbols and footprints&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Imports them into KiCad&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Cleans them up so pin names and orientation match the real parts&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;It&amp;rsquo;s better to have a symbol and a footprint that actually belong to each other.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This dramatically reduces the risk of assembly errors later and plays directly to KiCad&amp;rsquo;s strong library‑management tools.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldb"&gt;Step 8: Push the Schematic into the PCB Editor&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With footprints assigned, Clem clicks Update PCB from Schematic.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;All components appear on the board, connected by thin lines called the ratsnest. Nothing is routed yet, this is KiCad showing &lt;em&gt;what must eventually connect&lt;/em&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where schematic decisions start paying off.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldc"&gt;Step 9: Place Components Before Routing&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem doesn&amp;rsquo;t route immediately.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Places the microcontroller first&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Moves connectors to board edges&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keeps decoupling capacitors close to their ICs&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Groups related circuitry together&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;I get them in the general area first, and then I move them while I&amp;rsquo;m routing.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Good placement makes routing easier, cleaner, and less frustrating.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldd"&gt;Step 10: Route the Board Iteratively&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Routing starts with the easy connections and builds up.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem demonstrates:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Slightly thicker traces for power (for visibility as much as current)&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Differential‑pair routing for USB data&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Short ground connections dropped straight into vias&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Gradual refinement rather than perfection on the first pass&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Although the board &lt;em&gt;could&lt;/em&gt; be routed with two layers, Clem switches to four layers for EMC reasons.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Four layer boards are usually done because of EMC&amp;hellip; even if you don&amp;rsquo;t really require them for routing.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1jmb3golde"&gt;Step 11: Ground Planes, Stitching, and &amp;ldquo;Good Enough&amp;rdquo; EMC&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Ground planes are added and stitched together with vias.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem&amp;rsquo;s philosophy here is pragmatic:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Solid ground connectivity is almost always beneficial&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Via stitching is cheap&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Modern PCB fabs don&amp;rsquo;t penalise you for doing it properly&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This isn&amp;rsquo;t about theoretical perfection, it&amp;rsquo;s about robust, real‑world boards.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldf"&gt;Step 12: Label, Document, and Sanity‑Check Everything&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Before ordering, Clem:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds clear silkscreen labels (front and back)&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds version numbers&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds licensing information (CC BY‑SA, matching Arduino)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Then he runs KiCad&amp;rsquo;s Design Rules Checker.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;That would have been a really bad mistake.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Several issues are caught here &amp;mdash; exactly the kind that are easy to miss by eye.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldg"&gt;Step 13: From KiCad to Manufacturing&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Finally, Clem uploads the native KiCad project files directly to a PCB manufacturer.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;No Gerber export required.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;It&amp;rsquo;s very easy to go from a finished design to an order‑ready PCB.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This reflects a modern workflow where design, checking, and manufacturing are tightly linked.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldh"&gt;Getting Used to&amp;nbsp;Repeatable Process&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Check out Clem&amp;#39;s schematics below, inspect every decision, and recreate the project step by step alongside the video or out of your own curiosity.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;If this was too fast for you, check out the full unabridged version&amp;hellip; recreate the tutorial side by side.&amp;rdquo; - Clem&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;If you&amp;#39;d prefer a more abridged version, you can find it on our &lt;a title="YouTube Channel" href="https://www.youtube.com/@element14presents" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;YouTube Channel&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;By keeping the focus on real decisions, honest trade‑offs, and KiCad&amp;rsquo;s modern workflow, Clem delivers something more valuable than a feature tour: hopefully a practical way to start designing PCBs with confidence.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3sqb40"&gt;Supporting Files and Links&lt;/h2&gt;
&lt;p&gt;- &lt;a title="Austroduino Github Repository" href="https://github.com/mayermakes/Austroduino_tutorial" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Austroduino Github Repository&lt;/a&gt; (&lt;a title="Mirror Snapshot" href="/challenges-projects/element14-presents/m/files/151207" data-e14adj="t"&gt;Mirror Snapshot&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Your First Real PCB in KiCad : An Arduino Compatible Board Designed from Scratch</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72057/your-first-real-pcb-in-kicad-an-arduino-compatible-board-designed-from-scratch/revision/2</link><pubDate>Thu, 16 Apr 2026 12:17:21 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e3f585e3-4b21-4fda-b99d-ca01605d83b5</guid><dc:creator>cstanton</dc:creator><description>Revision 2 posted to Documents by cstanton on 4/16/2026 12:17:21 PM&lt;br /&gt;
&lt;p&gt;Clem takes on the challenge of designing a fully Arduino Uno&amp;ndash;compatible development board using KiCad, guiding viewers through the entire process from template selection to a manufacturing-ready PCB. Instead of abstract theory, the video focuses on real design decisions, including choosing an ATtiny3226 that doesn&amp;rsquo;t yet exist in an Uno form factor, handling USB‑C power and data safely, integrating UPDI programming, and avoiding common schematic and layout mistakes that can derail a first board. Along the way, Clem highlights practical hurdles&amp;mdash;such as matching symbols to real footprints, managing logic-level compatibility, routing USB data lines, and running proper design rule checks&amp;mdash;while explaining how KiCad&amp;rsquo;s tighter schematic-to-PCB integration makes iteration easier. The result is a clear, hands-on walkthrough that shows not just how to use KiCad, but how to think like a PCB designer when building reliable, reproducible hardware.&lt;/p&gt;
&lt;p&gt;Watch the Full Unedited KiCad Tutorial&lt;/p&gt;
&lt;p&gt;&lt;a href="https://players.brightcove.net/1362235890001/default_default/index.html?videoId=6393213823112"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jmb3gold0"&gt;A Hands‑On, Step‑by‑Step Introduction to KiCad&lt;/h2&gt;
&lt;p&gt;Designing a printed circuit board can feel intimidating at first, especially if you&amp;rsquo;ve never used a professional‑grade CAD tool before. KiCad exists to lower that barrier. KiCad is a free, open‑source, cross‑platform PCB design suite that brings schematic capture, PCB layout, 3D visualisation, and manufacturing outputs into one integrated workflow. Clem uses KiCad exactly as it&amp;rsquo;s meant to be used: not as a collection of isolated tools, but as a complete, end‑to‑end design environment. Clem walks through the full design of a real, buildable board, following the same workflow you&amp;rsquo;d use on an actual engineering project.&lt;/p&gt;
&lt;div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Rather than focusing on theory, this is something useful that you could use in your electronics journey if you follow along.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;You can follow along with this blog, but the meat of the guide is in Clem&amp;#39;s extended video.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jmb3gold1"&gt;Why KiCad, and Why This Project?&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;KiCad is chosen because it:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keeps schematic and PCB views tightly linked&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Allows one‑click updates from schematic to layout&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Has built‑in electrical and design rule checking&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Is supported directly by modern PCB manufacturers&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That makes it especially well‑suited to beginners who want professional results without commercial licensing costs. Just as importantly, Clem chooses a real project: an Arduino Uno compatible development board.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Arduino&amp;rsquo;s hardware is open source, which means you&amp;rsquo;re allowed to design your own versions.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Arduino is open source, so you can make your own version. I&amp;rsquo;m going to use one that doesn&amp;rsquo;t exist yet.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The board uses an ATtiny3226, a modern AVR that can run at both 3.3 V and 5 V &amp;mdash; a decision that influences almost every design step that follows.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold2"&gt;Step 1: Start Smart - Create a Project from a Template&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of starting with a blank canvas, Clem uses project templates.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In File &amp;rarr; New Project from Template, KiCad offers ready‑made templates for platforms like:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Arduino&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Raspberry Pi&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;BeagleBone&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Other common form factors&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem selects the Arduino Uno template, which immediately locks down:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Board outline&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Mounting hole positions&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Header spacing and alignment&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;If you want to adhere to a specific pinout or standard of board&amp;hellip; you choose a new project from template.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This eliminates an entire class of mechanical errors &lt;em&gt;before&lt;/em&gt; any schematic work begins &amp;mdash; shields will fit, headers will line up, and the board will physically behave like an Arduino.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold3"&gt;Step 2: Understand KiCad&amp;rsquo;s Two Core Editors&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At this point, Clem pauses to explain how KiCad is structured.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;KiCad is made up of several tools, but two matter most here:&lt;/div&gt;
&lt;h3 id="mcetoc_1jmb3gold4"&gt;The Schematic Editor&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where &lt;strong&gt;electrical intent&lt;/strong&gt; lives:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;What connects to what&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Power distribution&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Signal naming&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Functional grouping&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jmb3gold5"&gt;The PCB Editor&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where those electrical connections become:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Pads&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Tracks&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Vias&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Copper planes&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;A key KiCad improvement is how &lt;strong&gt;tightly these are linked&lt;/strong&gt;. Clem keeps both open at the same time, often on separate screens. Clicking a component in one highlights it in the other.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That feedback loop is what makes KiCad feel fast instead of fragile.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold6"&gt;Step 3: Schematic First - Think Function, Not Appearance&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem&amp;rsquo;s first real design rule is simple:&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Don&amp;rsquo;t think about how the board will look when you&amp;rsquo;re doing the schematic. This is only about the function.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In the schematic editor, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Places &lt;em&gt;all&lt;/em&gt; required components first&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Uses labels instead of long wires to keep things readable&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Uses global labels for power nets&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Marks unused pins with no‑connect flags&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;These habits work directly with KiCad&amp;rsquo;s Electrical Rules Checker (ERC), which will later flag:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Missing connections&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Forgotten pins&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Ambiguous nets&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where a lot of beginners go wrong, and where KiCad actively helps you catch mistakes early.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold7"&gt;Step 4: Design Power with Flexibility in Mind&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of hard‑coding a single operating voltage, Clem designs for &lt;strong&gt;choice&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The ATtiny3226 can run at either &lt;strong&gt;3.3 V or 5 V&lt;/strong&gt;, so Clem adds:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A USB‑derived 5 V rail&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A regulator to generate 3.3 V&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A jumper that selects which voltage powers the microcontroller&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;This chip can do both if you want to&amp;hellip; I want to have adjustable operating voltage, which in turn changes the logic levels.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the board is &lt;strong&gt;USB‑powered only&lt;/strong&gt;, this decision affects:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Regulator choice&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;USB protection&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Logic‑level compatibility across the board&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This step shows how &lt;strong&gt;early architectural decisions ripple forward&lt;/strong&gt; into later design stages.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold8"&gt;Step 5: Add USB‑C &amp;mdash; but Keep It Sensible&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;USB‑C often scares people off. Clem deliberately avoids that by targeting &lt;strong&gt;USB 2.0 only&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That keeps routing manageable while still delivering modern connectivity.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Key points Clem covers:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Correct CC resistors so the board actually gets power&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A Schottky diode to prevent back‑powering a PC&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Choosing a USB‑to‑UART bridge that tolerates both 3.3 V and 5 V logic&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;One thing I always check in the datasheet is: can this part really work with the different logic levels that I want?&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the ATtiny3226 doesn&amp;rsquo;t natively support USB, the USB‑to‑UART chip becomes a realistic, well‑explained trade‑off.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3gold9"&gt;Step 6: Build UPDI Programming Directly Onto the Board&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of relying on an external programmer, Clem integrates UPDI programming directly.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Using a dual‑throw switch, the same USB connection can be switched between:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;UPDI programming mode&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Normal UART operation&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;We&amp;rsquo;re building our programmer directly into the board&amp;hellip; this lets us choose between UPDI mode and normal operation.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This section highlights an important engineering habit: reusing proven design patterns, but understanding why they work instead of blindly copying them.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3golda"&gt;Step 7: Assign Symbols and Footprints That Match Reality&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the schematic is complete, Clem moves into a step that beginners often underestimate: &lt;strong&gt;footprints&lt;/strong&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Rather than trusting generic placeholders, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Downloads manufacturer‑provided symbols and footprints&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Imports them into KiCad&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Cleans them up so pin names and orientation match the real parts&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;It&amp;rsquo;s better to have a symbol and a footprint that actually belong to each other.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This dramatically reduces the risk of assembly errors later and plays directly to KiCad&amp;rsquo;s strong library‑management tools.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldb"&gt;Step 8: Push the Schematic into the PCB Editor&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With footprints assigned, Clem clicks Update PCB from Schematic.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;All components appear on the board, connected by thin lines called the ratsnest. Nothing is routed yet, this is KiCad showing &lt;em&gt;what must eventually connect&lt;/em&gt;.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where schematic decisions start paying off.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldc"&gt;Step 9: Place Components Before Routing&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem doesn&amp;rsquo;t route immediately.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead, he:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Places the microcontroller first&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Moves connectors to board edges&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keeps decoupling capacitors close to their ICs&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Groups related circuitry together&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;I get them in the general area first, and then I move them while I&amp;rsquo;m routing.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Good placement makes routing easier, cleaner, and less frustrating.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldd"&gt;Step 10: Route the Board Iteratively&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Routing starts with the easy connections and builds up.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem demonstrates:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Slightly thicker traces for power (for visibility as much as current)&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Differential‑pair routing for USB data&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Short ground connections dropped straight into vias&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Gradual refinement rather than perfection on the first pass&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Although the board &lt;em&gt;could&lt;/em&gt; be routed with two layers, Clem switches to four layers for EMC reasons.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;Four layer boards are usually done because of EMC&amp;hellip; even if you don&amp;rsquo;t really require them for routing.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;h2 id="mcetoc_1jmb3golde"&gt;Step 11: Ground Planes, Stitching, and &amp;ldquo;Good Enough&amp;rdquo; EMC&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Ground planes are added and stitched together with vias.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Clem&amp;rsquo;s philosophy here is pragmatic:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Solid ground connectivity is almost always beneficial&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Via stitching is cheap&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Modern PCB fabs don&amp;rsquo;t penalise you for doing it properly&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This isn&amp;rsquo;t about theoretical perfection, it&amp;rsquo;s about robust, real‑world boards.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldf"&gt;Step 12: Label, Document, and Sanity‑Check Everything&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Before ordering, Clem:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds clear silkscreen labels (front and back)&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds version numbers&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Adds licensing information (CC BY‑SA, matching Arduino)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Then he runs KiCad&amp;rsquo;s Design Rules Checker.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;That would have been a really bad mistake.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Several issues are caught here &amp;mdash; exactly the kind that are easy to miss by eye.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldg"&gt;Step 13: From KiCad to Manufacturing&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Finally, Clem uploads the native KiCad project files directly to a PCB manufacturer.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;No Gerber export required.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;It&amp;rsquo;s very easy to go from a finished design to an order‑ready PCB.&amp;rdquo;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This reflects a modern workflow where design, checking, and manufacturing are tightly linked.&lt;/div&gt;
&lt;h2 id="mcetoc_1jmb3goldh"&gt;Getting Used to&amp;nbsp;Repeatable Process&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Check out Clem&amp;#39;s schematics below, inspect every decision, and recreate the project step by step alongside the video or out of your own curiosity.&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&amp;ldquo;If this was too fast for you, check out the full unabridged version&amp;hellip; recreate the tutorial side by side.&amp;rdquo; - Clem&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;If you&amp;#39;d prefer a more abridged version, you can find it on our &lt;a title="YouTube Channel" href="https://www.youtube.com/@element14presents" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;YouTube Channel&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;By keeping the focus on real decisions, honest trade‑offs, and KiCad&amp;rsquo;s modern workflow, Clem delivers something more valuable than a feature tour: hopefully a practical way to start designing PCBs with confidence.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Supporting Files and Links&lt;/p&gt;
&lt;p&gt;- &lt;a title="Austroduino Github Repository" href="https://github.com/mayermakes/Austroduino_tutorial" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Austroduino Github Repository&lt;/a&gt; (Mirror Snapshot)&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Your First Real PCB in KiCad : An Arduino Compatible Board Designed from Scratch</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72057/your-first-real-pcb-in-kicad-an-arduino-compatible-board-designed-from-scratch/revision/1</link><pubDate>Thu, 16 Apr 2026 11:32:32 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e3f585e3-4b21-4fda-b99d-ca01605d83b5</guid><dc:creator>cstanton</dc:creator><description>Revision 1 posted to Documents by cstanton on 4/16/2026 11:32:32 AM&lt;br /&gt;
&lt;p&gt;Clem takes on the challenge of designing a fully Arduino Uno&amp;ndash;compatible development board using KiCad, guiding viewers through the entire process from template selection to a manufacturing-ready PCB. Instead of abstract theory, the video focuses on real design decisions, including choosing an ATtiny3226 that doesn&amp;rsquo;t yet exist in an Uno form factor, handling USB‑C power and data safely, integrating UPDI programming, and avoiding common schematic and layout mistakes that can derail a first board. Along the way, Clem highlights practical hurdles&amp;mdash;such as matching symbols to real footprints, managing logic-level compatibility, routing USB data lines, and running proper design rule checks&amp;mdash;while explaining how KiCad&amp;rsquo;s tighter schematic-to-PCB integration makes iteration easier. The result is a clear, hands-on walkthrough that shows not just how to use KiCad, but how to think like a PCB designer when building reliable, reproducible hardware.&lt;/p&gt;
&lt;p&gt;Watch the Full Unedited KiCad Tutorial&lt;/p&gt;
&lt;p&gt;&lt;a href="https://players.brightcove.net/1362235890001/default_default/index.html?videoId=6393213823112"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>DIY Raspberry Pi Cyberdeck -- Episode 488</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/5233/diy-raspberry-pi-cyberdeck----episode-488</link><pubDate>Mon, 13 Apr 2026 17:12:18 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ded4aa9d-3983-497a-bda2-8989f11c5dd1</guid><dc:creator>cstanton</dc:creator><description>Current Revision posted to Documents by cstanton on 4/13/2026 5:12:18 PM&lt;br /&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;DJ Harrigan sets out to build a cyberdeck that&amp;rsquo;s less about chasing sci‑fi perfection and more about making something genuinely fun, usable, and a bit strange. Using a Raspberry Pi 4 as the core, he works through the real challenges of squeezing power, audio, buttons, a touchscreen, and a battery into a portable case, running into quirks along the way like Raspberry Pi audio wiring oddities and the realities of power draw. Instead of copying a laptop, he leans into big clicky buttons, a chunky volume knob, exposed connections, and a custom case that looks and feels purpose‑built. The end result is &amp;ldquo;just a Raspberry Pi in a cool case,&amp;rdquo; but one that&amp;rsquo;s far more satisfying to use&amp;mdash;and a solid starting point for future hacks, experiments, and whatever those buttons end up doing next.&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=SbsDHF9X6fU"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jm3sf1fe0" style="margin:0;"&gt;DJ Harrigan&amp;rsquo;s Cyberdeck as a Portable Computing Manifesto&lt;/h2&gt;
&lt;p&gt;Long before laptops became sleek slabs of aluminium and glass, science fiction imagined computers as strange, personal artefacts, purpose‑built tools that reflected their user as much as their function. One of the most enduring of these ideas is the cyberdeck, a term popularised in the cyberpunk fiction of William Gibson. In those stories, a cyberdeck was not just a computer; it was an interface to another world, rugged, idiosyncratic, and deeply personal.&lt;/p&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;They&amp;#39;re also cool.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000068.png" /&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h2 id="mcetoc_1jm3sf1fe1"&gt;Defining the Cyberdeck&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Cyberdecks, by their very nature, are loosely defined objects, so the project is guided by three self‑imposed rules:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;It must be &lt;strong&gt;functional&lt;/strong&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;It must be &lt;strong&gt;unique or weird&lt;/strong&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;And it must &lt;strong&gt;look cool&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That framing becomes important later, no integrated keyboard, exposed power rails, oversized buttons. This is not a laptop replacement. It is a deliberate rejection of the laptop metaphor.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;To keep the build grounded, Harrigan breaks the system down into four classic electronic subsystems: &lt;strong&gt;control&lt;/strong&gt;, &lt;strong&gt;input&lt;/strong&gt;, &lt;strong&gt;output&lt;/strong&gt;, and &lt;strong&gt;power&lt;/strong&gt;. This structure not only clarifies the design process but makes the project far more approachable for anyone looking to recreate or adapt it.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000070.png" /&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jm3sf1fe2"&gt;Control and Processing: Why the Raspberry Pi 4 Makes Sense&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At the heart of the cyberdeck is the Raspberry Pi 4 Model B, chosen not for novelty but for practicality. Harrigan describes wanting something he could genuinely use as a portable development machine, and the Pi 4 is well suited to that role.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Technically, the Raspberry Pi 4 represents a significant step up from earlier models. With a quad‑core 64‑bit Cortex‑A72 CPU running at 1.5 GHz, up to 4 GB or 8 GB of LPDDR4 RAM, USB 3.0, true Gigabit Ethernet, and dual‑display support up to 4K, it comfortably supports desktop Linux workflows while remaining compact and power‑efficient. Most of this is overkill for what we want, you can get away with a Raspberry Pi Zero which may be better suited, but this was available at the time.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Equally important is its I/O flexibility. The 40‑pin GPIO header, CSI camera interface, DSI display connector, and analogue audio output allow the cyberdeck to integrate tightly without resorting to bulky adapters or internal HDMI cabling, something Harrigan is keen to avoid in a portable enclosure.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000083.png" /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h2 id="mcetoc_1jm3sf1fe3"&gt;Display and Visual Output&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For the primary interface, Harrigan selects the Official Raspberry Pi 7‑inch Touchscreen Display. The choice is pragmatic rather than flashy. The display connects directly via the Pi&amp;rsquo;s DSI port, requiring only a ribbon cable and GPIO power, which dramatically simplifies internal wiring.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With a resolution of 800 &amp;times; 480 pixels, 10‑finger capacitive touch, and solid mounting points on the rear, the display is well suited to embedded projects where reliability and integration matter more than raw pixel density. Harrigan highlights its efficiency and rigidity, noting that the screen itself becomes a structural element of the enclosure&amp;mdash;a subtle but important mechanical advantage.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The touchscreen also reinforces the decision to omit a built‑in keyboard. Instead of replicating a laptop layout, the cyberdeck leans into touch interaction and external peripherals when needed.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000176.png" /&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h2 id="mcetoc_1jm3sf1fe4"&gt;Vision and Future Learning: Integrating the Raspberry Pi Camera&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Mounted discreetly on the rear of the enclosure is a Raspberry Pi Camera Module, included not as a gimmick but as a learning tool. Harrigan explicitly frames this as an investment in future exploration, particularly in computer vision.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The Raspberry Pi camera ecosystem benefits from a high‑bandwidth CSI interface, allowing direct sensor data transfer without USB overhead. Even earlier camera modules support HD video and multi‑megapixel stills, while newer variants extend this significantly. In a cyberdeck context, the camera transforms the device from a passive computer into an active sensing platform, capable of image processing, augmented interfaces, or environmental awareness.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000156.png" /&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h2 id="mcetoc_1jm3sf1fe5"&gt;Audio Output&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Audio is handled by a 10 W, 4 &amp;Omega; speaker, driven by a SparkFun Mono Audio Amplifier (3 W). While the speaker&amp;rsquo;s rated power exceeds what the amplifier can deliver, this pairing provides headroom and clarity without stressing the electronics.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The amplifier&amp;rsquo;s support for analogue volume control via a 10 k&amp;Omega; audio‑taper potentiometer allows Harrigan to add a satisfyingly large physical knob to the enclosure&amp;mdash;another deliberate rejection of purely digital controls. Compact Class‑D amplifiers like this are highly efficient, making them ideal for battery‑powered systems where heat and power loss matter.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;One subtle but important technical detail Harrigan highlights is the Raspberry Pi&amp;rsquo;s TRRS audio jack pinout, where composite video and ground are swapped compared to many standard breakouts. Correctly handling this avoids noise and grounding issues, an easy trap for first‑time builders.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000136.png" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000120.png" /&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h2 id="mcetoc_1jm3sf1fe6"&gt;Power Architecture&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Power is often where portable projects fall apart, and Harrigan treats it accordingly. The cyberdeck is powered by a 26650 lithium‑ion cell rated at approximately 5200 mAh, chosen for its ability to supply high current without significant voltage sag.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because lithium‑ion cells operate at a nominal 3.7 V, the system relies on a high‑power 5 V boost converter capable of delivering up to 25 W, enough to handle the Raspberry Pi, display, audio system, and peripherals simultaneously. Charging is handled by a SparkFun LiPo Charger, prioritising safety and simplicity over fast charging.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Harrigan is candid about the trade‑offs: this is not a daily‑driver laptop, and overnight charging is perfectly acceptable. That honesty is refreshing and instructive for anyone designing battery‑powered builds.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000232.png" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000207.png" /&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000260.png" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000205.png" /&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h2 id="mcetoc_1jm3sf1fe7"&gt;Enclosure Design: Where the Cyberdeck Becomes Itself&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The enclosure is where the project truly earns its name. Designed in Autodesk Fusion 360, the case combines 3D‑printed PLA components with machined aluminium front and rear plates cut from a 1/16‑inch aluminium sheet. The result is a structure that is rigid without being bulky.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At roughly 330 mm long, 140 mm tall, and 50 mm thick, the cyberdeck avoids the &amp;ldquo;lunchbox computer&amp;rdquo; trap while still feeling substantial. The asymmetrical handle, exposed banana‑plug power outputs, and deliberate absence of a keyboard all contribute to an object that feels purpose‑built rather than consumer‑polished.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Importantly, the design is optimised for replication. The main printed parts require no supports and fit within the build volume of common hobbyist printers, making the project accessible rather than aspirational.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h2 id="mcetoc_1jm3t0gaoc"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/8233.interval_5F00_000324.png" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000427.png" /&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1jm3sf1fe8"&gt;Assembly, Testing, and Reflection&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Internally, the wiring is clean and methodical. Power flows from battery to charger, through a physical power switch, into the boost converter, and then out to shared 5 V rails. A Permaproto half board provides reliable distribution and strain relief, an often overlooked detail that dramatically improves long‑term durability.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;On first power‑up, illuminated buttons confirm power delivery, the Raspberry Pi boots cleanly into Raspberry Pi OS, and the system comes alive without drama. As Harrigan reflects, it is &amp;ldquo;just a Raspberry Pi in a cool case&amp;rdquo;, and yet far more satisfying to use than expected.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div id="copilot-message-r7q" class="fai-CopilotMessage__content r1izxv8h ___7qar2c0 fcthzvy" dir="auto"&gt;
&lt;div dir="auto"&gt;
&lt;div class="___1vve6yh f22iagw f1vx9l62 f122n59 f3bhgqh f1mnxvew fly5x3f"&gt;
&lt;div class="___j4vmuw0 f22iagw f1vx9l62 f1869bpl fly5x3f fbc6vix"&gt;
&lt;div data-testid="loading-message" data-fui-focus-visible=""&gt;
&lt;div id="chatMessageResponse-cfcbc8ad-17c9-d0f2-d257-12af20cf7536"&gt;
&lt;div id="response-idr7o" class="___1yop6mf f336tjw f9ijwd5 fz7g6wx fod5ikn f1s184ao"&gt;
&lt;div class="___1j4t0a1 f1lmfglv f1abmfm4" dir="auto" data-testid="markdown-reply" data-message-type="Chat"&gt;
&lt;div class="___1obcdld f22iagw f1vx9l62 f1i1t7jz fk15e71 f1k953kz f137keqj f1rncccw f1stllg3 f1w4kmmc f1tric3v f10dk5ic fx8cdsv f16nlwsl f1eookvz fhjrts3 fqugt2f f18d18k8 f1v1vhmp f1hdmul3 f198vjnp f2dshw1 fjpjndq fnmj2pj ffrrb40 f1mon110 fhajzam fimndk6 fxv4dng fb1rn9k f59wlhv f1xmfh30 f18yf5o5 fmr6chf fw8qy2q ff161sd f1qr7t77 f1yyogn1 foogchg fp5872b f1tpb8gf f1hdgrc8 f1vatr43 frkxccd f9pdzkb f158oiaz ft5kggy f5l4ui7 f13j03li f18xdoka f8off4e f1go6zfc f128n2ra f1jpxw2j f1lwd9n0 fy0b8hm f1g2633v fx4kvgi fkvolse f1gxrt3a f1os76ua f1js9cnw f1g87ej0 freluf8 f1yggaq6 f2i3chp f1151osp florpoh f35kzfz ftp9m57 f1e288vi fz62hnz fixvuys f1nmofwh fc1c6mv f18a2er7 fhvkrdl fhxnn68 f1oce4bo fvhlfan f7tc0t0 f1ngf1n2 ffrzq6x f1yjiq2m f1aqdgql f1huvaf f10ij78l f1k94sa4 fkmfumq f1jvzkyl f1eu24ob f1xbfc1f fmf0lwf f107dsy8 f3w566c f4648sl f13zpkng f7unjfp f8p1rz fzu6h1w f1i1bi6h f1smo7hi f1sk1xod f1kgogdq f1gjktkp ft608jz f19dd9cz fg3xr24 fhd155k f1b8gl2e fg4b9ou flb4lo fdicbfk fgwcyh1 f1jbds0d f1fb9uea f1stuka4 fcrtu6g fwqh0xn f11w66yg f6e0e65 f1vvgu0 f1607507 fgct6un f1ec1nbe f1m9bycv f1ntoah8 f1b694rt faql4r2 fpjuhzh fmavl6h f1d9bsk fmzhlt0 f145l92p fwkyaqm f129obh1 f19la9g f127w39w fr0ux9m fxhidck f1cu4h9j f1wnbo7v f1eueg4z fy9c24f f1h2o91j f1iw08fq"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;What ultimately defines this cyberdeck is not what it does today, but what it invites next. The unused buttons, expansion ports, and exposed power rails are not flaws; they are deliberate openings. Harrigan openly asks how it should evolve, and by extension, how others might build their own.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In that sense, this project succeeds on every level it set out to address. It is functional. It is weird. And it looks undeniably cool.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;More than that, it reminds us that personal computing does not have to converge toward a single shape. Sometimes, the future looks like a strange box with too many buttons, and that is exactly the point.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="fai-CopilotMessage__footnote r1bn3aft ___7qar2c0 fcthzvy"&gt;
&lt;div class="___648pct0 f1lmfglv f527xm8 f1hdris8" dir="ltr" data-testid="foot-note-div"&gt;
&lt;div class="___1hfwpdv f22iagw f122n59 f1kijzfu f1k6fduh fma2jfi f1ltdqvm f1acs6jw f19jf40t f15tpi3i f1p4tn7c f5ogflp f1hqa2wf f1f09k3d finvdd3 fzkkow9 fcdblym fg706s2 fjik90z fj7vv53 f1baojfw fdllttx f9vz5qz f1dmdbja f1uvynv3 f12eztma" data-testid="sources-button-testid" data-stable-ignore="true"&gt;
&lt;div class="___16sus6k f22iagw f6jr5hl frfjzgd f4xv25i"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000437.png" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000450.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000451.png" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000443.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jm3sf1fea"&gt;&lt;span style="color:#3334ca;"&gt;Products and Parts Used:&lt;/span&gt;&lt;/h2&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #C6C6C6;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#f2f2f2;border:1px solid #C6C6C6;color:#505050;padding:6px;text-align:left;"&gt;Product Name&lt;/th&gt;
&lt;th style="background-color:#f2f2f2;border:1px solid #C6C6C6;color:#505050;padding:6px;text-align:left;"&gt;Manufacturer&lt;/th&gt;
&lt;th style="background-color:#f2f2f2;border:1px solid #C6C6C6;color:#505050;padding:6px;text-align:left;"&gt;Quantity&lt;/th&gt;
&lt;th style="background-color:#f2f2f2;border:1px solid #C6C6C6;color:#505050;padding:6px;text-align:left;"&gt;&lt;span&gt;&lt;a id="e14-product-link-6771f" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3051887,2473872,2828655,2521753,2510728,2787059,2396034,1126943~5,1164410,1148223~5&amp;nsku=02AH3164,49Y1712,44AC4191,49AC7645,77Y6521,64AH9552,75K7874,58K3818~5,76K1156,24M9589~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('6771f'));" data-farnell="3051887~1,2473872~1,2828655~1,2521753~1,2510728~1,2787059~1,2396034~1,1126943~5,1164410~1,1148223~5" data-newark="02AH3164~1,49Y1712~1,44AC4191~1,49AC7645~1,77Y6521~1,64AH9552~1,75K7874~1,58K3818~5,76K1156~1,24M9589~5" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/span&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi 4&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-f097b" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=3051887&amp;nsku=02AH3164&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f097b'));" data-farnell="3051887~1" data-newark="02AH3164~1" data-comoverride="" data-cmpoverride="" data-cpc="SC15185" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi Display&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-d50ce" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2473872&amp;nsku=49Y1712&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('d50ce'));" data-farnell="2473872~1" data-newark="49Y1712~1" data-comoverride="" data-cmpoverride="" data-cpc="SC13858" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;PLA Filament&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;VERBATIM&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-16f96" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2828655&amp;nsku=44AC4191&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('16f96'));" data-farnell="2828655~1" data-newark="44AC4191~1" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;microSD Card&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Transcend&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-73a76" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2521753&amp;nsku=49AC7645&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('73a76'));" data-farnell="2521753~1" data-newark="49AC7645~1" data-comoverride="" data-cmpoverride="" data-cpc="SC14027" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi Camera&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-31887" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2510728&amp;nsku=77Y6521&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('31887'));" data-farnell="2510728~1" data-newark="77Y6521~1" data-comoverride="" data-cmpoverride="" data-cpc="SC14028" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;10W 4Ohm Speaker&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Visaton&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-2da8e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2787059&amp;nsku=64AH9552&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('2da8e'));" data-farnell="2787059~1" data-newark="64AH9552~1" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;10K Audio Taper Potentiometer&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Bourns&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-58107" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2396034&amp;nsku=75K7874&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('58107'));" data-farnell="2396034~1" data-newark="75K7874~1" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;180R Resistor 1/8W&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;5&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-342be" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=1126943~5&amp;nsku=58K3818~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('342be'));" data-farnell="1126943~5" data-newark="58K3818~5" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Rocker Switch&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Carling Technologies&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-c5d26" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=1164410&amp;nsku=76K1156&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('c5d26'));" data-farnell="1164410~1" data-newark="76K1156~1" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Latching Pushbutton Switch&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;SCHWEITZER&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;5&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-ba21f" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=1148223~5&amp;nsku=24M9589~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ba21f'));" data-farnell="1148223~5" data-newark="24M9589~5" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&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;h2 id="mcetoc_1jm3sf1feb"&gt;&lt;span style="color:#3334ca;"&gt;Additional Parts:&lt;/span&gt;&lt;/h2&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:left;" valign="middle"&gt;&lt;strong&gt;Product Name&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;26650 Cell&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;USB female panel jack&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;(10x) M3x10 screw&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;2&amp;#39;x2&amp;#39; 1/16&amp;quot; aluminum sheet&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Sparkfun mono amplifier 3W&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Sparkfun LiPoly Charger&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;(40x) 6-32 x 3/8&amp;quot;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Permaproto half board&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;C Cell Battery Contacts&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="migration-injected-attachments"&gt;
&lt;div style="font-weight:bold;margin:15px 0 5px 0;"&gt;Supporting Links and 3D Model Downloads:&lt;/div&gt;
&lt;div style="font-weight:bold;margin:15px 0 5px 0;"&gt;-&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/151059"&gt;Episode 488 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;table style="border:0;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;&lt;span id="attid_https://www.element14.com/community/api/core/v3/attachments/313734" class="_se_attachment"&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;span style="font-size:18px;font-weight:bold;"&gt;DIY Raspberry Pi Cyberdeck&lt;/span&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 Presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/vcp-program/w/documents/3796/vcp-biography-dj" data-e14adj="t"&gt;About DJ&lt;/a&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: portable development platform, gpio button interface, fusion 360 enclosure, embedded linux device, diy electronics fabrication, e14p_DJ, raspberry pi cyberdeck, maker electronics build, diy cyberpunk computer, cyberdeck build, custom raspberry pi case, cyberpunk hardware design, battery powered pi, friday_release, portable maker computer, single board computer project, e14presents_djharrigan&lt;/div&gt;
</description></item><item><title>DIY Raspberry Pi Cyberdeck -- Episode 488</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/5233/diy-raspberry-pi-cyberdeck----episode-488/revision/7</link><pubDate>Mon, 13 Apr 2026 16:54:36 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ded4aa9d-3983-497a-bda2-8989f11c5dd1</guid><dc:creator>cstanton</dc:creator><description>Revision 7 posted to Documents by cstanton on 4/13/2026 4:54:36 PM&lt;br /&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;DJ Harrigan sets out to build a cyberdeck that&amp;rsquo;s less about chasing sci‑fi perfection and more about making something genuinely fun, usable, and a bit strange. Using a Raspberry Pi 4 as the core, he works through the real challenges of squeezing power, audio, buttons, a touchscreen, and a battery into a portable case, running into quirks along the way like Raspberry Pi audio wiring oddities and the realities of power draw. Instead of copying a laptop, he leans into big clicky buttons, a chunky volume knob, exposed connections, and a custom case that looks and feels purpose‑built. The end result is &amp;ldquo;just a Raspberry Pi in a cool case,&amp;rdquo; but one that&amp;rsquo;s far more satisfying to use&amp;mdash;and a solid starting point for future hacks, experiments, and whatever those buttons end up doing next.&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=SbsDHF9X6fU"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:0;"&gt;DJ Harrigan&amp;rsquo;s Cyberdeck as a Portable Computing Manifesto&lt;/h2&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Long before laptops became sleek slabs of aluminium and glass, science fiction imagined computers as strange, personal artefacts, purpose‑built tools that reflected their user as much as their function. One of the most enduring of these ideas is the cyberdeck, a term popularised in the cyberpunk fiction of William Gibson. In those stories, a cyberdeck was not just a computer; it was an interface to another world, rugged, idiosyncratic, and deeply personal.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;They&amp;#39;re also cool.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h2&gt;Defining the Cyberdeck&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Cyberdecks, by their very nature, are loosely defined objects, so the project is guided by three self‑imposed rules:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;It must be &lt;strong&gt;functional&lt;/strong&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;It must be &lt;strong&gt;unique or weird&lt;/strong&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;And it must &lt;strong&gt;look cool&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That framing becomes important later, no integrated keyboard, exposed power rails, oversized buttons. This is not a laptop replacement. It is a deliberate rejection of the laptop metaphor.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;To keep the build grounded, Harrigan breaks the system down into four classic electronic subsystems: &lt;strong&gt;control&lt;/strong&gt;, &lt;strong&gt;input&lt;/strong&gt;, &lt;strong&gt;output&lt;/strong&gt;, and &lt;strong&gt;power&lt;/strong&gt;. This structure not only clarifies the design process but makes the project far more approachable for anyone looking to recreate or adapt it.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2&gt;Control and Processing: Why the Raspberry Pi 4 Makes Sense&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At the heart of the cyberdeck is the Raspberry Pi 4 Model B, chosen not for novelty but for practicality. Harrigan describes wanting something he could genuinely use as a portable development machine, and the Pi 4 is well suited to that role.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Technically, the Raspberry Pi 4 represents a significant step up from earlier models. With a quad‑core 64‑bit Cortex‑A72 CPU running at 1.5 GHz, up to 4 GB or 8 GB of LPDDR4 RAM, USB 3.0, true Gigabit Ethernet, and dual‑display support up to 4K, it comfortably supports desktop Linux workflows while remaining compact and power‑efficient. Most of this is overkill for what we want, you can get away with a Raspberry Pi Zero which may be better suited, but this was available at the time.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Equally important is its I/O flexibility. The 40‑pin GPIO header, CSI camera interface, DSI display connector, and analogue audio output allow the cyberdeck to integrate tightly without resorting to bulky adapters or internal HDMI cabling, something Harrigan is keen to avoid in a portable enclosure.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2&gt;Display and Visual Output&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For the primary interface, Harrigan selects the Official Raspberry Pi 7‑inch Touchscreen Display. The choice is pragmatic rather than flashy. The display connects directly via the Pi&amp;rsquo;s DSI port, requiring only a ribbon cable and GPIO power, which dramatically simplifies internal wiring.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With a resolution of 800 &amp;times; 480 pixels, 10‑finger capacitive touch, and solid mounting points on the rear, the display is well suited to embedded projects where reliability and integration matter more than raw pixel density. Harrigan highlights its efficiency and rigidity, noting that the screen itself becomes a structural element of the enclosure&amp;mdash;a subtle but important mechanical advantage.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The touchscreen also reinforces the decision to omit a built‑in keyboard. Instead of replicating a laptop layout, the cyberdeck leans into touch interaction and external peripherals when needed.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2&gt;Vision and Future Learning: Integrating the Raspberry Pi Camera&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Mounted discreetly on the rear of the enclosure is a Raspberry Pi Camera Module, included not as a gimmick but as a learning tool. Harrigan explicitly frames this as an investment in future exploration, particularly in computer vision.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The Raspberry Pi camera ecosystem benefits from a high‑bandwidth CSI interface, allowing direct sensor data transfer without USB overhead. Even earlier camera modules support HD video and multi‑megapixel stills, while newer variants extend this significantly. In a cyberdeck context, the camera transforms the device from a passive computer into an active sensing platform, capable of image processing, augmented interfaces, or environmental awareness.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2&gt;Audio Output&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Audio is handled by a 10 W, 4 &amp;Omega; speaker, driven by a SparkFun Mono Audio Amplifier (3 W). While the speaker&amp;rsquo;s rated power exceeds what the amplifier can deliver, this pairing provides headroom and clarity without stressing the electronics.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The amplifier&amp;rsquo;s support for analogue volume control via a 10 k&amp;Omega; audio‑taper potentiometer allows Harrigan to add a satisfyingly large physical knob to the enclosure&amp;mdash;another deliberate rejection of purely digital controls. Compact Class‑D amplifiers like this are highly efficient, making them ideal for battery‑powered systems where heat and power loss matter.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;One subtle but important technical detail Harrigan highlights is the Raspberry Pi&amp;rsquo;s TRRS audio jack pinout, where composite video and ground are swapped compared to many standard breakouts. Correctly handling this avoids noise and grounding issues, an easy trap for first‑time builders.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2&gt;Power Architecture&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Power is often where portable projects fall apart, and Harrigan treats it accordingly. The cyberdeck is powered by a 26650 lithium‑ion cell rated at approximately 5200 mAh, chosen for its ability to supply high current without significant voltage sag.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because lithium‑ion cells operate at a nominal 3.7 V, the system relies on a high‑power 5 V boost converter capable of delivering up to 25 W, enough to handle the Raspberry Pi, display, audio system, and peripherals simultaneously. Charging is handled by a SparkFun LiPo Charger, prioritising safety and simplicity over fast charging.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Harrigan is candid about the trade‑offs: this is not a daily‑driver laptop, and overnight charging is perfectly acceptable. That honesty is refreshing and instructive for anyone designing battery‑powered builds.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2&gt;Enclosure Design: Where the Cyberdeck Becomes Itself&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The enclosure is where the project truly earns its name. Designed in Fusion 360, the case combines 3D‑printed PLA components with machined aluminium front and rear plates cut from a 1/16‑inch aluminium sheet. The result is a structure that is rigid without being bulky.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At roughly 330 mm long, 140 mm tall, and 50 mm thick, the cyberdeck avoids the &amp;ldquo;lunchbox computer&amp;rdquo; trap while still feeling substantial. The asymmetrical handle, exposed banana‑plug power outputs, and deliberate absence of a keyboard all contribute to an object that feels purpose‑built rather than consumer‑polished.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Importantly, the design is optimised for replication. The main printed parts require no supports and fit within the build volume of common hobbyist printers, making the project accessible rather than aspirational.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h2&gt;Assembly, Testing, and Reflection&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Internally, the wiring is clean and methodical. Power flows from battery to charger, through a physical power switch, into the boost converter, and then out to shared 5 V rails. A Permaproto half board provides reliable distribution and strain relief, an often overlooked detail that dramatically improves long‑term durability.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;On first power‑up, illuminated buttons confirm power delivery, the Raspberry Pi boots cleanly into Raspberry Pi OS, and the system comes alive without drama. As Harrigan reflects, it is &amp;ldquo;just a Raspberry Pi in a cool case&amp;rdquo;, and yet far more satisfying to use than expected.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;div id="copilot-message-r7q" class="fai-CopilotMessage__content r1izxv8h ___7qar2c0 fcthzvy" dir="auto"&gt;
&lt;div&gt;
&lt;div dir="auto"&gt;
&lt;div class="___1vve6yh f22iagw f1vx9l62 f122n59 f3bhgqh f1mnxvew fly5x3f"&gt;
&lt;div class="___j4vmuw0 f22iagw f1vx9l62 f1869bpl fly5x3f fbc6vix"&gt;
&lt;div data-testid="loading-message" data-fui-focus-visible=""&gt;
&lt;div&gt;
&lt;div id="chatMessageResponse-cfcbc8ad-17c9-d0f2-d257-12af20cf7536"&gt;
&lt;div id="response-idr7o" class="___1yop6mf f336tjw f9ijwd5 fz7g6wx fod5ikn f1s184ao"&gt;
&lt;div class="___1j4t0a1 f1lmfglv f1abmfm4" dir="auto" data-testid="markdown-reply" data-message-type="Chat"&gt;
&lt;div class="___1obcdld f22iagw f1vx9l62 f1i1t7jz fk15e71 f1k953kz f137keqj f1rncccw f1stllg3 f1w4kmmc f1tric3v f10dk5ic fx8cdsv f16nlwsl f1eookvz fhjrts3 fqugt2f f18d18k8 f1v1vhmp f1hdmul3 f198vjnp f2dshw1 fjpjndq fnmj2pj ffrrb40 f1mon110 fhajzam fimndk6 fxv4dng fb1rn9k f59wlhv f1xmfh30 f18yf5o5 fmr6chf fw8qy2q ff161sd f1qr7t77 f1yyogn1 foogchg fp5872b f1tpb8gf f1hdgrc8 f1vatr43 frkxccd f9pdzkb f158oiaz ft5kggy f5l4ui7 f13j03li f18xdoka f8off4e f1go6zfc f128n2ra f1jpxw2j f1lwd9n0 fy0b8hm f1g2633v fx4kvgi fkvolse f1gxrt3a f1os76ua f1js9cnw f1g87ej0 freluf8 f1yggaq6 f2i3chp f1151osp florpoh f35kzfz ftp9m57 f1e288vi fz62hnz fixvuys f1nmofwh fc1c6mv f18a2er7 fhvkrdl fhxnn68 f1oce4bo fvhlfan f7tc0t0 f1ngf1n2 ffrzq6x f1yjiq2m f1aqdgql f1huvaf f10ij78l f1k94sa4 fkmfumq f1jvzkyl f1eu24ob f1xbfc1f fmf0lwf f107dsy8 f3w566c f4648sl f13zpkng f7unjfp f8p1rz fzu6h1w f1i1bi6h f1smo7hi f1sk1xod f1kgogdq f1gjktkp ft608jz f19dd9cz fg3xr24 fhd155k f1b8gl2e fg4b9ou flb4lo fdicbfk fgwcyh1 f1jbds0d f1fb9uea f1stuka4 fcrtu6g fwqh0xn f11w66yg f6e0e65 f1vvgu0 f1607507 fgct6un f1ec1nbe f1m9bycv f1ntoah8 f1b694rt faql4r2 fpjuhzh fmavl6h f1d9bsk fmzhlt0 f145l92p fwkyaqm f129obh1 f19la9g f127w39w fr0ux9m fxhidck f1cu4h9j f1wnbo7v f1eueg4z fy9c24f f1h2o91j f1iw08fq"&gt;
&lt;h2&gt;Looking Forward: An Open‑Ended Platform&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;What ultimately defines this cyberdeck is not what it does today, but what it invites next. The unused buttons, expansion ports, and exposed power rails are not flaws; they are deliberate openings. Harrigan openly asks how it should evolve, and by extension, how others might build their own.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;In that sense, this project succeeds on every level it set out to address. It is functional. It is weird. And it looks undeniably cool.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;More than that, it reminds us that personal computing does not have to converge toward a single shape. Sometimes, the future looks like a strange box with too many buttons, and that is exactly the point.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="fai-CopilotMessage__footnote r1bn3aft ___7qar2c0 fcthzvy"&gt;
&lt;div class="___648pct0 f1lmfglv f527xm8 f1hdris8" dir="ltr" data-testid="foot-note-div"&gt;
&lt;div class="___1hfwpdv f22iagw f122n59 f1kijzfu f1k6fduh fma2jfi f1ltdqvm f1acs6jw f19jf40t f15tpi3i f1p4tn7c f5ogflp f1hqa2wf f1f09k3d finvdd3 fzkkow9 fcdblym fg706s2 fjik90z fj7vv53 f1baojfw fdllttx f9vz5qz f1dmdbja f1uvynv3 f12eztma" data-testid="sources-button-testid" data-stable-ignore="true"&gt;
&lt;div class="___16sus6k f22iagw f6jr5hl frfjzgd f4xv25i"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;Products and Parts Used:&lt;/span&gt;&lt;/h2&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #C6C6C6;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#f2f2f2;border:1px solid #C6C6C6;color:#505050;padding:6px;text-align:left;"&gt;Product Name&lt;/th&gt;
&lt;th style="background-color:#f2f2f2;border:1px solid #C6C6C6;color:#505050;padding:6px;text-align:left;"&gt;Manufacturer&lt;/th&gt;
&lt;th style="background-color:#f2f2f2;border:1px solid #C6C6C6;color:#505050;padding:6px;text-align:left;"&gt;Quantity&lt;/th&gt;
&lt;th style="background-color:#f2f2f2;border:1px solid #C6C6C6;color:#505050;padding:6px;text-align:left;"&gt;&lt;span&gt;&lt;a id="e14-product-link-2be1c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3051887,2473872,2828655,2521753,2510728,2787059,2396034,1126943~5,1164410,1148223~5&amp;nsku=02AH3164,49Y1712,44AC4191,49AC7645,77Y6521,64AH9552,75K7874,58K3818~5,76K1156,24M9589~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('2be1c'));" data-farnell="3051887~1,2473872~1,2828655~1,2521753~1,2510728~1,2787059~1,2396034~1,1126943~5,1164410~1,1148223~5" data-newark="02AH3164~1,49Y1712~1,44AC4191~1,49AC7645~1,77Y6521~1,64AH9552~1,75K7874~1,58K3818~5,76K1156~1,24M9589~5" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/span&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi 4&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-1b63f" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=3051887&amp;nsku=02AH3164&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1b63f'));" data-farnell="3051887~1" data-newark="02AH3164~1" data-comoverride="" data-cmpoverride="" data-cpc="SC15185" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi Display&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-867ec" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2473872&amp;nsku=49Y1712&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('867ec'));" data-farnell="2473872~1" data-newark="49Y1712~1" data-comoverride="" data-cmpoverride="" data-cpc="SC13858" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;PLA Filament&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;VERBATIM&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-0b3a5" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2828655&amp;nsku=44AC4191&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('0b3a5'));" data-farnell="2828655~1" data-newark="44AC4191~1" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;microSD Card&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Transcend&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-77363" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2521753&amp;nsku=49AC7645&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('77363'));" data-farnell="2521753~1" data-newark="49AC7645~1" data-comoverride="" data-cmpoverride="" data-cpc="SC14027" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi Camera&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Raspberry Pi&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-df5fd" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2510728&amp;nsku=77Y6521&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('df5fd'));" data-farnell="2510728~1" data-newark="77Y6521~1" data-comoverride="" data-cmpoverride="" data-cpc="SC14028" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;10W 4Ohm Speaker&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Visaton&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-babe7" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2787059&amp;nsku=64AH9552&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('babe7'));" data-farnell="2787059~1" data-newark="64AH9552~1" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;10K Audio Taper Potentiometer&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Bourns&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-70784" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2396034&amp;nsku=75K7874&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('70784'));" data-farnell="2396034~1" data-newark="75K7874~1" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;180R Resistor 1/8W&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;MULTICOMP PRO&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;5&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-f8e8d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=1126943~5&amp;nsku=58K3818~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f8e8d'));" data-farnell="1126943~5" data-newark="58K3818~5" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Rocker Switch&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Carling Technologies&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;1&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-5dbd2" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=1164410&amp;nsku=76K1156&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('5dbd2'));" data-farnell="1164410~1" data-newark="76K1156~1" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;Latching Pushbutton Switch&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;SCHWEITZER&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;5&lt;/td&gt;
&lt;td style="border:1px solid #C6C6C6;padding:6px;"&gt;&lt;span&gt;&lt;a id="e14-product-link-87d3c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=1148223~5&amp;nsku=24M9589~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('87d3c'));" data-farnell="1148223~5" data-newark="24M9589~5" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&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;h2&gt;&lt;span style="color:#3334ca;"&gt;Additional Parts:&lt;/span&gt;&lt;/h2&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:left;" valign="middle"&gt;&lt;strong&gt;Product Name&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;26650 Cell&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;USB female panel jack&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;(10x) M3x10 screw&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;2&amp;#39;x2&amp;#39; 1/16&amp;quot; aluminum sheet&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Sparkfun mono amplifier 3W&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Sparkfun LiPoly Charger&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;(40x) 6-32 x 3/8&amp;quot;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;Permaproto half board&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;&lt;strong&gt;C Cell Battery Contacts&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="migration-injected-attachments"&gt;
&lt;div style="font-weight:bold;margin:15px 0 5px 0;"&gt;Supporting Links and 3D Model Downloads:&lt;/div&gt;
&lt;div style="font-weight:bold;margin:15px 0 5px 0;"&gt;-&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/151059"&gt;Episode 488 Resources&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;table style="border:0;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;&lt;span id="attid_https://www.element14.com/community/api/core/v3/attachments/313734" class="_se_attachment"&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;span style="font-size:18px;font-weight:bold;"&gt;DIY Raspberry Pi Cyberdeck&lt;/span&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 Presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/vcp-program/w/documents/3796/vcp-biography-dj" data-e14adj="t"&gt;About DJ&lt;/a&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: portable development platform, gpio button interface, fusion 360 enclosure, embedded linux device, diy electronics fabrication, e14p_DJ, raspberry pi cyberdeck, maker electronics build, diy cyberpunk computer, cyberdeck build, custom raspberry pi case, cyberpunk hardware design, battery powered pi, friday_release, portable maker computer, single board computer project, e14presents_djharrigan&lt;/div&gt;
</description></item><item><title>Project Video Release Archive</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/3748/project-video-release-archive/revision/207</link><pubDate>Thu, 09 Apr 2026 14:06:28 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:59ab0abe-b32d-47f9-b00c-4b73b01f3bd8</guid><dc:creator>e14sbhargav</dc:creator><description>Revision 207 posted to Documents by e14sbhargav on 4/9/2026 2:06:28 PM&lt;br /&gt;
&lt;div style="background:#ffffff;border-bottom:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-icid="e14" data-e14adj="t"&gt;&lt;img alt="image"  src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;span style="font-size:18px;font-weight:bold;"&gt;Project Video Releases&lt;/span&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" style="color:#f17c0e;" href="/challengesprojects/element14-presents/" data-icid="e14" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;span style="padding-right:5px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" style="color:#f17c0e;" href="/challengesprojects/element14-presents/vcp-program/" data-icid="e14" data-e14adj="t"&gt;Meet the Hosts&lt;/a&gt;&lt;/span&gt;&lt;span style="padding-right:5px;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 709: Was that my Number!? Fixing Caf&amp;eacute; Order Chaos with a Raspberry Pi Announcer" href="/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer" data-e14adj="t"&gt;Episode 709: Was that my Number!? Fixing Caf&amp;eacute; Order Chaos with a Raspberry Pi Announcer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 708: Reviving a Vintage LED Sign with Arduino and PS/2 Control" href="/challenges-projects/element14-presents/project-videos/w/documents/72042/reviving-a-vintage-led-sign-with-arduino-and-ps-2-control----episode-708" data-e14adj="t"&gt;Episode 708: Reviving a Vintage LED Sign with Arduino and PS/2 Control&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 707: Building a Circuit Sculpture with LED Filament" href="/challenges-projects/element14-presents/project-videos/w/documents/72038/building-a-circuit-sculpture-with-led-filament----episode-707" data-e14adj="t"&gt;Episode 707: Building a Circuit Sculpture with LED Filament&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72037/esp32-rfid-smart-access-control-in-a-simple-diy-build----episode-706"&gt;Episode 706: ESP32 + RFID = Smart Access Control in a Simple DIY Build&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 705: Building a Super Smooth Z-Scale Train Controller with Arduino" href="/challenges-projects/element14-presents/project-videos/w/documents/72036/building-a-super-smooth-z-scale-train-controller-with-arduino----episode-705" data-e14adj="t"&gt;Episode 705: Building a Super Smooth Z-Scale Train Controller with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 704: Hacking an IKEA Desk into a Programmable Electric Workstation" href="/challenges-projects/element14-presents/project-videos/w/documents/72035/hacking-an-ikea-desk-into-a-programmable-electric-workstation----episode-704" data-e14adj="t"&gt;Episode 704: Hacking an IKEA Desk into a Programmable Electric Workstation&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 703: How to Set Up the Raspberry Pi 5: Complete Beginner Step-by-Step Guide" href="/challenges-projects/element14-presents/project-videos/w/documents/72034/how-to-set-up-the-raspberry-pi-5-complete-beginner-step-by-step-guide----episode-703" data-e14adj="t"&gt;Episode 703: How to Set Up the Raspberry Pi 5: Complete Beginner Step-by-Step Guide&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 702: Build Your Own USB Looper for Serial Debugging and File Transfer" href="/challenges-projects/element14-presents/project-videos/w/documents/72033/build-your-own-usb-looper-for-serial-debugging-and-file-transfer----episode-702" data-e14adj="t"&gt;Episode 702: Build Your Own USB Looper for Serial Debugging and File Transfer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 700: How Voice Recognition Works on Raspberry Pi (and Why It&amp;rsquo;s Easy to Break)" href="/challenges-projects/element14-presents/project-videos/w/documents/72031/from-snooze-to-launch-the-arduino-powered-lego-alarm-clock-inspired-by-artemis-2----episode-701" data-e14adj="t"&gt;Episode 701: From Snooze to Launch: The Arduino-Powered LEGO Alarm Clock Inspired by Artemis 2&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 700: How Voice Recognition Works on Raspberry Pi (and Why It&amp;rsquo;s Easy to Break)" href="/challenges-projects/element14-presents/project-videos/w/documents/72030/how-voice-recognition-works-on-raspberry-pi-and-why-it-s-easy-to-break----episode-700" data-e14adj="t"&gt;Episode 700: How Voice Recognition Works on Raspberry Pi (and Why It&amp;rsquo;s Easy to Break)&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 697:&amp;nbsp;A Smart, Safe 3D Printer Cabinet Using Raspberry Pi and Node-RED" href="/challenges-projects/element14-presents/project-videos/w/documents/72021/gimmegpio-a-simple-way-to-get-gpio-on-laptops-and-desktops----episode-699" data-e14adj="t"&gt;Episode 699:&amp;nbsp;GimmeGPIO: A Simple Way to Get GPIO on Laptops and Desktops&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 697:&amp;nbsp;A Smart, Safe 3D Printer Cabinet Using Raspberry Pi and Node-RED" href="/challenges-projects/element14-presents/project-videos/w/documents/72020/building-a-practical-electronics-workbench-for-makers-and-engineers----episode-698" data-e14adj="t"&gt;Episode 698:&amp;nbsp;Building a Practical Electronics Workbench for Makers and Engineers&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a title="Episode 697:&amp;nbsp;A Smart, Safe 3D Printer Cabinet Using Raspberry Pi and Node-RED" href="/challenges-projects/element14-presents/project-videos/w/documents/72009/a-smart-safe-3d-printer-cabinet-using-raspberry-pi-and-node-red----episode-697" data-e14adj="t"&gt;Episode 697:&amp;nbsp;A Smart, Safe 3D Printer Cabinet Using Raspberry Pi and Node-RED&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/72008/how-a-pulse-metal-detector-works-and-how-to-build-one" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 696: How a Pulse Metal Detector Works, and How to Build One&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/72007/a-diy-test-and-programming-rig-built-for-small-batch-electronics-production----episode-695" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 695: A DIY Test and Programming Rig Built for Small-Batch Electronics Production&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/secret-element14-presents/w/documents/72001/earn-your-fitness-reward-with-a-smart-cookie-jar-using-strava-and-esp32----episode-694" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 694: Earn Your Fitness Reward with a Smart Cookie Jar Using Strava and ESP32&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71999/open-source-multicolour-3d-printing-upgrade-clem-s-3d-chameleon-remix----episode-693" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 693: Open-Source Multicolour 3D Printing Upgrade: Clem&amp;rsquo;s 3D Chameleon Remix&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71995/build-your-own-esp32-fitness-heart-rate-monitor-tracker----episode-692" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 692: Build Your own ESP32 Fitness Heart Rate Monitor / Tracker&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71994/how-accurate-is-bluetooth-channel-sounding-a-deep-dive-with-the-nrf54l15" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 691: How Accurate Is Bluetooth Channel Sounding? A Deep Dive with the nRF54L15&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71993/meet-the-platypusbot-now-powered-by-raspberry-pi-ros----episode-690" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 690: Meet the PlatypusBot: Now Powered by Raspberry Pi &amp;amp; ROS&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71992/how-clem-built-a-handheld-sci-fi-communicator-that-really-works----episode-689" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 689: How Clem Built a Handheld Sci-Fi Communicator That Really Works&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71990/building-the-cylon-pumpkin-combining-a-larson-scanner-and-vocoder-for-halloween----episode-688" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 688: Building the Cylon Pumpkin: Combining a Larson Scanner and Vocoder for Halloween&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71989/turning-a-10-air-fryer-into-an-arduino-powered-filament-dryer----episode-687" data-icid="e14p-ep687-eplist" data-e14adj="t"&gt;Episode 687: Turning a $10 Air Fryer into an Arduino powered Filament Dryer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71988/creepy-motion-activated-painting-you-can-build-yourself----episode-686" data-icid="e14" data-e14adj="t"&gt;Episode 686: Creepy Motion-Activated Painting You Can Build Yourself&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71987/when-your-body-becomes-the-instrument-clem-builds-the-drone-synth----episode-685" data-icid="e14" data-e14adj="t"&gt;Episode 685: When Your Body Becomes the Instrument: Clem Builds the &amp;ldquo;Dr&amp;ouml;ne&amp;rdquo; Synth&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71985/building-an-audio-reactive-led-matrix-with-a-micro-bit-and-neopixels----episode-684" data-icid="e14" data-e14adj="t"&gt;Episode 684: Building an Audio Reactive LED Matrix with a micro:bit and NeoPixels&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71984/how-to-make-a-portable-emergency-radio-with-an-arduino-nano-in-a-mint-tin----episode-683" data-icid="e14" data-e14adj="t"&gt;Episode 683: How to Make a Portable Emergency Radio with an Arduino Nano in a Mint TinT&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71974/diy-rf-modulator-raspberry-pi-pico-gaming-on-a-sony-watchman-fd-10a-crt----episode-682" data-icid="e14" data-e14adj="t"&gt;Episode 682: DIY RF Modulator + Raspberry Pi Pico = Gaming on a Sony Watchman FD-10A CRT&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71963/turn-anything-into-an-arduino-module-reusing-everyday-electronics----episode-681" data-icid="e14" data-e14adj="t"&gt;Episode 681: Turn anything into an Arduino Module: Reusing Everyday Electronics&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71961/from-kit-to-custom-design-building-a-tube-based-fm-radio----episode-680" data-icid="e14" data-e14adj="t"&gt;Episode 680: From Kit to Custom Design: Building a Tube-Based FM Radio&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71960/esp32-duolingo-owl-project-never-miss-a-lesson-again----episode-679" data-icid="e14" data-e14adj="t"&gt;Episode 679: ESP32 Duolingo Owl Project: Never Miss a Lesson Again&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71959/open-source-attiny3226-arduino-calculator-hardware-case-code-build----episode-678" data-icid="e14" data-e14adj="t"&gt;Episode 678: Open Source ATtiny3226 Arduino Calculator &amp;ndash; Hardware, Case &amp;amp; Code Build&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71955/make-your-own-vocoder-with-teensy-4-0---voice-of-a-cylon----episode-677" data-icid="e14" data-e14adj="t"&gt;Episode 677: Make Your Own Vocoder with Teensy 4.0 - Voice of a Cylon?!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71954/i-tried-building-16-attiny-robots-with-vibration-motors-it-was-a-disaster----episode-676" data-icid="e14" data-e14adj="t"&gt;Episode 676: I Tried Building 16 ATtiny Robots with Vibration Motors &amp;ndash; It Was a Disaster&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71953/avoid-conflict-with-this-esp32-defcon-task-tracker----episode-675" data-icid="e14" data-e14adj="t"&gt;Episode 675:Avoid Conflict with this ESP32 Defcon Task Tracker&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71947/building-an-open-source-blood-pressure-heart-signal-monitor----episode-674" data-icid="e14" data-e14adj="t"&gt;Episode 674: Building an Open Source Blood Pressure &amp;amp; Heart Signal Monitor&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71942/building-an-esp32-powered-warhammer-40k-rhino-with-dynamic-led-effects----episode-673" data-icid="e14" data-e14adj="t"&gt;Episode 673: Building an ESP32 Powered Warhammer 40k Rhino with Dynamic LED Effects!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71936/building-an-autonomous-lego-train-with-circuitpython-and-lidar----episode-672" data-icid="e14" data-e14adj="t"&gt;Episode 672: Building an Autonomous LEGO Train with CircuitPython and LIDAR&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71934/platypusbot---scavenging-for-robotics-parts----episode-671" data-icid="e14" data-e14adj="t"&gt;Episode 671: PlatypusBot - Scavenging for Robotics Parts&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71927/build-a-larson-scanner-with-sound-using-an-esp32----episode-670" data-icid="e14" data-e14adj="t"&gt;Episode 670: Build your own Larson Scanner&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71926/creating-an-esd-or-lightning-detector----episode-669" data-icid="e14" data-e14adj="t"&gt;Episode 669: Creating an ESD (Or Lightning!) Detector!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71925/designing-an-arduino-pid-controlled-micro-drone----episode-668" data-icid="e14" data-e14adj="t"&gt;Episode 668: Designing an Arduino PID Controlled Micro Drone&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71921/emulating-a-speech-synthesis-chip-with-an-esp32----episode-667" data-icid="e14" data-e14adj="t"&gt;Episode 667: Emulating a Speech Synthesis Chip with an ESP32&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71920/how-far-can-i2c-go----episode-666" data-icid="e14" data-e14adj="t"&gt;Episode 666: How Far Can I2C Go?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71919/raspberry-pi-ai-tracking-eye-of-sauron---ai-al-barad-dur---episode-665" data-icid="e14" data-e14adj="t"&gt;Episode 665: Raspberry Pi AI Tracking Eye of Sauron - AI AL Barad Dur&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71915/learn-how-to-make-a-photo-booth-with-the-esp32-and-telegram-automation----episode-664" data-icid="e14" data-e14adj="t"&gt;Episode 664: Learn how to Make a Photo Booth with the ESP32 and Telegram Automation!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71911/upcycling-a-vintage-microphone-into-an-emergency-radio-system----episode-663" data-icid="e14" data-e14adj="t"&gt;Episode 663: Upcycling a Vintage Microphone into an Emergency Radio System&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662" data-icid="e14" data-e14adj="t"&gt;Episode 662: Making a Stronger Affordable DIY Robot Arm with 3D Printing with Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71904/make-your-own-led-wrist-watch----episode-661" data-icid="e14" data-e14adj="t"&gt;Episode 661: Clem makes his own LED Wristwatch&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71846/lofi-beats-to-solder-to----episode-660" data-icid="e14" data-e14adj="t"&gt;Episode 660: LoFi Beats to Solder To&lt;/a&gt;&lt;/p&gt;
&lt;p style="clear:both;margin:0;padding:0px;padding-top:12px;"&gt;&lt;a title="Episode 659:&amp;nbsp;DIY Single Board Computer with ESP32 and Raspberry Pi Pico" href="/challenges-projects/element14-presents/project-videos/w/documents/71844/diy-single-board-computer-with-esp32-and-raspberry-pi-pico----episode-659" data-e14adj="t"&gt;Episode 659:&amp;nbsp;DIY Single Board Computer with ESP32 and Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71841/a-smart-youtube-counter-with-an-audio-analyzer---episode---658" data-icid="e14" data-e14adj="t"&gt;Episode 658: A Smart Youtube Counter With An Audio Analyzer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71833/how-to-control-a-lego-mindstorms-kit-with-ai-and-raspberry-pi-5----episode-657" data-icid="e14" data-e14adj="t"&gt;Episode 657: How to Control a LEGO Mindstorms kit with AI and Raspberry Pi 5&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71831/diy-jig-for-your-laser-cutter-with-custom-arduino-automation----episode-656" data-icid="e14" data-e14adj="t"&gt;Episode 656: DIY Jig for your Laser Cutter with Custom Arduino Automation&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71810/diy-hot-plate-for-smd-soldering-using-raspberry-pi-pico----episode-655" data-icid="e14" data-e14adj="t"&gt;Episode 655: DIY Hot Plate for SMD Soldering Using Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71801/how-do-battlebots-work-in-the-pit-with-hypershock----episode-654" data-icid="e14" data-e14adj="t"&gt;Episode 654: How Do BattleBots Work? In the Pit with HyperShock&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71797/edge-lit-7-segment-display-clock-using-raspberry-pi-pico----episode-653" data-icid="e14" data-e14adj="t"&gt;Episode 653: Edge-lit 7-Segment Display Clock Using Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71793/smart-windows-and-blinds-with-arduino-and-raspberry-pi-pico----episode-652" data-icid="e14" data-e14adj="t"&gt;Episode 652: Smart Windows and Blinds with Arduino and Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/71784/design-for-manufacturing---project-to-product-by-modifying-off-the-shelf-cases----episode-651" data-icid="e14" data-e14adj="t"&gt;Episode 651: Design for Manufacturing - Project to Product by Modifying Off-the-Shelf Cases&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/46432/using-nordic-s-nrf7002-my-dehumidifier-tells-me-when-it-s-full----episode-650" data-icid="e14" data-e14adj="t"&gt;Episode 650: Using Nordic&amp;#39;s nRF7002, My Dehumidifier Tells Me When It&amp;#39;s Full!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/29545/giant-retro-gaming-magic-mirror-with-a-raspberry-pi-5----episode-649" data-icid="e14" data-e14adj="t"&gt;Episode 649: Giant Retro Gaming Magic Mirror with a Raspberry Pi 5!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/29540/home-ai-image-generation-server-with-lattepanda-and-stable-diffusion----episode-648" data-icid="e14" data-e14adj="t"&gt;Episode 648: Home AI Image Generation Server with LattePanda and Stable Diffusion&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/29537/building-an-open-source-tool-for-cave-surveying----episode-647" data-icid="e14" data-e14adj="t"&gt;Episode 647: Building an Open-Source Tool for Cave Surveying&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28802/creating-a-digital-roulette-table-with-an-esp32-devkit----episode-646" data-icid="e14" data-e14adj="t"&gt;Episode 646: Creating a Digital Roulette Table with an ESP32 DevKit&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28438/practical-diy-pi-pico-current-load-circuits----episode-645" data-icid="e14" data-e14adj="t"&gt;Episode 645: Practical DIY Pi Pico Current Load Circuits&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28421/turning-a-raspberry-pi-pico-into-a-gpu----episode-644" data-icid="e14" data-e14adj="t"&gt;Episode 644: Turning a Raspberry Pi Pico into a GPU!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28418/making-a-tribble-that-detects-klingons----episode-643" data-icid="e14" data-e14adj="t"&gt;Episode 643: Making a Tribble that Detects Klingons&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28416/making-a-time-lapse-camera-with-a-raspberry-pi-5----episode-642" data-icid="e14" data-e14adj="t"&gt;Episode 642: Making a Time-lapse Camera with a Raspberry Pi 5&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28409/moon-phase-display-with-raspberry-pi-pico----episode-641" data-icid="e14" data-e14adj="t"&gt;Episode 641: Moon Phase Display with Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28407/tinkering-vs-engineering-can-you-build-a-laptop-from-scratch----episode-640" data-icid="e14" data-e14adj="t"&gt;Episode 640: Tinkering vs Engineering: Can You Build a Laptop from Scratch?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28405/off-grid-remote-generator-starter----episode-639" data-icid="e14" data-e14adj="t"&gt;Episode 639: Off-Grid Remote Generator Starter?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28387/rp2040-pcb-design-turn-on-and-debug---how-hard-could-it-be----episode-638" data-icid="e14" data-e14adj="t"&gt;Episode 638: RP2040 PCB: Design, Turn-On, and Debug - How Hard Could It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28386/making-music-with-a-lego-guitar-and-capacitive-touch----episode-637" data-icid="e14" data-e14adj="t"&gt;Episode 637: Making Music with a Lego Guitar and Capacitive Touch&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28384/creating-an-imu-based-3d-mouse-with-an-esp32-s3----episode-636" data-icid="e14" data-e14adj="t"&gt;Episode 636: Creating an IMU based 3D Mouse with an ESP32-S3&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28382/vintage-electronics-exploration-with-a-bally-cypress-gardens-bingo-machine---episode-635" data-icid="e14" data-e14adj="t"&gt;Episode 635: Vintage Electronics Exploration with a Bally Cypress Gardens Bingo Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28381/craft-a-festive-led-christmas-sweater-featuring-the-attiny416----episode-634" data-icid="e14" data-e14adj="t"&gt;Episode 634: Craft a Festive LED Christmas Sweater Featuring the ATtiny416&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28376/spying-under-the-christmas-tree-with-an-arduino-powered-ornament----episode-633" data-icid="e14" data-e14adj="t"&gt;Episode 633: Spying Under the Christmas Tree with an Arduino-powered Ornament&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28374/revamping-old-school-pinball-with-an-esp32----episode-632" data-icid="e14" data-e14adj="t"&gt;Episode 632: Revamping Old School Pinball with an ESP32&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28372/all-purpose-debugging-a-practical-universal-screen-with-lcd-displays----episode-631" data-icid="e14" data-e14adj="t"&gt;Episode 631: All-Purpose Debugging: A Practical Universal Screen with LCD Displays&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28370/mega-iie-first-fully-functional-computer-built-around-the-apple-mega-ii-chip----episode-630" data-icid="e14" data-e14adj="t"&gt;Episode 630: Mega IIe: First Fully Functional Computer built around the Apple Mega-II Chip&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28366/backpack-splash-mark-s-water-gun-upgrade-for-epic-outdoor-water-wars----episode-629" data-icid="e14" data-e14adj="t"&gt;Episode 629: Backpack Splash: Mark&amp;#39;s Water Gun Upgrade for Epic Outdoor Water Wars!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628" data-icid="e14" data-e14adj="t"&gt;Episode 628: Affordable DIY Robot Arm - A Deep Dive into 3D Printing and Servo Motors&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28353/creating-sudostick---from-prototype-to-product----episode-627" data-icid="e14" data-e14adj="t"&gt;Episode 627: Creating sudostick - From Prototype to Product&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28351/catching-you-up-on-bonesnapper-ridge---off-grid-maker-shop----episode-626" data-icid="e14" data-e14adj="t"&gt;Episode 626: Catching you Up on Bonesnapper Ridge - Off-Grid Maker Shop&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28344/interactive-magic-creating-an-enchanted-cauldron----episode-625" data-icid="e14" data-e14adj="t"&gt;Episode 625: Interactive Magic - Creating an Enchanted Cauldron&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28342/episode-624-modding-a-smoke-machine-to-add-motion-detection" data-icid="e14" data-e14adj="t"&gt;Episode 624: Modding A Smoke Machine to Add Motion Detection&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28339/episode-623-how-to-run-linux-on-an-esp32" data-icid="e14" data-e14adj="t"&gt;Episode 623: How to Run Linux on an ESP32&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28334/episode-622-building-spooky-fun-halloween-sound-pranks-with-nrf-5340-ble-audio" data-icid="e14" data-e14adj="t"&gt;Episode 622: Building Spooky Fun: Halloween Sound Pranks with nRF 5340 BLE Audio&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28330/episode-621-color-sensor-based-water-quality-tracker-diy-environmental-monitoring" data-icid="e14" data-e14adj="t"&gt;Episode 621: Color Sensor-Based Water Quality Tracker: DIY Environmental Monitoring&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28328/episode-620-stey-by-step-guide-to-creating-your-own-speaking-animatronic-hat" data-icid="e14" data-e14adj="t"&gt;Episode 620: Stey-by-Step Guide to Creating your own Speaking Animatronic Hat&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28316/episode-619-how-to-build-an-open-source-bluetooth-mechanical-keyboard" data-icid="e14" data-e14adj="t"&gt;Episode 619: How to Build an Open Source Bluetooth Mechanical Keyboard&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28308/episode-618-upgrading-my-racing-sim-with-a-force-sensitive-keyboard" data-icid="e14" data-e14adj="t"&gt;Episode 618: Upgrading My Racing Sim with a Force-Sensitive Keyboard&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28306/episode-617-simplify-network-monitoring-building-an-esp32-powered-solution" data-icid="e14" data-e14adj="t"&gt;Episode 617: Simplify Network Monitoring: Building an ESP32-Powered Solution&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28300/episode-616-mastering-oven-control-precision-resin-curing-with-diy-modifications---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 616: Mastering Oven Control: Precision Resin Curing with DIY Modifications - How Hard Can it Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28290/episode-615-building-a-unique-usb-card-reader-from-idea-to-prototype" data-icid="e14" data-e14adj="t"&gt;Episode 615: Building a Unique USB Card Reader: From Idea to Prototype&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28278/episode-614-using-pid-proportional-integral-derivative-in-robotics---how-hard-could-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 614: Using PID (Proportional-Integral-Derivative) in Robotics - How Hard Could It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28274/episode-613-building-a-magic-wand-talking-sound-board" data-icid="e14" data-e14adj="t"&gt;Episode 613: Building a Magic Wand Talking Sound Board&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28271/episode-612-handheld-basic-computer-in-badge-format-with-the-arduino-uno" data-icid="e14" data-e14adj="t"&gt;Episode 612: Handheld BASIC computer in Badge Format with the Arduino Uno&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28267/episode-611-how-to-run-the-distance-to-the-moon-with-strava-data-and-a-pico-w-board" data-icid="e14" data-e14adj="t"&gt;Episode 611: How to Run the Distance to the Moon with Strava Data and a Pico W Board&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28214/episode-610-how-to-embroider-with-circuits-and-conductive-thread" data-icid="e14" data-e14adj="t"&gt;Episode 610: How to Embroider with Circuits and Conductive Thread&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28213/episode-609-updating-a-fujitsu-n860-2500-t111-keyboard-to-work-with-a-ps2-standard" data-icid="e14" data-e14adj="t"&gt;Episode 609: Updating a Fujitsu N860-2500-T111 Keyboard to Work with a PS2 Standard&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28200/episode-608-making-the-simplest-diy-wind-energy-generator---how-hard-could-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 608: Making the Simplest DIY Wind Energy Generator - How Hard Could it Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28198/episode-607-from-strava-to-motion-creating-an-arduino-powered-arcade-game-with-running-data" data-icid="e14" data-e14adj="t"&gt;Episode 607: From Strava to Motion: Creating an Arduino-Powered Arcade Game with Running Data&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28184/episode-606-how-to-use-lorawan-to-launch-model-rockets-wirelessly" data-icid="e14" data-e14adj="t"&gt;Episode 606: How to Use LoRaWAN to Launch Model Rockets Wirelessly&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28152/episode-605-arduino-and-leds-make-solitaire-easier-to-solve" data-icid="e14" data-e14adj="t"&gt;Episode 605: Arduino and LEDs Make Solitaire Easier to Solve&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28140/episode-604-charlieplexing-buttons-and-leds-at-the-same-time---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 604: Charlieplexing Buttons and LEDs at the Same Time - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28138/episode-603-create-your-own-air-hockey-table-with-arduino-scoring" data-icid="e14" data-e14adj="t"&gt;Episode 603: Create Your Own Air Hockey Table with Arduino Scoring&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28133/episode-602-diy-ac-dimmer-circuit-control-your-lights-with-a-raspberry-pi-pico" data-icid="e14" data-e14adj="t"&gt;Episode 602: DIY AC Dimmer Circuit: Control Your Lights with a Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28131/episode-601-how-to-reverse-engineer-electronics-building-a-developer-board-for-a-coding-class" data-icid="e14" data-e14adj="t"&gt;Episode 601: How to Reverse Engineer Electronics: Building a Developer Board for a Coding Class&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28126/episode-600-building-my-dream-digital-clock-diy-7-segment-display-with-a-cute-robot-twist" data-icid="e14" data-e14adj="t"&gt;Episode 600: Building My Dream Digital Clock: DIY 7 Segment Display with a Cute Robot Twist!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28117/episode-599-how-to-build-a-spectrum-analyzer-with-lego-bricks-discrete-electronics" data-icid="e14" data-e14adj="t"&gt;Episode 599: How to Build a Spectrum Analyzer with Lego Bricks &amp;amp; Discrete Electronics&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28102/episode-598-how-to-build-a-portable-solar-charged-off-grid-power-station" data-icid="e14" data-e14adj="t"&gt;Episode 598: How To Build a Portable, Solar-Charged Off-Grid Power Station&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28097/episode-597-how-to-build-a-robot-that-celebrates-good-grades-with-arduino" data-icid="e14" data-e14adj="t"&gt;Episode 597: How to Build a Robot that Celebrates Good Grades with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28084/episode-596-how-to-build-your-own-voice-assistant-with-mycroft-ai---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 596: How to Build Your Own Voice Assistant with MyCroft AI - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28082/episode-595-member-challenge-accepted---universal-lanc-controller-for-dslr-cameras" data-icid="e14" data-e14adj="t"&gt;Episode 595: Member Challenge Accepted - Universal LANC Controller for DSLR cameras&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28059/episode-594-repairing-a-neewer-660-studio-light---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 594: Repairing a Neewer 660 Studio light - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28057/episode-593-playing-3d-famicom-games-wirelessly-on-the-nes---how-hard-could-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 593: Playing 3D Famicom Games Wirelessly on the NES - How Hard Could It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28050/episode-592-lamptopus-spinning-led-desk-lamp" data-icid="e14" data-e14adj="t"&gt;Episode 592: Lamptopus: Spinning LED Desk Lamp&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28036/episode-591-building-a-bluetooth-speaker-in-5-minutes---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 591: Building A Bluetooth Speaker in 5 Minutes - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28033/episode-590-seven-kingdoms-open-source-bartop-arcade" data-icid="e14" data-e14adj="t"&gt;Episode 590: Seven Kingdoms Open Source Bartop Arcade&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28024/episode-589-upgrading-the-imac-g4-with-a-nuc" data-icid="e14" data-e14adj="t"&gt;Episode 589: Upgrading the iMac G4 With a NUC&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/28020/episode-588-highlights-from-element14-presents-2022" data-icid="e14" data-e14adj="t"&gt;Episode 588: Highlights from element14 presents 2022&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27982/episode-587-create-your-own-talking-stress-indicator" data-icid="e14" data-e14adj="t"&gt;Episode 587: Create Your Own Talking Stress Indicator&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27965/episode-586-diy-open-source-bluetooth-headphones" data-icid="e14" data-e14adj="t"&gt;Episode 586: DIY Open Source Bluetooth Headphones&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27960/episode-585-enhancing-a-magnifying-headband-with-auto-sensing-light" data-icid="e14" data-e14adj="t"&gt;Episode 585: Enhancing a Magnifying Headband with Auto Sensing Light&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27952/episode-584-going-beyond-periodic-wakes-using-wifi-to-revive-a-sleeping-device" data-icid="e14" data-e14adj="t"&gt;Episode 584: Going Beyond Periodic Wakes: Using WiFi to Revive a Sleeping Device&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27934/episode-583-epic-neopixel-birthday-cake" data-icid="e14" data-e14adj="t"&gt;Episode 583: Epic Neopixel Birthday Cake&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27917/episode-582-smart-christmas-decoration-with-raspberry-pi-pico-and-mqtt" data-icid="e14" data-e14adj="t"&gt;Episode 582: Smart Christmas Decoration with Raspberry Pi Pico and MQTT&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27900/episode-581-bee-saving-electronics-prototype" data-icid="e14" data-e14adj="t"&gt;Episode 581: Bee-Saving Electronics Prototype&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27894/episode-580-diy-low-cost-capacitance-meter-using-a-555-timer" data-icid="e14" data-e14adj="t"&gt;Episode 580: DIY Low Cost Capacitance Meter Using a 555 Timer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27881/episode-579-how-to-make-a-basketball-auto-score-keeper-using-colour-sensing" data-icid="e14" data-e14adj="t"&gt;Episode 579: How to Make a Basketball Auto Score Keeper Using Colour Sensing&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27879/episode-578-build-your-own-bat-detector-with-analog-parts" data-icid="e14" data-e14adj="t"&gt;Episode 578: Build your Own Bat Detector with Analog Parts&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27862/episode-577-the-game-guy-mini-upgrading-the-unportable-game-boy" data-icid="e14" data-e14adj="t"&gt;Episode 577: The Game Guy Mini, Upgrading the Unportable Game Boy!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27861/episode-576-build-your-own-underwater-drone-with-3d-printed-parts" data-icid="e14" data-e14adj="t"&gt;Episode 576: Build your own Underwater Drone with 3D Printed Parts&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27855/episode-575-how-to-make-a-secured-parcel-pickup-box-with-arduino" data-icid="e14" data-e14adj="t"&gt;Episode 575: How to Make a Secured Parcel Pickup Box with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27846/episode-574-ghost-rider-halloween-costume" data-icid="e14" data-e14adj="t"&gt;Episode 574: Ghost Rider Halloween Costume&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27836/episode-573-using-a-pi-pico-to-convert-keyboard-input-to-morse-code" data-icid="e14" data-e14adj="t"&gt;Episode 573: Using a Pi Pico to Convert Keyboard Input to Morse Code&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27824/episode-572-how-to-use-an-esp32-camera-to-know-you-ve-got-mail" data-icid="e14" data-e14adj="t"&gt;Episode 572: How to Use an ESP32 &amp;amp; Camera to Know You&amp;#39;ve Got Mail!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27807/episode-571-using-dead-batteries-to-test-for-dead-batteries" data-icid="e14" data-e14adj="t"&gt;Episode 571: Using Dead Batteries to Test for Dead Batteries&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27805/episode-570-making-a-wifi-connected-audio-spectrum-analyzer-with-esp32" data-icid="e14" data-e14adj="t"&gt;Episode 570: Making a WiFi Connected Audio Spectrum Analyzer with ESP32&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27803/episode-569-multi-spectrum-uv-resin-curing-station-with-wurth-leds" data-icid="e14" data-e14adj="t"&gt;Episode 569: Multi-Spectrum UV Resin Curing Station with W&amp;uuml;rth LEDs&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27787/episode-568-how-to-make-a-custom-soundboard-with-the-stm32f4-using-freecad" data-icid="e14" data-e14adj="t"&gt;Episode 568: How to Make a Custom Soundboard with the STM32F4 using FreeCAD&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27785/episode-567-synced-neopixel-mickey-mouse-ears" data-icid="e14" data-e14adj="t"&gt;Episode 567: Synced NeoPixel Mickey Mouse Ears&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27760/episode-566-how-to-automate-industrial-welding-positioners-with-arduino" data-icid="e14" data-e14adj="t"&gt;Episode 566: How to Automate Industrial Welding Positioners with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27758/episode-565-measuring-destructive-testing-force-with-a-20-ton-hydraulic-press" data-icid="e14" data-e14adj="t"&gt;Episode 565: Measuring Destructive Testing Force with a 20 Ton Hydraulic Press&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27734/episode-564-build-a-vu-meter-with-led-pixelated-nixie-tubes" data-icid="e14" data-e14adj="t"&gt;Episode 564: Build a VU Meter with LED Pixelated Nixie Tubes&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27732/episode-563-creating-augmented-reality-circuits-with-meta-quest-2-and-unity" data-icid="e14" data-e14adj="t"&gt;Episode 563: Creating Augmented Reality Circuits with Meta Quest 2 and Unity&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27730/episode-562-pi-home-temperature-monitoring-system" data-icid="e14" data-e14adj="t"&gt;Episode 562: Pi Home Temperature Monitoring System&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27728/episode-561-wifi-to-parallel-port-ascii-art-dot-matrix-printer" data-icid="e14" data-e14adj="t"&gt;Episode 561: WiFi to Parallel Port Ascii Art Dot-Matrix Printer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27727/episode-560-raspberry-pi-controlled-lego-train-with-build-hat" data-icid="e14" data-e14adj="t"&gt;Episode 560: Raspberry Pi Controlled Lego Train with Build HAT&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27706/episode-559-create-a-magic-makeup-mirror-with-pose-detection" data-icid="e14" data-e14adj="t"&gt;Episode 559: Create a Magic Makeup Mirror with Pose Detection&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27700/episode-558-3d-object-rendering-using-an-fpga" data-icid="e14" data-e14adj="t"&gt;Episode 558: 3D Object Rendering Using an FPGA&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27694/episode-557-create-your-own-handheld-serial-monitor-for-project-debugging" data-icid="e14" data-e14adj="t"&gt;Episode 557: Create your own Handheld Serial Monitor for Project Debugging&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27666/episode-556-hacking-a-hotel-pos-tablet---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 556: Hacking a Hotel POS Tablet - How Hard Can it Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27664/episode-555-dance-central-pose-estimation-game-with-tensorflow-and-raspberry-pi" data-icid="e14" data-e14adj="t"&gt;Episode 555: Dance Central Pose Estimation Game with Tensorflow and Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27647/episode-554-arduino-uno-mini-limited-edition-led-necklace" data-icid="e14" data-e14adj="t"&gt;Episode 554: Arduino Uno Mini Limited Edition LED Necklace&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27645/episode-553-adding-a-parallel-printer-port-to-an-android-phone" data-icid="e14" data-e14adj="t"&gt;Episode 553: Adding a Parallel Printer Port to an Android Phone&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27616/episode-552---magical-potion-bottle-rack" data-icid="e14" data-e14adj="t"&gt;Episode 552: Magical Potion Bottle Rack&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27614/episode-551-can-we-rebuild-a-1930s-accounting-machine" data-icid="e14" data-e14adj="t"&gt;Episode 551: Can We Rebuild a 1930s Accounting Machine?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27608/episode-550-diy-electronic-controlled-motorized-wheelchair" data-icid="e14" data-e14adj="t"&gt;Episode 550: DIY Electronic Controlled Motorized Wheelchair&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27606/episode-549-using-a-teletype-machine-as-a-usb-printer-with-arduino" data-icid="e14" data-e14adj="t"&gt;Episode 549: Using a Teletype Machine as a USB Printer with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27597/episode-548-electronic-fidget-cube-building-your-ideas" data-icid="e14" data-e14adj="t"&gt;Episode 548: Electronic Fidget Cube, Building Your Ideas!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27577/episode-547-creating-a-mummy-wake-word-detector-with-raspberry-pi-and-edge-impulse" data-icid="e14" data-e14adj="t"&gt;Episode 547: Creating a &amp;ldquo;Mummy&amp;rdquo; Wake Word Detector with Raspberry Pi and Edge Impulse&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27567/episode-546-mapping-the-outputs-of-a-1960s-teletype-machine---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 546: Mapping the Outputs of a 1960s Teletype Machine - How Hard Can it Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27576/episode-545-designing-a-custom-pcb-for-microsoft-jacdac" data-icid="e14" data-e14adj="t"&gt;Episode 545: Designing a Custom PCB for Microsoft Jacdac&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27548/episode-544-reviving-the-1984-ibm-5155---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 544: Reviving the 1984 IBM 5155 - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27522/episode-543-lego-spike-prime-weather-station-with-raspberry-pi" data-icid="e14" data-e14adj="t"&gt;Episode 543: Lego Spike Prime Weather Station with Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27520/episode-542-a-noise-free-diy-switching-power-supply---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 542: A Noise-Free DIY Switching Power Supply - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27495/episode-541-vintage-laptop-battery-replaced-with-usb-power---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 541: Vintage Laptop Battery Replaced with USB Power - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27493/episode-540-object-detection-for-smart-recycling" data-icid="e14" data-e14adj="t"&gt;Episode 540: Object Detection for Smart Recycling&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27484/episode-539-training-a-machine-to-recognize-objects---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 539: Training a Machine to Recognize Objects - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27483/episode-538-how-to-build-a-quadruped-robot---no-math" data-icid="e14" data-e14adj="t"&gt;Episode 538: How to Build a Quadruped Robot - NO MATH!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27460/episode-537-build-a-phonograph-preamplifier---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 537: Build a Phonograph Preamplifier - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27458/episode-536-interactive-light-up-window-with-pose-detection-using-a-raspberry-pi-and-micro-bit" data-icid="e14" data-e14adj="t"&gt;Episode 536: Interactive Light-Up Window with Pose Detection using a Raspberry Pi and micro:bit&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27441/episode-535-repair-a-sega-game-gear---how-hard-can-it-be" data-icid="e14" data-e14adj="t"&gt;Episode 535: Repair a Sega Game Gear - How Hard Can It Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27435/episode-534-open-source-inventory-warehousing-system" data-icid="e14" data-e14adj="t"&gt;Episode 534: Open Source Inventory Warehousing System&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27432/episode-533-jumbo-diy-led" data-icid="e14" data-e14adj="t"&gt;Episode 533: Jumbo DIY LED&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27412/episode-532-world-s-first-single-chip-apple-ii-boots" data-icid="e14" data-e14adj="t"&gt;Episode 532: World&amp;rsquo;s First Single-Chip Apple II Boots!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27407/episode-531-game-guy---the-unportable-game-boy" data-icid="e14" data-e14adj="t"&gt;Episode 531: Game Guy - The Unportable Game Boy&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27399/episode-530-mqtt-controlled-led-christmas-baubles-with-raspberry-pi-pico" data-icid="e14" data-e14adj="t"&gt;Episode 530: MQTT controlled LED Christmas Baubles with Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27392/episode-529-updi-program-for-new-attiny" data-icid="e14" data-e14adj="t"&gt;Episode 529: UPDI Program for new ATTiny&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27383/episode-528-let-s-build-an-electronic-fidget-cube" data-icid="e14" data-e14adj="t"&gt;Episode 528: Let&amp;#39;s Build an Electronic Fidget Cube!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27375/episode-527---interactive-light-up-window-using-a-raspberry-pi-and-micro-bit" data-icid="e14" data-e14adj="t"&gt;Episode 527: Interactive Light Up Window using a Raspberry Pi and micro:bit&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27366/episode-526-cnc-router-remote-control" data-icid="e14" data-e14adj="t"&gt;Episode 526: CNC Router Remote Control&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/w/documents/27338/episode-525-demonstrating-magnetic-fields-with-helmholtz-coils-in-a-snow-globe" data-icid="e14" data-e14adj="t"&gt;Episode 525: DIY Helmholtz Snow Globe&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/27287/episode-524-arduino-iot-cloud-weather-station" data-e14adj="t"&gt;Episode 524: Arduino IoT Cloud Weather Station&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/27276/episode-523-make-your-own-auto-sensing-solder-fume-extractor" data-e14adj="t"&gt;Episode 523: Make your Own Auto-Sensing Solder Fume Extractor&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23245/episode-522-siren-head-halloween-wearable-costume" data-e14adj="t"&gt;Episode 522: Siren Head Halloween Wearable Costume&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23240/episode-521-diy-static-grass-applicator" data-e14adj="t"&gt;Episode 521: DIY Static Grass Applicator&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23232/episode-520-adding-android-auto-as-non-permanent-add-on-with-raspberry-pi" data-e14adj="t"&gt;Episode 520: Adding Android Auto as Non-Permanent Add-On with Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23225/episode-519-make-your-own-ye-olde-book-nook-diorama-with-arduino" data-e14adj="t"&gt;Episode 519: Make Your Own Ye Olde Book Nook Diorama with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23212/episode-518-guitar-vacuum-tube-distortion-pedal" data-e14adj="t"&gt;Episode 518: Guitar Vacuum Tube Distortion Pedal&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/secret-element14-presents/w/documents/4141/episode-517-emulate-an-eprom---how-hard-could-it-be" data-e14adj="t"&gt;Episode 517: Emulate an EPROM - How Hard Could it Be?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23199/episode-516-modding-a-wireless-doorbell-with-raspberry-pi-and-esp8266" data-e14adj="t"&gt;Episode 516: Modding a Wireless Doorbell with Raspberry Pi and ESP8266&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23190/episode-515-upcycling-a-lenovo-pc-into-a-raspberry-pi-wifi-access-point" data-e14adj="t"&gt;Episode 515: Upcycling a Lenovo PC into a Raspberry Pi WiFi Access Point&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/23183/episode-514-making-a-3d-graphics-card-for-the-atari-800-xl" data-e14adj="t"&gt;Episode 514: Making a 3D Graphics Card for the Atari 800 XL&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5429/episode-513-bike-speedometer-with-arduino-and-gps" data-e14adj="t"&gt;Episode 513: Bike Speedometer with Arduino and GPS&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5422/episode-512-you-cannot-buy-this-vacuum-tube-tester-you-build-it" data-e14adj="t"&gt;Episode 512: You Cannot Buy This Vacuum Tube Tester. You Build It!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5418/episode-511-face-tracking-cheeseball-launcher" data-e14adj="t"&gt;Episode 511:&amp;nbsp; Raspberry Pi Powered Cheeseball Launcher&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5407/episode-510-laser-cutter-command-station" data-e14adj="t"&gt;Episode 510: Laser Cutter Command Station&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5402/episode-509-diy-discrete-logic-led-countdown-timer" data-e14adj="t"&gt;Episode 509: DIY Discrete Logic LED Countdown Timer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5397/episode-508-raspberry-pi-fpv-rover-easy-robot-arm-upgrade" data-e14adj="t"&gt;Episode 508: Raspberry Pi FPV Rover Easy Robot Arm Upgrade&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5391/episode-507-massive-raspberry-pi" data-e14adj="t"&gt;Episode 507: Massive Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5377/episode-506-diy-star-trek-tricorder-from-build-inside-the-box" data-e14adj="t"&gt;Episode 506: DIY Star Trek Tricorder from Build Inside the Box&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5374/episode-505-super-8-camera-digitizer" data-e14adj="t"&gt;Episode 505: Super 8 Camera Digitizer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5369/episode-504-diy-sump-pump-alarm" data-e14adj="t"&gt;Episode 504: DIY Sump Pump Alarm&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5360/episode-503-meet-cheesoid---the-robot-that-smells" data-e14adj="t"&gt;Episode 503: Meet Cheesoid - The Robot That Smells!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5352/episode-502-make-your-bike-a-pokebike" data-e14adj="t"&gt;Episode 502: Make Your Bike a Pokebike!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5033/episode-501-raspberry-pi-nfc-button-free-music-player" data-e14adj="t"&gt;Episode 501: Raspberry Pi NFC Button-Free Music Player&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/20721/episode-500-build-inside-the-box-challenge" data-e14adj="t"&gt;Episode 500:&amp;nbsp; Build Inside The Box Challenge!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5332/episode-499-diy-four-channel-arduino-servo-tester" data-e14adj="t"&gt;Episode 499: DIY Four Channel Arduino Servo Tester&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8706/episode-498-raspberry-pi-smart-water-dispenser" data-e14adj="t"&gt;Episode 498: Raspberry Pi Smart Water Dispenser&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5318/episode-497-raspberry-pi-rfid-pocket-money-keeper" data-e14adj="t"&gt;Episode 497: RFID Pocket Money Keeper&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8705/episode-496-compute-module-4-powered-3d-printer-board" data-e14adj="t"&gt;Episode 496: Compute Module 4 Powered 3D Printer Board&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5308/episode-495-magic-gif-ball-powered-by-raspberry-pi" data-e14adj="t"&gt;Episode 495: Magic GIF Ball Powered By Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5299/episode-494-keyboard-shortcuts-keypad-with-raspberry-pi-pico" data-e14adj="t"&gt;Episode 494: Keyboard Shortcuts Keypad with Raspberry Pi Pico&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5290/episode-493-neopixel-7-segment-display-clock-update" data-e14adj="t"&gt;Episode 493: NeoPixel 7 Segment Display Clock Update&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5275/episode-492-arduino-vs-555-timer---tiny-slot-car-racers" data-e14adj="t"&gt;Episode 492: Arduino vs 555 Timer - Tiny Slot Car Racers&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5273/episode-491-arduino-single-wheel-balancing-robot" data-e14adj="t"&gt;Episode 491: Arduino Single-Wheel Balancing Robot&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5256/episode-490-diy-raspberry-pi-pico-fizz-buzz-multiplication-game" data-e14adj="t"&gt;Episode 490: DIY Raspberry Pi Pico Fizz Buzz Multiplication Game&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5254/episode-489-build-an-fpv-rover-with-raspberry-pi" data-e14adj="t"&gt;Episode 489: Build An FPV Rover with Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5233/episode-488-diy-raspberry-pi-cyberdeck" data-e14adj="t"&gt;Episode 488: DIY Raspberry Pi Cyberdeck&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5232/episode-487-diy-magsafe-battery-charger" data-e14adj="t"&gt;Episode 487: DIY MagSafe Battery Charger&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5229/episode-486-make-the-ultimate-phone-charging-camping-flashlight" data-e14adj="t"&gt;Episode 486: Make The Ultimate Phone Charging Camping Flashlight&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5213/episode-485-how-to-make-a-custom-pcb-from-design-to-assembly" data-e14adj="t"&gt;Episode 485: How To Make A Custom PCB From Design To Assembly&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5211/episode-484-raspberry-pi-bird-watching-camera" data-e14adj="t"&gt;Episode 484: Raspberry Pi Bird Watching Camera&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5201/episode-483-diy-miniature-multimeter" data-e14adj="t"&gt;Episode 483: DIY Miniature Multimeter&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5196/episode-482-gigantic-3d-printed-7-segment-display-clock" data-e14adj="t"&gt;Episode 482: Gigantic 3D Printed 7 Segment Display Clock&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5188/episode-481-diy-lost-swan-station-split-flap-display-timer" data-e14adj="t"&gt;Episode 481: DIY LOST Swan Station Split Flap Display Timer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5181/episode-480-diy-toothbrush-timer" data-e14adj="t"&gt;Episode 480: DIY Toothbrush Timer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5179/episode-479-raspberry-pi-2xl-robot-assistant-part-2" data-e14adj="t"&gt;Episode 479: Raspberry Pi 2XL Robot Assistant Part 2&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5171/episode-478-upgrading-a-christmas-train-with-python-and-raspberry-pi" data-e14adj="t"&gt;Episode 478: Upgrading A Christmas Train&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5169/episode-477-metal-plate-your-3d-prints-with-a-diy-galvanizing-machine" data-e14adj="t"&gt;Episode 477: Metal Plate Your 3D Prints with a DIY Galvanizing Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5160/episode-476-iot-arduino-ntp-world-clock-with-spi-display" data-e14adj="t"&gt;Episode 476: IoT Arduino NTP World Clock with SPI Display&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5147/episode-475-diy-wall-mounted-arduino-barometer" data-e14adj="t"&gt;Episode 475: DIY Wall Mounted Arduino Barometer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5144/episode-474-continuum-robot-tentacle-prototype" data-e14adj="t"&gt;Episode 474: Continuum Robot Tentacle Prototype&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8680/episode-473-mendel-3d-printer-upgrade-and-maintenance" data-e14adj="t"&gt;Episode 473: Mendel 3D Printer Upgrade and Maintenance&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5120/episode-472-diy-hydration-reminder-system" data-e14adj="t"&gt;Episode 472: DIY Hydration Reminder System&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5113/episode-471-diy-dance-dance-revolution-mat" data-e14adj="t"&gt;Episode 471: DIY Dance Dance Revolution Mat&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5102/episode-470-voice-activated-inspector-gadget-hat" data-e14adj="t"&gt;Episode 470: Voice Activated Inspector Gadget Hat&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5063/episode-469-nintendo-super-scope-modded-for-modern-televisions" data-e14adj="t"&gt;Episode 469: Nintendo Super Scope Modded For Modern Televisions&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5092/episode-468-socially-distanced-halloween-candy-dispenser" data-e14adj="t"&gt;Episode 468: Socially Distanced Halloween Candy Dispenser&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5077/episode-467-repairing-the-world-s-first-laptop-epson-hx-20" data-e14adj="t"&gt;Episode 467: Repairing the World&amp;#39;s First Laptop! (Epson HX-20)&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5061/episode-466-arduino-powered-hexadecimal-color-code-clock" data-e14adj="t"&gt;Episode 466: Arduino-powered Hexadecimal Color Code Clock&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5034/episode-465-lego-raspberry-pi-hq-camera" data-e14adj="t"&gt;Episode 465: Lego Raspberry Pi HQ Camera&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5031/episode-464-particle-voice-recognition-for-home-appliances" data-e14adj="t"&gt;Episode 464: Particle Voice Recognition for Home Appliances&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5002/episode-463-raspberry-pi-speech-to-text-led-face-mask" data-e14adj="t"&gt;Episode 463: Raspberry Pi Speech to Text LED Face Mask&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/5012/episode-462-joycon-controlled-electronic-rock-em-sock-em-robots" data-e14adj="t"&gt;Episode 462: Joycon Controlled Electronic Rock&amp;#39;Em Sock&amp;#39;Em Robots&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4980/episode-461-portal-2-security-camera-with-raspberry-pi-2" data-e14adj="t"&gt;Episode 461: Portal 2 Security Camera with Raspberry Pi 2&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4985/episode-460-trinamic-open-source-ventilator-tosv-teardown" data-e14adj="t"&gt;Episode 460: Trinamic Open Source Ventilator (TOSV) Teardown&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4961/episode-459-raspberry-pi-4-vr-conference-call-assistant" data-e14adj="t"&gt;Episode 459: Raspberry Pi 4 VR Conference Call Assistant&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4971/episode-458-diy-arduino-automated-metal-bending-machine" data-e14adj="t"&gt;Episode 458: DIY Arduino Automated Metal Bending Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4966/episode-457-arduino-mkr-zero-animatronic-rosie-the-robot-from-the-jetsons" data-e14adj="t"&gt;Episode 457: Raspberry Pi 4 Animatronic Rosie the Robot from the Jetsons&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8665/episode-456-unhackable-arduino-switch-matrix" data-e14adj="t"&gt;Episode 456: Unhackable Arduino Switch Matrix&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8664/episode-455-arduino-unit-conversion-calculator" data-e14adj="t"&gt;Episode 455: Arduino Unit Conversion Calculator&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4942/episode-454-soldering-up-the-rc2014-homebrew-z80-computer-kit" data-e14adj="t"&gt;Episode 454: Soldering Up the rc2014 Homebrew Z80 Computer Kit&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4937/episode-453-build-an-anti-troll-bot-using-tensorflow-and-arduino" data-e14adj="t"&gt;Episode 453: Build an Anti-Troll Bot Using TensorFlow and Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4914/episode-452-raspberry-pi-4-experimental-resin-3d-printer-updated" data-e14adj="t"&gt;Episode 452: Raspberry Pi 4 Experimental Resin 3D Printer Updated!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4913/episode-451-build-an-off-grid-wikipedia-with-raspberry-pi" data-e14adj="t"&gt;Episode 451: Build an Off Grid Wikipedia with Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4906/episode-450-sega-gamegear-rebuild-with-leds" data-e14adj="t"&gt;Episode 450: Sega GameGear Rebuild with LEDs&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8657/episode-449-diy-tamagotchi---build-a-virtual-pet" data-e14adj="t"&gt;Episode 449: DIY Tamagotchi - Build a Virtual Pet&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4895/episode-448-diy-raspberry-pi-4-boxing-game" data-e14adj="t"&gt;Episode 448: DIY Raspberry Pi 4 Boxing Game&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4873/episode-447-diy-stop-motion-rig-with-lattepanda" data-e14adj="t"&gt;Episode 447: DIY Stop Motion Rig with LattePanda&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4871/episode-446-raspberry-pi-2xl-robot-assistant-part-1" data-e14adj="t"&gt;Episode 446: Raspberry Pi 2XL Robot Assistant Part 1&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8652/episode-445-raspberry-pi-4-animatronic-bd-1-companion-robot" data-e14adj="t"&gt;Episode 445: Raspberry Pi 4 Animatronic BD-1 Companion Robot&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4848/episode-444-raspberry-pi-4-dvr" data-e14adj="t"&gt;Episode 444: Raspberry Pi 4 DVR&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4836/episode-443-arduino-uno-rc-remote---can-it-be-done" data-e14adj="t"&gt;Episode 443: Arduino Uno RC Remote - Can It Be Done?&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4834/episode-442-make-your-own-giant-servo" data-e14adj="t"&gt;Episode 442: Make Your Own Giant Servo&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4818/episode-441-raspberry-pi-4-international-space-station-tracker" data-e14adj="t"&gt;Episode 441: Raspberry Pi 4 International Space Station Tracker&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4810/episode-440-diy-arduino-helicopter-collective-joystick-control" data-e14adj="t"&gt;Episode 440: DIY Arduino Helicopter Collective Joystick Control&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4796/episode-439---mechanical-arcade-game-with-barebones-arduino" data-e14adj="t"&gt;Episode 439 - Mechanical Arcade Game with Barebones Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4787/episode-438-smartphone-controlled-diy-rover-using-websockets" data-e14adj="t"&gt;Episode 438: Smartphone Controlled DIY Rover Using Websockets&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4771/episode-437-diy-motorized-zoom-for-your-dslr" data-e14adj="t"&gt;Episode 437: DIY Motorized Zoom for Your DSLR&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4767/episode-436-automated-raspberry-pi-planet-tracking-goto-telescope" data-e14adj="t"&gt;Episode 436: Automated Raspberry Pi Planet Tracking GOTO Telescope&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4756/episode-435-raspberry-pi-4-music-player-w-analog-controls" data-e14adj="t"&gt;Episode 435: Raspberry Pi 4 Music Player w/Analog Controls&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8637/episode-434-infineon-smart-city-model" data-e14adj="t"&gt;Episode 434: Infineon Smart City Model&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4742/episode-433---arduino-based-love-tester" data-e14adj="t"&gt;Episode 433: Arduino Based Love Tester&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4728/episode-432-super-fx-sword-using-the-bbc-micro-bit" data-e14adj="t"&gt;Episode 432: Super FX Sword using the BBC micro:bit&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4726/episode-431-room-sized-studio-light-speakers-combo" data-e14adj="t"&gt;Episode 431: Room-Sized Studio Light Speakers Combo&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4692/episode-430-flaming-xylophone-rubens-tube" data-e14adj="t"&gt;Episode 430: Flaming Xylophone Rubens&amp;#39; Tube&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4670/episode-429-youtuber-on-air-light-with-particle-mesh-network" data-e14adj="t"&gt;Episode 429: YouTuber &amp;quot;On Air&amp;quot; Light with Particle Mesh Network&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4668/episode-428-raspberry-pi-4-crt-based-vr-headset" data-e14adj="t"&gt;Episode 428: Raspberry Pi 4 CRT-based VR Headset&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4657/episode-427-diy-retro-gaming-portable-on-a-budget" data-e14adj="t"&gt; Episode 427: DIY Retro Gaming Portable on a Budget!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4142/episode-426-retro-tv-ads-holiday-ornament" data-e14adj="t"&gt; Episode 426: Retro TV Ads Holiday Ornament&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4651/episode-425-make-your-own-raspberry-pi-4-photobooth" data-e14adj="t"&gt; Episode 425: Make Your Own Raspberry Pi 4 Photobooth!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4646/episode-424-diy-escape-room-puzzle" data-e14adj="t"&gt; Episode 424: DIY Escape Room Puzzle&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4644/episode-423-programmable-arduino-synthesizer-watch" data-e14adj="t"&gt; Episode 423: Programmable Arduino Synthesizer Watch&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4628/episode-422-raspberry-pi-e-ink-task-organizer" data-e14adj="t"&gt; Episode 422: Raspberry Pi E-Ink Task Organizer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4627/episode-421-raspberry-pi-4-commodore-sx-64-inspired-portable-computer" data-e14adj="t"&gt; Episode 421: Raspberry Pi 4 Commodore SX-64 Inspired Portable Computer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4616/episode-420-diy-shapeoko-cnc-pendant" data-e14adj="t"&gt; Episode 420: DIY Shapeoko CNC Pendant&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4607/episode-419-altair-8800-laptop" data-e14adj="t"&gt; Episode 419: Altair 8800 Laptop &lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4604/episode-418-animatronic-terminator-skull-with-beaglebone-ai-and-giveaway" data-e14adj="t"&gt;&amp;nbsp;Episode 418: Animatronic Terminator Skull with BeagleBone&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;&amp;nbsp;AI&amp;nbsp;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8619/episode-417-pipboy-2000-mk-ii" data-e14adj="t"&gt;Episode 417: #Pipboy 2000 Mk II&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4596/episode-416---diy-3dprinted-label-spooler" data-e14adj="t"&gt;Episode 416: DIY #3DPrinted Label Spooler&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4588/episode-415-iron-man-helmet-heads-up-display" data-e14adj="t"&gt;Episode 415: Iron Man Helmet Heads Up Display&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4580/episode-414-raspberry-pi-4-experimental-resin-3d-printer" data-e14adj="t"&gt;Episode 414: Raspberry Pi 4 Experimental Resin 3D Printer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8610/episode-413-animatronic-claptrap-case-mod-part-2" data-e14adj="t"&gt;Episode 413: Animatronic Claptrap Case Mod Part 2&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4558/episode-412-get-to-know-your-adc-with-a-diy-temperature-probe" data-e14adj="t"&gt;Episode 412: Get to Know Your ADC with a DIY Temperature Probe&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4531/episode-411-animatronic-claptrap-computer-case---part-1" data-e14adj="t"&gt;Episode 411: Animatronic Claptrap Computer Case - Part 1&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4537/episode-410-macpro-g5-cheese-grater-with-raspberry-pi-4" data-e14adj="t"&gt;Episode 410: MacPro G5 Cheese Grater with Raspberry Pi 4&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4522/episode-409-commodore-sx-64-restoration" data-e14adj="t"&gt;Episode 409: Commodore SX-64 Restoration&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4516/episode-408-hand-soldered-led-oscilloscope" data-e14adj="t"&gt;Episode 408: Hand Soldered LED Oscilloscope&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4514/episode-407-the-ultimate-raspberry-pi-4-laptop" data-e14adj="t"&gt;Episode 407: The Ultimate Raspberry Pi 4 Laptop&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4507/episode-406-automated-robot-artist" data-e14adj="t"&gt;Episode 406: Automated Robot Artist&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4493/episode-405-rc-ornithopter-concept" data-e14adj="t"&gt;Episode 405: RC Ornithopter Concept&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4488/episode-404-arduino-powered-close-encounters-midi-light-board" data-e14adj="t"&gt;Episode 404: Arduino Powered Close Encounters Midi Light Board&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4459/episode-403-upcycled-iot-coffee-pot-ramen-maker" data-e14adj="t"&gt;Episode 403: Upcycled IoT Coffee Pot Ramen Maker&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4422/episode-402-piphone-the-giant-raspberry-pi-flip-phone" data-e14adj="t"&gt;Episode 402: PiPhone++ The Giant Raspberry Pi Flip Phone&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4128/episode-401-matrix-voice-controlled-robot" data-e14adj="t"&gt;Episode 401: Matrix Voice Controlled Robot&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4127/episode-400-the-ultimate-raspberry-pi-stress-test" data-e14adj="t"&gt;Episode 400: The Ultimate Raspberry Pi Stress Test&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4129/episode-399-candle-powered-robot" data-e14adj="t"&gt;Episode 399: Candle-Powered Robotl&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4044/episode-398-let-me-out-hooman-bluetooth-dog-doorbell" data-e14adj="t"&gt;Episode 398: Let Me Out Hooman! Bluetooth Dog Doorbell&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4126/episode-397-steam-powered-retropie-console" data-e14adj="t"&gt;Episode 397: Steam Powered Retropie Console&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4043/episode-396-arduino-retro-led-matrix-handheld" data-e14adj="t"&gt;Episode 396: Arduino Retro LED Matrix Handheld&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4042/episode-395-raspberry-pi-stop-motion-machine" data-e14adj="t"&gt;Episode 395: Raspberry Pi Stop Motion Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8531/episode-394-animatronic-glados-head-with-raspberry-pi" data-e14adj="t"&gt;Episode 394: Animatronic GLaDOS Head with Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4125/episode-393-gameboy-walkman" data-e14adj="t"&gt;Episode 393: GameBoy Walkman&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4191/episode-392-multi-line-telephone-intercom" data-e14adj="t"&gt;Episode 392: Multi-Line Telephone Intercom&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4124/episode-391-first-person-view-rc-car-with-ps1-steering-wheel" data-e14adj="t"&gt;Episode 391: First Person View RC Car with PS2 Steering Wheel&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4122/episode-390-retro-texting-smart-watch-of-the-future" data-e14adj="t"&gt;Episode 390: Retro Texting Smart Watch of the Future!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4120/episode-389-playstation-classic-portable-prototype" data-e14adj="t"&gt;Episode 389: PlayStation Classic Portable Prototype&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8519/episode-388-fpga-midi-music-synthesizer" data-e14adj="t"&gt;Episode 388: FPGA MIDI Music Synthesizer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4057/episode-387-rotocell---the-rotary-cell-phone-of-the-future" data-e14adj="t"&gt;Episode 387: Rotocell - The Rotary Cell Phone of the Future!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4038/episode-386-xybernaut-wearable-pc" data-e14adj="t"&gt;Episode 386: Xybernaut Wearable PC&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4117/episode-385-20-pcb-design-pitfalls" data-e14adj="t"&gt;Episode 385: 20 PCB Design Pitfalls&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4035/episode-384-retro-gaming-handheld-without-a-pcb" data-e14adj="t"&gt;Episode 384: Retro Gaming Handheld Without a PCB&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4058/episode-383-gameboy-wireless-link-cable-dmg1" data-e14adj="t"&gt;Episode 383: Gameboy Wireless Link Cable (DMG1)&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8501/episode-382-modding-a-super-8-camera-into-a-digital" data-e14adj="t"&gt;Episode 382: Modding a Super 8 Camera into a Digital&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4067/episode-381-reverse-music-box" data-e14adj="t"&gt;Episode 381: Reverse Music Box&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4039/episode-380-nes-zapper-on-retropie" data-e14adj="t"&gt;Episode 380: NES Zapper on RetroPie&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4036/episode-379-macroscope-soldering-tool" data-e14adj="t"&gt;Episode 379: Macroscope Soldering Tool&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8500/episode-378-invader-zim-animatronic-gir" data-e14adj="t"&gt;Episode 378: Invader ZIM Animatronic GIR&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4034/episode-377-altair-8800-replica" data-e14adj="t"&gt;Episode 377: Altair 8800 Replica&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4028/episode-376-4d-gaming-with-the-matrix-creator" data-e14adj="t"&gt;Episode 376: 4D Gaming with the Matrix Creator&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4025/episode-375-hacked-fetal-detector-music-synthesizer" data-e14adj="t"&gt;Episode 375: Hacked Fetal Detector Music Synthesizer&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/4008/episode-374-raspberry-pi-donkey-kong-holiday-ornament" data-e14adj="t"&gt;Episode 374: Raspberry Pi Donkey Kong Holiday Ornament&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3992/episode-373-raspberry-pi-fallout-terminal-pc" data-e14adj="t"&gt;Episode 373: Raspberry Pi Fallout Terminal PC&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8497/episode-372-raspberry-pi-auto-etch-a-sketch" data-e14adj="t"&gt;Episode 372: Raspberry Pi Auto Etch A Sketch&lt;span class="emoticon" data-url="https://community.element14.com/cfs-file/__key/system/emoji/2122.svg" title="Tm"&gt;&amp;#x2122;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3990/episode-371-fpga-game-genie-for-atari-2600" data-e14adj="t"&gt;Episode 371: FPGA &amp;quot;Game Genie&amp;quot; for Atari 2600&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3989/episode-370-raspberry-pi-noaa-satellite-receiver" data-e14adj="t"&gt;Episode 370: Raspberry Pi NOAA Satellite Receiver&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3979/episode-369-recreating-the-atari-portfolio" data-e14adj="t"&gt;Episode 369: Recreating the Atari Portfolio&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3977/episode-368-arduino-automatic-wire-cutter-and-stripper" data-e14adj="t"&gt;Episode 368: Arduino Automatic Wire Cutter and Stripper&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3968/episode-367-most-useless-iot-device-ever---part-2" data-e14adj="t"&gt;Episode 367: Most Useless IoT Device Ever - Part 2&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3960/episode-366-infinity-icosahedron" data-e14adj="t"&gt;Episode 366: Infinity Icosahedron&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3949/episode-365-twilight-zone-fortune-telling-machine" data-e14adj="t"&gt;Episode 365: Twilight Zone Fortune Telling Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3934/episode-364-raspberry-pi-virtual-reality-arcade" data-e14adj="t"&gt;Episode 364: Raspberry Pi Virtual Reality Arcade #VR&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3920/episode-363-add-a-motor-to-your-bike-with-arduino" data-e14adj="t"&gt;Episode 363 - Add a Motor to your Bike with Arduino&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3912/episode-362-most-worthless-iot-device-ever---part-1" data-e14adj="t"&gt;Episode 362: Most Worthless IoT Device Ever Pt. 1&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3903/episode-361-r-o-b-rebuild-and-upgrade" data-e14adj="t"&gt;Episode 361: R.O.B Rebuild and Upgrade&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3887/episode-360-make-your-own-raspberry-pi-cell-phone" data-e14adj="t"&gt;Episode 360: Make Your Own Raspberry Pi Cell Phone&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3875/episode-359-make-your-own-cnc-pyrography-wood-burner" data-e14adj="t"&gt;Episode 359: Make Your Own CNC Pyrography Wood Burner&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3863/episode-358-the-shrimp-of-terror" data-e14adj="t"&gt;Episode 358: The Shrimp of Terror!&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3848/episode-357-raspberry-pi-asteroid-tracker" data-e14adj="t"&gt;Episode 357: Raspberry Pi Asteroid Tracker&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/8491/episode-356-bank-to-the-future-with-arduino-ti" data-e14adj="t"&gt;Episode 356: Bank to the Future with Arduino &amp;amp; TI&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3826/episode-355-raspberry-pi-pirate-radio" data-e14adj="t"&gt;Episode 355: Raspberry Pi Pirate Radio&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3816/episode-354-tiny-vacuum-forming-machine" data-e14adj="t"&gt;Episode 354: Tiny Vacuum Forming Machine&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3809/episode-353-program-your-own-fpga-video-game" data-e14adj="t"&gt;Episode 353: Program Your Own FPGA Video Game&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3784/episode-352-pripyat---diy-geiger-counter" data-e14adj="t"&gt;Episode 352: Pripyat - DIY Geiger Counter&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/project-videos/w/documents/3747/episode-349-raspberry-pi-selfie-rocket" data-e14adj="t"&gt;Episode 349: Raspberry Pi Selfie Rocket&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-top:12px;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive" data-e14adj="t"&gt;See All Previous Episodes&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: episode releases, friday_release_archive, element14 presents, project videos, episodes, friday releases, episode release archive, episode archive, friday release archive, project_videos&lt;/div&gt;
</description></item><item><title>Was that my Number!? Fixing Café Order Chaos with a Raspberry Pi Announcer</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer</link><pubDate>Thu, 09 Apr 2026 13:24:41 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:078e7db6-cf4b-4ee7-a97e-9e1e670a7b78</guid><dc:creator>e14sbhargav</dc:creator><description>Current Revision posted to Documents by e14sbhargav on 4/9/2026 1:24:41 PM&lt;br /&gt;
&lt;p&gt;In this video, Lorraine tackles a familiar caf&amp;eacute; problem: noisy spaces and unclear order callouts. Using a Raspberry Pi Zero, keypad, OLED screen, and USB audio, she designs a compact announcer that plays clear, pre‑recorded numbers at the press of a button. Along the way, she works through real‑world challenges, from slow installs on the Pi Zero and audio format conversions to keypad wiring, enclosure choices, and building a phone-based workflow for recording and uploading clips. The result is a practical, human‑centred project with potential far beyond caf&amp;eacute;s, including accessibility-focused communication tools, you can find the supporting&amp;nbsp;files and project video below.&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2o0"&gt;Order&amp;#39;s Up!&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/5xZ9l8wCHgQ"&gt;https://youtu.be/5xZ9l8wCHgQ&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jlp4ocek0"&gt;A Clearer Way to Call Orders: Building a Raspberry Pi Caf&amp;eacute; Announcer&lt;/h2&gt;
&lt;p&gt;Anyone who has spent time waiting for food in a busy caf&amp;eacute; knows the routine. You&amp;rsquo;re handed a number, you sit down, and then you wait, half listening, half guessing, while numbers are quietly called out into a noisy room. Sometimes the speaker system distorts the audio. Sometimes there is no speaker system at all. And sometimes the number is announced so softly that it barely registers as speech. Lorraine&amp;rsquo;s project starts from this very familiar frustration and asks a simple question: &lt;em&gt;what if caf&amp;eacute; order announcements were always clear, consistent, and impossible to miss?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The idea behind the project is straightforward but thoughtful. Instead of relying on live announcements, caf&amp;eacute;s could pre‑record their order numbers in a quiet space, using a clear and steady voice. Those recordings could then be played back at the press of a button, loud enough to cut through background noise and consistent every time. The result would be faster service, fewer missed orders, and less repeated shouting from staff.&lt;/p&gt;
&lt;p&gt;From that idea, Lorraine builds a compact, self‑contained caf&amp;eacute; announcer using a Raspberry Pi Zero, a keypad, a small OLED screen, and a USB speaker.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000050.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek1"&gt;Choosing Simple Parts Over Complexity&lt;/h2&gt;
&lt;p&gt;At the heart of the project is a Raspberry Pi Zero, selected not for power but for size and practicality. This is a device intended to live on a counter, not a desk, so keeping the footprint small matters. An SD card preloaded with Raspberry Pi OS handles storage and booting, while a standard Raspberry Pi power supply keeps things stable during testing and use.&lt;/p&gt;
&lt;p&gt;One of the earliest design decisions Lorraine makes is to avoid unnecessary hardware complexity. Rather than using an audio HAT or custom amplifier circuitry, she opts for a simple USB speaker. This turns out to be one of the project&amp;rsquo;s biggest wins. By switching the Pi&amp;rsquo;s audio output from HDMI to USB and testing playback with a standard audio file, she confirms that sound works immediately and reliably, no extra drivers, no custom configuration, no fragile setup. Compared to previous projects involving more complex audio hardware, this approach is refreshingly painless.&lt;/p&gt;
&lt;p&gt;That decision sets the tone for the rest of the build: wherever possible, choose solutions that are well supported, predictable, and easy to maintain.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000217.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek2"&gt;Giving the Device a Straightforward Interface&lt;/h2&gt;
&lt;p&gt;For user interaction, the project relies on two key components: a keypad for input and an OLED display for feedback. The keypad allows caf&amp;eacute; staff to enter order numbers directly, while the OLED shows what is being typed so there is no ambiguity about the input.&lt;/p&gt;
&lt;p&gt;The OLED connects over I&amp;sup2;C, keeping wiring minimal. Lorraine enables I&amp;sup2;C on the Pi, installs the required libraries, and runs test examples to confirm the display works correctly. She notes, candidly, that installing libraries on a Pi Zero can be painfully slow, something anyone who has used one will recognise. This reinforces the importance of keeping the software stack lean and avoiding unnecessary overhead.&lt;/p&gt;
&lt;p&gt;Once the OLED is displaying output, attention shifts to the keypad. Lorraine takes care with the physical layout, choosing a right‑angle pin header so that wires can be routed neatly and kept out of sight inside the enclosure. This is not just about aesthetics; it reduces strain on solder joints and lowers the risk of cables being pulled loose during everyday use.&lt;/p&gt;
&lt;p&gt;Wiring the keypad involves mapping rows and columns to specific GPIO pins. Lorraine follows the keypad&amp;rsquo;s technical documentation closely, noting that the physical orientation and pin numbering can be confusing if you are not careful. Before integrating anything else, she writes a simple test script to confirm that each key press is detected and printed correctly. Only once the keypad, OLED, and speaker all work independently does she move on to combining them.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000335.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek3"&gt;Solving the Audio Problem Properly&lt;/h2&gt;
&lt;p&gt;With the hardware behaving as expected, the project&amp;rsquo;s focus shifts to audio, specifically, how the spoken numbers are recorded, managed, and played back.&lt;/p&gt;
&lt;p&gt;Rather than recording audio directly on the Raspberry Pi, Lorraine builds a companion phone app. This app allows numbers to be recorded in a quiet environment, trimmed visually using waveforms, and previewed before being sent to the Pi. This choice is significant: it recognises that caf&amp;eacute;s are not ideal places for recording clean audio and that staff need a simple, friendly way to update or re‑record announcements.&lt;/p&gt;
&lt;p&gt;While testing, Lorraine encounters an interesting challenge. Playing back individual recordings for &amp;ldquo;20&amp;rdquo; and &amp;ldquo;1&amp;rdquo; does not always sound natural when combined into &amp;ldquo;21.&amp;rdquo; Timing gaps that are too long or too short can make the result feel awkward or robotic. She experiments with trimming and configurable gaps between clips, eventually concluding that there is a simpler and often better solution: record whole numbers as complete phrases. Recording &amp;ldquo;twenty‑two&amp;rdquo; as a single clip sounds far more natural than stitching together &amp;ldquo;twenty&amp;rdquo; and &amp;ldquo;two.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;This insight is an important one for anyone recreating the project. While clever audio composition is possible, sometimes the most reliable approach is to reduce complexity and record exactly what you intend to play.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000425.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek4"&gt;Moving Files Efficiently on a Small Computer&lt;/h2&gt;
&lt;p&gt;To transfer audio files from the phone to the Raspberry Pi, Lorraine turns the Pi into a small web service using Flask. As long as the phone and Pi are on the same network, audio files can be uploaded wirelessly. The moment the first upload succeeds is met with genuine surprise, a familiar reaction when networking works on the first try.&lt;/p&gt;
&lt;p&gt;Once uploaded, the Pi handles the final processing. The recordings arrive as M4A files, which are not ideal for lightweight playback on a Pi Zero. While tools like mplayer can play them, Lorraine finds performance sluggish. Instead, she converts the files to WAV format using ffmpeg, making playback faster and more reliable. She notes that this conversion should ideally happen automatically as files arrive, and that further refinement is needed to avoid reprocessing files unnecessarily.&lt;/p&gt;
&lt;p&gt;These performance‑driven choices highlight an important reality of working with small single‑board computers: format choices and processing overhead matter.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000565.png" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/interval_5F00_000537.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek5"&gt;Packaging It as a Real Device&lt;/h2&gt;
&lt;p&gt;With the system working end‑to‑end, Lorraine turns her attention to enclosure design. She experiments with different boxes, thinking carefully about speaker placement, screen visibility, cable exits, and how to protect internal wiring from being pulled or damaged. While she does not settle on a final enclosure design, she is clear about the priorities: the device should feel solid, compact, and purpose‑built, not like exposed electronics in a box.&lt;/p&gt;
&lt;p&gt;During final testing, she demonstrates two operating modes: a web mode for uploading new audio files and a ready mode for announcing numbers. The keypad input triggers playback exactly as intended, and the OLED provides immediate visual confirmation. One remaining improvement she identifies is better feedback when a number has not been recorded, currently, missing files result in silence, something that should be made clearer to the user.&lt;/p&gt;
&lt;p&gt;By the end of the project, it is clear that this is more than a novelty caf&amp;eacute; accessory. Lorraine reflects on broader uses, particularly in accessibility. The same system could be used to pre‑record phrases for people who struggle to speak in stressful situations, offering a discreet, button‑based alternative to using a phone.&lt;/p&gt;
&lt;p&gt;The project is honest about what is unfinished, enclosure refinement, smarter file handling, improved feedback, but it also reaches a meaningful milestone: it works. The core idea is sound, the implementation is practical, and the device already solves the problem it set out to address. What&amp;#39;s most underplayed is the full development&amp;nbsp;and the&amp;nbsp;integration of a standalone phone application that interacts with the &amp;#39;hardware&amp;#39; that is the Raspberry Pi Zero WH, making this a well rounded project overal!&lt;/p&gt;
&lt;p&gt;For Lorraine, getting the idea &amp;ldquo;out of her head and into the world&amp;rdquo; is the real success. And for anyone recreating the project, the lessons are clear: prioritise clarity, test each component in isolation, and choose simplicity wherever possible.&lt;/p&gt;
&lt;p&gt;&lt;p align="center"&gt;[Please visit the site to access the poll]&lt;/p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4qlt8a" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Supporting Links and Files&lt;/h2&gt;
&lt;p&gt;- &lt;a title="Github Repo" href="https://github.com/Lorrainbow/keypad-voice/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Github Repo&lt;/a&gt;&amp;nbsp;(snapshot of the files:&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/151197"&gt;Episode 709 Resources&lt;/a&gt;&amp;nbsp; )&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4p5308"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-bdd8d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986,4550988,3838503,2723300,1182236,4007809,3401776&amp;nsku=69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('bdd8d'));" data-farnell="4163986,4550988,3838503,2723300,1182236,4007809,3401776" data-newark="69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838" data-comoverride="" data-cmpoverride="" data-cpc=",,,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Zero WH&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1b044" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986&amp;nsku=69AK9093&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1b044'));" data-farnell="4163986" data-newark="69AK9093" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi SD Card&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-00c99" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4550988&amp;nsku=16AM2470&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('00c99'));" data-farnell="4550988" data-newark="16AM2470" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Power Supply Unit&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-91d37" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3838503&amp;nsku=71AJ9652&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('91d37'));" data-farnell="3838503" data-newark="71AJ9652" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Adaptor&lt;/td&gt;
&lt;td&gt;SECOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-680ac" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2723300&amp;nsku=12AC6807&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('680ac'));" data-farnell="2723300" data-newark="12AC6807" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keypad&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-b59f5" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1182236&amp;nsku=24M4388&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('b59f5'));" data-farnell="1182236" data-newark="24M4388" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OLED Screen&lt;/td&gt;
&lt;td&gt;Seed studio&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e23a5" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4007809&amp;nsku=42AK5768&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e23a5'));" data-farnell="4007809" data-newark="42AK5768" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Switch&lt;/td&gt;
&lt;td&gt;Pro Signal&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-fc02e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3401776&amp;nsku=82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('fc02e'));" data-farnell="3401776" data-newark="82X6838" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A box&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2p1"&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;h3 id="mcetoc_1jlouns2p8"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: small business raspberry pi project, Raspberry Pi audio project, e14p_LU, Raspberry Pi keypad project, e14presents_lorraineunderwood, custom audio announcements ystem, Raspberry Pi speaker project, embedded audio system Raspberry Pi, Raspberry Pi Flask audio upload, raspberry pi zero wh project, raspberry pi, order management system with raspberry pi, accessibility communication device DIY, Raspberry Pi OLED display project, Raspberry Pi cafe announcer, USB speaker Raspberry Pi, pre recorded audio playback, DIY cafe order system, keypad controlled audio player&lt;/div&gt;
</description></item><item><title>Was that my Number!? Fixing Café Order Chaos with a Raspberry Pi Announcer</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer/revision/10</link><pubDate>Thu, 09 Apr 2026 13:24:41 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:078e7db6-cf4b-4ee7-a97e-9e1e670a7b78</guid><dc:creator>cstanton</dc:creator><description>Revision 10 posted to Documents by cstanton on 4/9/2026 1:24:41 PM&lt;br /&gt;
&lt;p&gt;In this video, Lorraine tackles a familiar caf&amp;eacute; problem: noisy spaces and unclear order callouts. Using a Raspberry Pi Zero, keypad, OLED screen, and USB audio, she designs a compact announcer that plays clear, pre‑recorded numbers at the press of a button. Along the way, she works through real‑world challenges, from slow installs on the Pi Zero and audio format conversions to keypad wiring, enclosure choices, and building a phone-based workflow for recording and uploading clips. The result is a practical, human‑centred project with potential far beyond caf&amp;eacute;s, including accessibility-focused communication tools, you can find the supporting&amp;nbsp;files and project video below.&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2o0"&gt;Order&amp;#39;s Up!&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/5xZ9l8wCHgQ"&gt;https://youtu.be/5xZ9l8wCHgQ&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jlp4ocek0"&gt;A Clearer Way to Call Orders: Building a Raspberry Pi Caf&amp;eacute; Announcer&lt;/h2&gt;
&lt;p&gt;Anyone who has spent time waiting for food in a busy caf&amp;eacute; knows the routine. You&amp;rsquo;re handed a number, you sit down, and then you wait, half listening, half guessing, while numbers are quietly called out into a noisy room. Sometimes the speaker system distorts the audio. Sometimes there is no speaker system at all. And sometimes the number is announced so softly that it barely registers as speech. Lorraine&amp;rsquo;s project starts from this very familiar frustration and asks a simple question: &lt;em&gt;what if caf&amp;eacute; order announcements were always clear, consistent, and impossible to miss?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The idea behind the project is straightforward but thoughtful. Instead of relying on live announcements, caf&amp;eacute;s could pre‑record their order numbers in a quiet space, using a clear and steady voice. Those recordings could then be played back at the press of a button, loud enough to cut through background noise and consistent every time. The result would be faster service, fewer missed orders, and less repeated shouting from staff.&lt;/p&gt;
&lt;p&gt;From that idea, Lorraine builds a compact, self‑contained caf&amp;eacute; announcer using a Raspberry Pi Zero, a keypad, a small OLED screen, and a USB speaker.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000050.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek1"&gt;Choosing Simple Parts Over Complexity&lt;/h2&gt;
&lt;p&gt;At the heart of the project is a Raspberry Pi Zero, selected not for power but for size and practicality. This is a device intended to live on a counter, not a desk, so keeping the footprint small matters. An SD card preloaded with Raspberry Pi OS handles storage and booting, while a standard Raspberry Pi power supply keeps things stable during testing and use.&lt;/p&gt;
&lt;p&gt;One of the earliest design decisions Lorraine makes is to avoid unnecessary hardware complexity. Rather than using an audio HAT or custom amplifier circuitry, she opts for a simple USB speaker. This turns out to be one of the project&amp;rsquo;s biggest wins. By switching the Pi&amp;rsquo;s audio output from HDMI to USB and testing playback with a standard audio file, she confirms that sound works immediately and reliably, no extra drivers, no custom configuration, no fragile setup. Compared to previous projects involving more complex audio hardware, this approach is refreshingly painless.&lt;/p&gt;
&lt;p&gt;That decision sets the tone for the rest of the build: wherever possible, choose solutions that are well supported, predictable, and easy to maintain.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000217.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek2"&gt;Giving the Device a Straightforward Interface&lt;/h2&gt;
&lt;p&gt;For user interaction, the project relies on two key components: a keypad for input and an OLED display for feedback. The keypad allows caf&amp;eacute; staff to enter order numbers directly, while the OLED shows what is being typed so there is no ambiguity about the input.&lt;/p&gt;
&lt;p&gt;The OLED connects over I&amp;sup2;C, keeping wiring minimal. Lorraine enables I&amp;sup2;C on the Pi, installs the required libraries, and runs test examples to confirm the display works correctly. She notes, candidly, that installing libraries on a Pi Zero can be painfully slow, something anyone who has used one will recognise. This reinforces the importance of keeping the software stack lean and avoiding unnecessary overhead.&lt;/p&gt;
&lt;p&gt;Once the OLED is displaying output, attention shifts to the keypad. Lorraine takes care with the physical layout, choosing a right‑angle pin header so that wires can be routed neatly and kept out of sight inside the enclosure. This is not just about aesthetics; it reduces strain on solder joints and lowers the risk of cables being pulled loose during everyday use.&lt;/p&gt;
&lt;p&gt;Wiring the keypad involves mapping rows and columns to specific GPIO pins. Lorraine follows the keypad&amp;rsquo;s technical documentation closely, noting that the physical orientation and pin numbering can be confusing if you are not careful. Before integrating anything else, she writes a simple test script to confirm that each key press is detected and printed correctly. Only once the keypad, OLED, and speaker all work independently does she move on to combining them.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000335.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek3"&gt;Solving the Audio Problem Properly&lt;/h2&gt;
&lt;p&gt;With the hardware behaving as expected, the project&amp;rsquo;s focus shifts to audio, specifically, how the spoken numbers are recorded, managed, and played back.&lt;/p&gt;
&lt;p&gt;Rather than recording audio directly on the Raspberry Pi, Lorraine builds a companion phone app. This app allows numbers to be recorded in a quiet environment, trimmed visually using waveforms, and previewed before being sent to the Pi. This choice is significant: it recognises that caf&amp;eacute;s are not ideal places for recording clean audio and that staff need a simple, friendly way to update or re‑record announcements.&lt;/p&gt;
&lt;p&gt;While testing, Lorraine encounters an interesting challenge. Playing back individual recordings for &amp;ldquo;20&amp;rdquo; and &amp;ldquo;1&amp;rdquo; does not always sound natural when combined into &amp;ldquo;21.&amp;rdquo; Timing gaps that are too long or too short can make the result feel awkward or robotic. She experiments with trimming and configurable gaps between clips, eventually concluding that there is a simpler and often better solution: record whole numbers as complete phrases. Recording &amp;ldquo;twenty‑two&amp;rdquo; as a single clip sounds far more natural than stitching together &amp;ldquo;twenty&amp;rdquo; and &amp;ldquo;two.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;This insight is an important one for anyone recreating the project. While clever audio composition is possible, sometimes the most reliable approach is to reduce complexity and record exactly what you intend to play.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000425.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek4"&gt;Moving Files Efficiently on a Small Computer&lt;/h2&gt;
&lt;p&gt;To transfer audio files from the phone to the Raspberry Pi, Lorraine turns the Pi into a small web service using Flask. As long as the phone and Pi are on the same network, audio files can be uploaded wirelessly. The moment the first upload succeeds is met with genuine surprise, a familiar reaction when networking works on the first try.&lt;/p&gt;
&lt;p&gt;Once uploaded, the Pi handles the final processing. The recordings arrive as M4A files, which are not ideal for lightweight playback on a Pi Zero. While tools like mplayer can play them, Lorraine finds performance sluggish. Instead, she converts the files to WAV format using ffmpeg, making playback faster and more reliable. She notes that this conversion should ideally happen automatically as files arrive, and that further refinement is needed to avoid reprocessing files unnecessarily.&lt;/p&gt;
&lt;p&gt;These performance‑driven choices highlight an important reality of working with small single‑board computers: format choices and processing overhead matter.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000565.png" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000537.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek5"&gt;Packaging It as a Real Device&lt;/h2&gt;
&lt;p&gt;With the system working end‑to‑end, Lorraine turns her attention to enclosure design. She experiments with different boxes, thinking carefully about speaker placement, screen visibility, cable exits, and how to protect internal wiring from being pulled or damaged. While she does not settle on a final enclosure design, she is clear about the priorities: the device should feel solid, compact, and purpose‑built, not like exposed electronics in a box.&lt;/p&gt;
&lt;p&gt;During final testing, she demonstrates two operating modes: a web mode for uploading new audio files and a ready mode for announcing numbers. The keypad input triggers playback exactly as intended, and the OLED provides immediate visual confirmation. One remaining improvement she identifies is better feedback when a number has not been recorded, currently, missing files result in silence, something that should be made clearer to the user.&lt;/p&gt;
&lt;p&gt;By the end of the project, it is clear that this is more than a novelty caf&amp;eacute; accessory. Lorraine reflects on broader uses, particularly in accessibility. The same system could be used to pre‑record phrases for people who struggle to speak in stressful situations, offering a discreet, button‑based alternative to using a phone.&lt;/p&gt;
&lt;p&gt;The project is honest about what is unfinished, enclosure refinement, smarter file handling, improved feedback, but it also reaches a meaningful milestone: it works. The core idea is sound, the implementation is practical, and the device already solves the problem it set out to address. What&amp;#39;s most underplayed is the full development&amp;nbsp;and the&amp;nbsp;integration of a standalone phone application that interacts with the &amp;#39;hardware&amp;#39; that is the Raspberry Pi Zero WH, making this a well rounded project overal!&lt;/p&gt;
&lt;p&gt;For Lorraine, getting the idea &amp;ldquo;out of her head and into the world&amp;rdquo; is the real success. And for anyone recreating the project, the lessons are clear: prioritise clarity, test each component in isolation, and choose simplicity wherever possible.&lt;/p&gt;
&lt;p&gt;&lt;p align="center"&gt;[Please visit the site to access the poll]&lt;/p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4qlt8a" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Supporting Links and Files&lt;/h2&gt;
&lt;p&gt;- &lt;a title="Github Repo" href="https://github.com/Lorrainbow/keypad-voice/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Github Repo&lt;/a&gt;&amp;nbsp;(snapshot of the files:&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/151197"&gt;Episode 709 Resources&lt;/a&gt;&amp;nbsp; )&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4p5308"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-012cb" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986,4550988,3838503,2723300,1182236,4007809,3401776&amp;nsku=69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('012cb'));" data-farnell="4163986,4550988,3838503,2723300,1182236,4007809,3401776" data-newark="69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838" data-comoverride="" data-cmpoverride="" data-cpc=",,,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Zero WH&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-52f3d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986&amp;nsku=69AK9093&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('52f3d'));" data-farnell="4163986" data-newark="69AK9093" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi SD Card&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-49872" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4550988&amp;nsku=16AM2470&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('49872'));" data-farnell="4550988" data-newark="16AM2470" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Power Supply Unit&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-27082" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3838503&amp;nsku=71AJ9652&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('27082'));" data-farnell="3838503" data-newark="71AJ9652" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Adaptor&lt;/td&gt;
&lt;td&gt;SECOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-cca41" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2723300&amp;nsku=12AC6807&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('cca41'));" data-farnell="2723300" data-newark="12AC6807" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keypad&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3171f" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1182236&amp;nsku=24M4388&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('3171f'));" data-farnell="1182236" data-newark="24M4388" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OLED Screen&lt;/td&gt;
&lt;td&gt;Seed studio&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-890e1" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4007809&amp;nsku=42AK5768&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('890e1'));" data-farnell="4007809" data-newark="42AK5768" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Switch&lt;/td&gt;
&lt;td&gt;Pro Signal&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6263e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3401776&amp;nsku=82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('6263e'));" data-farnell="3401776" data-newark="82X6838" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A box&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2p1"&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;h3 id="mcetoc_1jlouns2p8"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: small business raspberry pi project, Raspberry Pi audio project, e14p_LU, Raspberry Pi keypad project, e14presents_lorraineunderwood, custom audio announcements ystem, Raspberry Pi speaker project, embedded audio system Raspberry Pi, Raspberry Pi Flask audio upload, raspberry pi zero wh project, raspberry pi, order management system with raspberry pi, accessibility communication device DIY, Raspberry Pi OLED display project, Raspberry Pi cafe announcer, USB speaker Raspberry Pi, pre recorded audio playback, DIY cafe order system, keypad controlled audio player&lt;/div&gt;
</description></item><item><title>Was that my Number!? Fixing Café Order Chaos with a Raspberry Pi Announcer</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer/revision/9</link><pubDate>Thu, 09 Apr 2026 13:23:07 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:078e7db6-cf4b-4ee7-a97e-9e1e670a7b78</guid><dc:creator>cstanton</dc:creator><description>Revision 9 posted to Documents by cstanton on 4/9/2026 1:23:07 PM&lt;br /&gt;
&lt;p&gt;In this video, Lorraine tackles a familiar caf&amp;eacute; problem: noisy spaces and unclear order callouts. Using a Raspberry Pi Zero, keypad, OLED screen, and USB audio, she designs a compact announcer that plays clear, pre‑recorded numbers at the press of a button. Along the way, she works through real‑world challenges, from slow installs on the Pi Zero and audio format conversions to keypad wiring, enclosure choices, and building a phone-based workflow for recording and uploading clips. The result is a practical, human‑centred project with potential far beyond caf&amp;eacute;s, including accessibility-focused communication tools, you can find the supporting&amp;nbsp;files and project video below.&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2o0"&gt;Order&amp;#39;s Up!&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/5xZ9l8wCHgQ"&gt;https://youtu.be/5xZ9l8wCHgQ&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jlp4ocek0"&gt;A Clearer Way to Call Orders: Building a Raspberry Pi Caf&amp;eacute; Announcer&lt;/h2&gt;
&lt;p&gt;Anyone who has spent time waiting for food in a busy caf&amp;eacute; knows the routine. You&amp;rsquo;re handed a number, you sit down, and then you wait, half listening, half guessing, while numbers are quietly called out into a noisy room. Sometimes the speaker system distorts the audio. Sometimes there is no speaker system at all. And sometimes the number is announced so softly that it barely registers as speech. Lorraine&amp;rsquo;s project starts from this very familiar frustration and asks a simple question: &lt;em&gt;what if caf&amp;eacute; order announcements were always clear, consistent, and impossible to miss?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The idea behind the project is straightforward but thoughtful. Instead of relying on live announcements, caf&amp;eacute;s could pre‑record their order numbers in a quiet space, using a clear and steady voice. Those recordings could then be played back at the press of a button, loud enough to cut through background noise and consistent every time. The result would be faster service, fewer missed orders, and less repeated shouting from staff.&lt;/p&gt;
&lt;p&gt;From that idea, Lorraine builds a compact, self‑contained caf&amp;eacute; announcer using a Raspberry Pi Zero, a keypad, a small OLED screen, and a USB speaker.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000050.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek1"&gt;Choosing Simple Parts Over Complexity&lt;/h2&gt;
&lt;p&gt;At the heart of the project is a Raspberry Pi Zero, selected not for power but for size and practicality. This is a device intended to live on a counter, not a desk, so keeping the footprint small matters. An SD card preloaded with Raspberry Pi OS handles storage and booting, while a standard Raspberry Pi power supply keeps things stable during testing and use.&lt;/p&gt;
&lt;p&gt;One of the earliest design decisions Lorraine makes is to avoid unnecessary hardware complexity. Rather than using an audio HAT or custom amplifier circuitry, she opts for a simple USB speaker. This turns out to be one of the project&amp;rsquo;s biggest wins. By switching the Pi&amp;rsquo;s audio output from HDMI to USB and testing playback with a standard audio file, she confirms that sound works immediately and reliably, no extra drivers, no custom configuration, no fragile setup. Compared to previous projects involving more complex audio hardware, this approach is refreshingly painless.&lt;/p&gt;
&lt;p&gt;That decision sets the tone for the rest of the build: wherever possible, choose solutions that are well supported, predictable, and easy to maintain.&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000217.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek2"&gt;Giving the Device a Straightforward Interface&lt;/h2&gt;
&lt;p&gt;For user interaction, the project relies on two key components: a keypad for input and an OLED display for feedback. The keypad allows caf&amp;eacute; staff to enter order numbers directly, while the OLED shows what is being typed so there is no ambiguity about the input.&lt;/p&gt;
&lt;p&gt;The OLED connects over I&amp;sup2;C, keeping wiring minimal. Lorraine enables I&amp;sup2;C on the Pi, installs the required libraries, and runs test examples to confirm the display works correctly. She notes, candidly, that installing libraries on a Pi Zero can be painfully slow, something anyone who has used one will recognise. This reinforces the importance of keeping the software stack lean and avoiding unnecessary overhead.&lt;/p&gt;
&lt;p&gt;Once the OLED is displaying output, attention shifts to the keypad. Lorraine takes care with the physical layout, choosing a right‑angle pin header so that wires can be routed neatly and kept out of sight inside the enclosure. This is not just about aesthetics; it reduces strain on solder joints and lowers the risk of cables being pulled loose during everyday use.&lt;/p&gt;
&lt;p&gt;Wiring the keypad involves mapping rows and columns to specific GPIO pins. Lorraine follows the keypad&amp;rsquo;s technical documentation closely, noting that the physical orientation and pin numbering can be confusing if you are not careful. Before integrating anything else, she writes a simple test script to confirm that each key press is detected and printed correctly. Only once the keypad, OLED, and speaker all work independently does she move on to combining them.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000335.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek3"&gt;Solving the Audio Problem Properly&lt;/h2&gt;
&lt;p&gt;With the hardware behaving as expected, the project&amp;rsquo;s focus shifts to audio, specifically, how the spoken numbers are recorded, managed, and played back.&lt;/p&gt;
&lt;p&gt;Rather than recording audio directly on the Raspberry Pi, Lorraine builds a companion phone app. This app allows numbers to be recorded in a quiet environment, trimmed visually using waveforms, and previewed before being sent to the Pi. This choice is significant: it recognises that caf&amp;eacute;s are not ideal places for recording clean audio and that staff need a simple, friendly way to update or re‑record announcements.&lt;/p&gt;
&lt;p&gt;While testing, Lorraine encounters an interesting challenge. Playing back individual recordings for &amp;ldquo;20&amp;rdquo; and &amp;ldquo;1&amp;rdquo; does not always sound natural when combined into &amp;ldquo;21.&amp;rdquo; Timing gaps that are too long or too short can make the result feel awkward or robotic. She experiments with trimming and configurable gaps between clips, eventually concluding that there is a simpler and often better solution: record whole numbers as complete phrases. Recording &amp;ldquo;twenty‑two&amp;rdquo; as a single clip sounds far more natural than stitching together &amp;ldquo;twenty&amp;rdquo; and &amp;ldquo;two.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;This insight is an important one for anyone recreating the project. While clever audio composition is possible, sometimes the most reliable approach is to reduce complexity and record exactly what you intend to play.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000425.png" /&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek4"&gt;Moving Files Efficiently on a Small Computer&lt;/h2&gt;
&lt;p&gt;To transfer audio files from the phone to the Raspberry Pi, Lorraine turns the Pi into a small web service using Flask. As long as the phone and Pi are on the same network, audio files can be uploaded wirelessly. The moment the first upload succeeds is met with genuine surprise, a familiar reaction when networking works on the first try.&lt;/p&gt;
&lt;p&gt;Once uploaded, the Pi handles the final processing. The recordings arrive as M4A files, which are not ideal for lightweight playback on a Pi Zero. While tools like mplayer can play them, Lorraine finds performance sluggish. Instead, she converts the files to WAV format using ffmpeg, making playback faster and more reliable. She notes that this conversion should ideally happen automatically as files arrive, and that further refinement is needed to avoid reprocessing files unnecessarily.&lt;/p&gt;
&lt;p&gt;These performance‑driven choices highlight an important reality of working with small single‑board computers: format choices and processing overhead matter.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000565.png" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000537.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4ocek5"&gt;Packaging It as a Real Device&lt;/h2&gt;
&lt;p&gt;With the system working end‑to‑end, Lorraine turns her attention to enclosure design. She experiments with different boxes, thinking carefully about speaker placement, screen visibility, cable exits, and how to protect internal wiring from being pulled or damaged. While she does not settle on a final enclosure design, she is clear about the priorities: the device should feel solid, compact, and purpose‑built, not like exposed electronics in a box.&lt;/p&gt;
&lt;p&gt;During final testing, she demonstrates two operating modes: a web mode for uploading new audio files and a ready mode for announcing numbers. The keypad input triggers playback exactly as intended, and the OLED provides immediate visual confirmation. One remaining improvement she identifies is better feedback when a number has not been recorded, currently, missing files result in silence, something that should be made clearer to the user.&lt;/p&gt;
&lt;p&gt;By the end of the project, it is clear that this is more than a novelty caf&amp;eacute; accessory. Lorraine reflects on broader uses, particularly in accessibility. The same system could be used to pre‑record phrases for people who struggle to speak in stressful situations, offering a discreet, button‑based alternative to using a phone.&lt;/p&gt;
&lt;p&gt;The project is honest about what is unfinished, enclosure refinement, smarter file handling, improved feedback, but it also reaches a meaningful milestone: it works. The core idea is sound, the implementation is practical, and the device already solves the problem it set out to address.&lt;/p&gt;
&lt;p&gt;For Lorraine, getting the idea &amp;ldquo;out of her head and into the world&amp;rdquo; is the real success. And for anyone recreating the project, the lessons are clear: prioritise clarity, test each component in isolation, and choose simplicity wherever possible.&lt;/p&gt;
&lt;p&gt;&lt;p align="center"&gt;[Please visit the site to access the poll]&lt;/p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4qlt8a" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Supporting Links and Files&lt;/h2&gt;
&lt;p&gt;- &lt;a title="Github Repo" href="https://github.com/Lorrainbow/keypad-voice/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Github Repo&lt;/a&gt;&amp;nbsp;(snapshot of the files:&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/151197"&gt;Episode 709 Resources&lt;/a&gt;&amp;nbsp; )&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4p5308"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-df371" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986,4550988,3838503,2723300,1182236,4007809,3401776&amp;nsku=69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('df371'));" data-farnell="4163986,4550988,3838503,2723300,1182236,4007809,3401776" data-newark="69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838" data-comoverride="" data-cmpoverride="" data-cpc=",,,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Zero WH&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-92b16" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986&amp;nsku=69AK9093&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('92b16'));" data-farnell="4163986" data-newark="69AK9093" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi SD Card&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-34639" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4550988&amp;nsku=16AM2470&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('34639'));" data-farnell="4550988" data-newark="16AM2470" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Power Supply Unit&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e27f3" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3838503&amp;nsku=71AJ9652&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e27f3'));" data-farnell="3838503" data-newark="71AJ9652" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Adaptor&lt;/td&gt;
&lt;td&gt;SECOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-b9812" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2723300&amp;nsku=12AC6807&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('b9812'));" data-farnell="2723300" data-newark="12AC6807" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keypad&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-0ddfa" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1182236&amp;nsku=24M4388&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('0ddfa'));" data-farnell="1182236" data-newark="24M4388" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OLED Screen&lt;/td&gt;
&lt;td&gt;Seed studio&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-77da1" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4007809&amp;nsku=42AK5768&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('77da1'));" data-farnell="4007809" data-newark="42AK5768" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Switch&lt;/td&gt;
&lt;td&gt;Pro Signal&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c9079" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3401776&amp;nsku=82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('c9079'));" data-farnell="3401776" data-newark="82X6838" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A box&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2p1"&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;h3 id="mcetoc_1jlouns2p8"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: small business raspberry pi project, Raspberry Pi audio project, e14p_LU, Raspberry Pi keypad project, e14presents_lorraineunderwood, custom audio announcements ystem, Raspberry Pi speaker project, embedded audio system Raspberry Pi, Raspberry Pi Flask audio upload, raspberry pi zero wh project, raspberry pi, order management system with raspberry pi, accessibility communication device DIY, Raspberry Pi OLED display project, Raspberry Pi cafe announcer, USB speaker Raspberry Pi, pre recorded audio playback, DIY cafe order system, keypad controlled audio player&lt;/div&gt;
</description></item><item><title>Was that my Number!? Fixing Café Order Chaos with a Raspberry Pi Announcer</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer/revision/8</link><pubDate>Thu, 09 Apr 2026 13:19:17 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:078e7db6-cf4b-4ee7-a97e-9e1e670a7b78</guid><dc:creator>cstanton</dc:creator><description>Revision 8 posted to Documents by cstanton on 4/9/2026 1:19:17 PM&lt;br /&gt;
&lt;p&gt;In this video, Lorraine tackles a familiar caf&amp;eacute; problem: noisy spaces and unclear order callouts. Using a Raspberry Pi Zero, keypad, OLED screen, and USB audio, she designs a compact announcer that plays clear, pre‑recorded numbers at the press of a button. Along the way, she works through real‑world challenges, from slow installs on the Pi Zero and audio format conversions to keypad wiring, enclosure choices, and building a phone-based workflow for recording and uploading clips. The result is a practical, human‑centred project with potential far beyond caf&amp;eacute;s, including accessibility-focused communication tools, you can find the supporting&amp;nbsp;files and project video below.&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2o0"&gt;Order&amp;#39;s Up!&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/5xZ9l8wCHgQ"&gt;https://youtu.be/5xZ9l8wCHgQ&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jlp4ocek0"&gt;A Clearer Way to Call Orders: Building a Raspberry Pi Caf&amp;eacute; Announcer&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Anyone who has spent time waiting for food in a busy caf&amp;eacute; knows the routine. You&amp;rsquo;re handed a number, you sit down, and then you wait, half listening, half guessing, while numbers are quietly called out into a noisy room. Sometimes the speaker system distorts the audio. Sometimes there is no speaker system at all. And sometimes the number is announced so softly that it barely registers as speech. Lorraine&amp;rsquo;s project starts from this very familiar frustration and asks a simple question: &lt;em&gt;what if caf&amp;eacute; order announcements were always clear, consistent, and impossible to miss?&lt;/em&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The idea behind the project is straightforward but thoughtful. Instead of relying on live announcements, caf&amp;eacute;s could pre‑record their order numbers in a quiet space, using a clear and steady voice. Those recordings could then be played back at the press of a button, loud enough to cut through background noise and consistent every time. The result would be faster service, fewer missed orders, and less repeated shouting from staff.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;From that idea, Lorraine builds a compact, self‑contained caf&amp;eacute; announcer using a Raspberry Pi Zero, a keypad, a small OLED screen, and a USB speaker.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000050.png" /&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek1"&gt;Choosing Simple Parts Over Complexity&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At the heart of the project is a Raspberry Pi Zero, selected not for power but for size and practicality. This is a device intended to live on a counter, not a desk, so keeping the footprint small matters. An SD card preloaded with Raspberry Pi OS handles storage and booting, while a standard Raspberry Pi power supply keeps things stable during testing and use.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;One of the earliest design decisions Lorraine makes is to avoid unnecessary hardware complexity. Rather than using an audio HAT or custom amplifier circuitry, she opts for a simple USB speaker. This turns out to be one of the project&amp;rsquo;s biggest wins. By switching the Pi&amp;rsquo;s audio output from HDMI to USB and testing playback with a standard audio file, she confirms that sound works immediately and reliably, no extra drivers, no custom configuration, no fragile setup. Compared to previous projects involving more complex audio hardware, this approach is refreshingly painless.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That decision sets the tone for the rest of the build: wherever possible, choose solutions that are well supported, predictable, and easy to maintain.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000217.png" /&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek2"&gt;Giving the Device a Straightforward Interface&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For user interaction, the project relies on two key components: a keypad for input and an OLED display for feedback. The keypad allows caf&amp;eacute; staff to enter order numbers directly, while the OLED shows what is being typed so there is no ambiguity about the input.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The OLED connects over I&amp;sup2;C, keeping wiring minimal. Lorraine enables I&amp;sup2;C on the Pi, installs the required libraries, and runs test examples to confirm the display works correctly. She notes, candidly, that installing libraries on a Pi Zero can be painfully slow, something anyone who has used one will recognise. This reinforces the importance of keeping the software stack lean and avoiding unnecessary overhead.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the OLED is displaying output, attention shifts to the keypad. Lorraine takes care with the physical layout, choosing a right‑angle pin header so that wires can be routed neatly and kept out of sight inside the enclosure. This is not just about aesthetics; it reduces strain on solder joints and lowers the risk of cables being pulled loose during everyday use.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Wiring the keypad involves mapping rows and columns to specific GPIO pins. Lorraine follows the keypad&amp;rsquo;s technical documentation closely, noting that the physical orientation and pin numbering can be confusing if you are not careful. Before integrating anything else, she writes a simple test script to confirm that each key press is detected and printed correctly. Only once the keypad, OLED, and speaker all work independently does she move on to combining them.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000335.png" /&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek3"&gt;Solving the Audio Problem Properly&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With the hardware behaving as expected, the project&amp;rsquo;s focus shifts to audio, specifically, how the spoken numbers are recorded, managed, and played back.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Rather than recording audio directly on the Raspberry Pi, Lorraine builds a companion phone app. This app allows numbers to be recorded in a quiet environment, trimmed visually using waveforms, and previewed before being sent to the Pi. This choice is significant: it recognises that caf&amp;eacute;s are not ideal places for recording clean audio and that staff need a simple, friendly way to update or re‑record announcements.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;While testing, Lorraine encounters an interesting challenge. Playing back individual recordings for &amp;ldquo;20&amp;rdquo; and &amp;ldquo;1&amp;rdquo; does not always sound natural when combined into &amp;ldquo;21.&amp;rdquo; Timing gaps that are too long or too short can make the result feel awkward or robotic. She experiments with trimming and configurable gaps between clips, eventually concluding that there is a simpler and often better solution: record whole numbers as complete phrases. Recording &amp;ldquo;twenty‑two&amp;rdquo; as a single clip sounds far more natural than stitching together &amp;ldquo;twenty&amp;rdquo; and &amp;ldquo;two.&amp;rdquo;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This insight is an important one for anyone recreating the project. While clever audio composition is possible, sometimes the most reliable approach is to reduce complexity and record exactly what you intend to play.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000425.png" /&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek4"&gt;Moving Files Efficiently on a Small Computer&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;To transfer audio files from the phone to the Raspberry Pi, Lorraine turns the Pi into a small web service using Flask. As long as the phone and Pi are on the same network, audio files can be uploaded wirelessly. The moment the first upload succeeds is met with genuine surprise, a familiar reaction when networking works on the first try.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once uploaded, the Pi handles the final processing. The recordings arrive as M4A files, which are not ideal for lightweight playback on a Pi Zero. While tools like mplayer can play them, Lorraine finds performance sluggish. Instead, she converts the files to WAV format using ffmpeg, making playback faster and more reliable. She notes that this conversion should ideally happen automatically as files arrive, and that further refinement is needed to avoid reprocessing files unnecessarily.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;These performance‑driven choices highlight an important reality of working with small single‑board computers: format choices and processing overhead matter.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000565.png" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000537.png" /&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek5"&gt;Packaging It as a Real Device&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With the system working end‑to‑end, Lorraine turns her attention to enclosure design. She experiments with different boxes, thinking carefully about speaker placement, screen visibility, cable exits, and how to protect internal wiring from being pulled or damaged. While she does not settle on a final enclosure design, she is clear about the priorities: the device should feel solid, compact, and purpose‑built, not like exposed electronics in a box.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;During final testing, she demonstrates two operating modes: a web mode for uploading new audio files and a ready mode for announcing numbers. The keypad input triggers playback exactly as intended, and the OLED provides immediate visual confirmation. One remaining improvement she identifies is better feedback when a number has not been recorded, currently, missing files result in silence, something that should be made clearer to the user.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;By the end of the project, it is clear that this is more than a novelty caf&amp;eacute; accessory. Lorraine reflects on broader uses, particularly in accessibility. The same system could be used to pre‑record phrases for people who struggle to speak in stressful situations, offering a discreet, button‑based alternative to using a phone.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The project is honest about what is unfinished, enclosure refinement, smarter file handling, improved feedback, but it also reaches a meaningful milestone: it works. The core idea is sound, the implementation is practical, and the device already solves the problem it set out to address.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For Lorraine, getting the idea &amp;ldquo;out of her head and into the world&amp;rdquo; is the real success. And for anyone recreating the project, the lessons are clear: prioritise clarity, test each component in isolation, and choose simplicity wherever possible.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;p align="center"&gt;[Please visit the site to access the poll]&lt;/p&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4qlt8a" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Supporting Links and Files&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;- &lt;a title="Github Repo" href="https://github.com/Lorrainbow/keypad-voice/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Github Repo&lt;/a&gt;&amp;nbsp;(snapshot of the files:&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/151197"&gt;Episode 709 Resources&lt;/a&gt;&amp;nbsp; )&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h2 id="mcetoc_1jlp4p5308"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-0b4bc" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986,4550988,3838503,2723300,1182236,4007809,3401776&amp;nsku=69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('0b4bc'));" data-farnell="4163986,4550988,3838503,2723300,1182236,4007809,3401776" data-newark="69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838" data-comoverride="" data-cmpoverride="" data-cpc=",,,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Zero WH&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8d4a6" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986&amp;nsku=69AK9093&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('8d4a6'));" data-farnell="4163986" data-newark="69AK9093" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi SD Card&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3076a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4550988&amp;nsku=16AM2470&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('3076a'));" data-farnell="4550988" data-newark="16AM2470" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Power Supply Unit&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7b825" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3838503&amp;nsku=71AJ9652&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('7b825'));" data-farnell="3838503" data-newark="71AJ9652" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Adaptor&lt;/td&gt;
&lt;td&gt;SECOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-f9411" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2723300&amp;nsku=12AC6807&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f9411'));" data-farnell="2723300" data-newark="12AC6807" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keypad&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-93354" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1182236&amp;nsku=24M4388&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('93354'));" data-farnell="1182236" data-newark="24M4388" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OLED Screen&lt;/td&gt;
&lt;td&gt;Seed studio&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-113cc" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4007809&amp;nsku=42AK5768&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('113cc'));" data-farnell="4007809" data-newark="42AK5768" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Switch&lt;/td&gt;
&lt;td&gt;Pro Signal&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-02e0a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3401776&amp;nsku=82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('02e0a'));" data-farnell="3401776" data-newark="82X6838" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A box&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2p1"&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h3 id="mcetoc_1jlouns2p8"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: small business raspberry pi project, Raspberry Pi audio project, e14p_LU, Raspberry Pi keypad project, e14presents_lorraineunderwood, custom audio announcements ystem, Raspberry Pi speaker project, embedded audio system Raspberry Pi, Raspberry Pi Flask audio upload, raspberry pi zero wh project, raspberry pi, order management system with raspberry pi, accessibility communication device DIY, Raspberry Pi OLED display project, Raspberry Pi cafe announcer, USB speaker Raspberry Pi, pre recorded audio playback, DIY cafe order system, keypad controlled audio player&lt;/div&gt;
</description></item><item><title>Was that my Number!? Fixing Café Order Chaos with a Raspberry Pi Announcer</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer/revision/7</link><pubDate>Thu, 09 Apr 2026 13:14:54 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:078e7db6-cf4b-4ee7-a97e-9e1e670a7b78</guid><dc:creator>cstanton</dc:creator><description>Revision 7 posted to Documents by cstanton on 4/9/2026 1:14:54 PM&lt;br /&gt;
&lt;p&gt;In this video, Lorraine tackles a familiar caf&amp;eacute; problem: noisy spaces and unclear order callouts. Using a Raspberry Pi Zero, keypad, OLED screen, and USB audio, she designs a compact announcer that plays clear, pre‑recorded numbers at the press of a button. Along the way, she works through real‑world challenges, from slow installs on the Pi Zero and audio format conversions to keypad wiring, enclosure choices, and building a phone-based workflow for recording and uploading clips. The result is a practical, human‑centred project with potential far beyond caf&amp;eacute;s, including accessibility-focused communication tools, you can find the supporting&amp;nbsp;files and project video below.&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2o0"&gt;Order&amp;#39;s Up!&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/5xZ9l8wCHgQ"&gt;https://youtu.be/5xZ9l8wCHgQ&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jlp4ocek0"&gt;A Clearer Way to Call Orders: Building a Raspberry Pi Caf&amp;eacute; Announcer&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Anyone who has spent time waiting for food in a busy caf&amp;eacute; knows the routine. You&amp;rsquo;re handed a number, you sit down, and then you wait, half listening, half guessing, while numbers are quietly called out into a noisy room. Sometimes the speaker system distorts the audio. Sometimes there is no speaker system at all. And sometimes the number is announced so softly that it barely registers as speech. Lorraine&amp;rsquo;s project starts from this very familiar frustration and asks a simple question: &lt;em&gt;what if caf&amp;eacute; order announcements were always clear, consistent, and impossible to miss?&lt;/em&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The idea behind the project is straightforward but thoughtful. Instead of relying on live announcements, caf&amp;eacute;s could pre‑record their order numbers in a quiet space, using a clear and steady voice. Those recordings could then be played back at the press of a button, loud enough to cut through background noise and consistent every time. The result would be faster service, fewer missed orders, and less repeated shouting from staff.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;From that idea, Lorraine builds a compact, self‑contained caf&amp;eacute; announcer using a Raspberry Pi Zero, a keypad, a small OLED screen, and a USB speaker.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000050.png" /&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek1"&gt;Choosing Simple Parts Over Complexity&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At the heart of the project is a Raspberry Pi Zero, selected not for power but for size and practicality. This is a device intended to live on a counter, not a desk, so keeping the footprint small matters. An SD card preloaded with Raspberry Pi OS handles storage and booting, while a standard Raspberry Pi power supply keeps things stable during testing and use.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;One of the earliest design decisions Lorraine makes is to avoid unnecessary hardware complexity. Rather than using an audio HAT or custom amplifier circuitry, she opts for a simple USB speaker. This turns out to be one of the project&amp;rsquo;s biggest wins. By switching the Pi&amp;rsquo;s audio output from HDMI to USB and testing playback with a standard audio file, she confirms that sound works immediately and reliably, no extra drivers, no custom configuration, no fragile setup. Compared to previous projects involving more complex audio hardware, this approach is refreshingly painless.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That decision sets the tone for the rest of the build: wherever possible, choose solutions that are well supported, predictable, and easy to maintain.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000217.png" /&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek2"&gt;Giving the Device a Straightforward Interface&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For user interaction, the project relies on two key components: a keypad for input and an OLED display for feedback. The keypad allows caf&amp;eacute; staff to enter order numbers directly, while the OLED shows what is being typed so there is no ambiguity about the input.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The OLED connects over I&amp;sup2;C, keeping wiring minimal. Lorraine enables I&amp;sup2;C on the Pi, installs the required libraries, and runs test examples to confirm the display works correctly. She notes, candidly, that installing libraries on a Pi Zero can be painfully slow, something anyone who has used one will recognise. This reinforces the importance of keeping the software stack lean and avoiding unnecessary overhead.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the OLED is displaying output, attention shifts to the keypad. Lorraine takes care with the physical layout, choosing a right‑angle pin header so that wires can be routed neatly and kept out of sight inside the enclosure. This is not just about aesthetics; it reduces strain on solder joints and lowers the risk of cables being pulled loose during everyday use.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Wiring the keypad involves mapping rows and columns to specific GPIO pins. Lorraine follows the keypad&amp;rsquo;s technical documentation closely, noting that the physical orientation and pin numbering can be confusing if you are not careful. Before integrating anything else, she writes a simple test script to confirm that each key press is detected and printed correctly. Only once the keypad, OLED, and speaker all work independently does she move on to combining them.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000335.png" /&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek3"&gt;Solving the Audio Problem Properly&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With the hardware behaving as expected, the project&amp;rsquo;s focus shifts to audio, specifically, how the spoken numbers are recorded, managed, and played back.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Rather than recording audio directly on the Raspberry Pi, Lorraine builds a companion phone app. This app allows numbers to be recorded in a quiet environment, trimmed visually using waveforms, and previewed before being sent to the Pi. This choice is significant: it recognises that caf&amp;eacute;s are not ideal places for recording clean audio and that staff need a simple, friendly way to update or re‑record announcements.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;While testing, Lorraine encounters an interesting challenge. Playing back individual recordings for &amp;ldquo;20&amp;rdquo; and &amp;ldquo;1&amp;rdquo; does not always sound natural when combined into &amp;ldquo;21.&amp;rdquo; Timing gaps that are too long or too short can make the result feel awkward or robotic. She experiments with trimming and configurable gaps between clips, eventually concluding that there is a simpler and often better solution: record whole numbers as complete phrases. Recording &amp;ldquo;twenty‑two&amp;rdquo; as a single clip sounds far more natural than stitching together &amp;ldquo;twenty&amp;rdquo; and &amp;ldquo;two.&amp;rdquo;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This insight is an important one for anyone recreating the project. While clever audio composition is possible, sometimes the most reliable approach is to reduce complexity and record exactly what you intend to play.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000425.png" /&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek4"&gt;Moving Files Efficiently on a Small Computer&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;To transfer audio files from the phone to the Raspberry Pi, Lorraine turns the Pi into a small web service using Flask. As long as the phone and Pi are on the same network, audio files can be uploaded wirelessly. The moment the first upload succeeds is met with genuine surprise, a familiar reaction when networking works on the first try.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once uploaded, the Pi handles the final processing. The recordings arrive as M4A files, which are not ideal for lightweight playback on a Pi Zero. While tools like mplayer can play them, Lorraine finds performance sluggish. Instead, she converts the files to WAV format using ffmpeg, making playback faster and more reliable. She notes that this conversion should ideally happen automatically as files arrive, and that further refinement is needed to avoid reprocessing files unnecessarily.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;These performance‑driven choices highlight an important reality of working with small single‑board computers: format choices and processing overhead matter.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000565.png" /&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/interval_5F00_000537.png" /&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek5"&gt;Packaging It as a Real Device&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With the system working end‑to‑end, Lorraine turns her attention to enclosure design. She experiments with different boxes, thinking carefully about speaker placement, screen visibility, cable exits, and how to protect internal wiring from being pulled or damaged. While she does not settle on a final enclosure design, she is clear about the priorities: the device should feel solid, compact, and purpose‑built, not like exposed electronics in a box.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;During final testing, she demonstrates two operating modes: a web mode for uploading new audio files and a ready mode for announcing numbers. The keypad input triggers playback exactly as intended, and the OLED provides immediate visual confirmation. One remaining improvement she identifies is better feedback when a number has not been recorded, currently, missing files result in silence, something that should be made clearer to the user.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;By the end of the project, it is clear that this is more than a novelty caf&amp;eacute; accessory. Lorraine reflects on broader uses, particularly in accessibility. The same system could be used to pre‑record phrases for people who struggle to speak in stressful situations, offering a discreet, button‑based alternative to using a phone.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The project is honest about what is unfinished, enclosure refinement, smarter file handling, improved feedback, but it also reaches a meaningful milestone: it works. The core idea is sound, the implementation is practical, and the device already solves the problem it set out to address.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For Lorraine, getting the idea &amp;ldquo;out of her head and into the world&amp;rdquo; is the real success. And for anyone recreating the project, the lessons are clear: prioritise clarity, test each component in isolation, and choose simplicity wherever possible.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;p align="center"&gt;[Please visit the site to access the poll]&lt;/p&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4qlt8a" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Supporting Links and Files&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;- &lt;a title="Github Repo" href="https://github.com/Lorrainbow/keypad-voice/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Github Repo&lt;/a&gt; (snapshot of the files)&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h2 id="mcetoc_1jlp4p5308"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-cbc19" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986,4550988,3838503,2723300,1182236,4007809,3401776&amp;nsku=69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('cbc19'));" data-farnell="4163986,4550988,3838503,2723300,1182236,4007809,3401776" data-newark="69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838" data-comoverride="" data-cmpoverride="" data-cpc=",,,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Zero WH&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8997e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986&amp;nsku=69AK9093&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('8997e'));" data-farnell="4163986" data-newark="69AK9093" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi SD Card&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-bcc18" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4550988&amp;nsku=16AM2470&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('bcc18'));" data-farnell="4550988" data-newark="16AM2470" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Power Supply Unit&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-32293" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3838503&amp;nsku=71AJ9652&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('32293'));" data-farnell="3838503" data-newark="71AJ9652" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Adaptor&lt;/td&gt;
&lt;td&gt;SECOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ded4d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2723300&amp;nsku=12AC6807&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ded4d'));" data-farnell="2723300" data-newark="12AC6807" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keypad&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-36c61" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1182236&amp;nsku=24M4388&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('36c61'));" data-farnell="1182236" data-newark="24M4388" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OLED Screen&lt;/td&gt;
&lt;td&gt;Seed studio&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3352e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4007809&amp;nsku=42AK5768&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('3352e'));" data-farnell="4007809" data-newark="42AK5768" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Switch&lt;/td&gt;
&lt;td&gt;Pro Signal&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-d2d04" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3401776&amp;nsku=82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('d2d04'));" data-farnell="3401776" data-newark="82X6838" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A box&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2p1"&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h3 id="mcetoc_1jlouns2p8"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: small business raspberry pi project, Raspberry Pi audio project, e14p_LU, Raspberry Pi keypad project, e14presents_lorraineunderwood, custom audio announcements ystem, Raspberry Pi speaker project, embedded audio system Raspberry Pi, Raspberry Pi Flask audio upload, raspberry pi zero wh project, raspberry pi, order management system with raspberry pi, accessibility communication device DIY, Raspberry Pi OLED display project, Raspberry Pi cafe announcer, USB speaker Raspberry Pi, pre recorded audio playback, DIY cafe order system, keypad controlled audio player&lt;/div&gt;
</description></item><item><title>Was that my Number!? Fixing Café Order Chaos with a Raspberry Pi Announcer</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer/revision/6</link><pubDate>Thu, 09 Apr 2026 12:58:50 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:078e7db6-cf4b-4ee7-a97e-9e1e670a7b78</guid><dc:creator>cstanton</dc:creator><description>Revision 6 posted to Documents by cstanton on 4/9/2026 12:58:50 PM&lt;br /&gt;
&lt;p&gt;In this video, Lorraine tackles a familiar caf&amp;eacute; problem: noisy spaces and unclear order callouts. Using a Raspberry Pi Zero, keypad, OLED screen, and USB audio, she designs a compact announcer that plays clear, pre‑recorded numbers at the press of a button. Along the way, she works through real‑world challenges, from slow installs on the Pi Zero and audio format conversions to keypad wiring, enclosure choices, and building a phone-based workflow for recording and uploading clips. The result is a practical, human‑centred project with potential far beyond caf&amp;eacute;s, including accessibility-focused communication tools, you can find the supporting&amp;nbsp;files and project video below.&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2o0"&gt;Order&amp;#39;s Up!&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/5xZ9l8wCHgQ"&gt;https://youtu.be/5xZ9l8wCHgQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jlp4ocek0"&gt;A Clearer Way to Call Orders: Building a Raspberry Pi Caf&amp;eacute; Announcer&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Anyone who has spent time waiting for food in a busy caf&amp;eacute; knows the routine. You&amp;rsquo;re handed a number, you sit down, and then you wait, half listening, half guessing, while numbers are quietly called out into a noisy room. Sometimes the speaker system distorts the audio. Sometimes there is no speaker system at all. And sometimes the number is announced so softly that it barely registers as speech. Lorraine&amp;rsquo;s project starts from this very familiar frustration and asks a simple question: &lt;em&gt;what if caf&amp;eacute; order announcements were always clear, consistent, and impossible to miss?&lt;/em&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The idea behind the project is straightforward but thoughtful. Instead of relying on live announcements, caf&amp;eacute;s could pre‑record their order numbers in a quiet space, using a clear and steady voice. Those recordings could then be played back at the press of a button, loud enough to cut through background noise and consistent every time. The result would be faster service, fewer missed orders, and less repeated shouting from staff.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;From that idea, Lorraine builds a compact, self‑contained caf&amp;eacute; announcer using a Raspberry Pi Zero, a keypad, a small OLED screen, and a USB speaker.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek1"&gt;Choosing Simplicity Over Complexity&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At the heart of the project is a Raspberry Pi Zero, selected not for power but for size and practicality. This is a device intended to live on a counter, not a desk, so keeping the footprint small matters. An SD card preloaded with Raspberry Pi OS handles storage and booting, while a standard Raspberry Pi power supply keeps things stable during testing and use.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;One of the earliest design decisions Lorraine makes is to avoid unnecessary hardware complexity. Rather than using an audio HAT or custom amplifier circuitry, she opts for a simple USB speaker. This turns out to be one of the project&amp;rsquo;s biggest wins. By switching the Pi&amp;rsquo;s audio output from HDMI to USB and testing playback with a standard audio file, she confirms that sound works immediately and reliably, no extra drivers, no custom configuration, no fragile setup. Compared to previous projects involving more complex audio hardware, this approach is refreshingly painless.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That decision sets the tone for the rest of the build: wherever possible, choose solutions that are well supported, predictable, and easy to maintain.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek2"&gt;Giving the Device a Simple Interface&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For user interaction, the project relies on two key components: a keypad for input and an OLED display for feedback. The keypad allows caf&amp;eacute; staff to enter order numbers directly, while the OLED shows what is being typed so there is no ambiguity about the input.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The OLED connects over I&amp;sup2;C, keeping wiring minimal. Lorraine enables I&amp;sup2;C on the Pi, installs the required libraries, and runs test examples to confirm the display works correctly. She notes, candidly, that installing libraries on a Pi Zero can be painfully slow, something anyone who has used one will recognise. This reinforces the importance of keeping the software stack lean and avoiding unnecessary overhead.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the OLED is displaying output, attention shifts to the keypad. Lorraine takes care with the physical layout, choosing a right‑angle pin header so that wires can be routed neatly and kept out of sight inside the enclosure. This is not just about aesthetics; it reduces strain on solder joints and lowers the risk of cables being pulled loose during everyday use.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Wiring the keypad involves mapping rows and columns to specific GPIO pins. Lorraine follows the keypad&amp;rsquo;s technical documentation closely, noting that the physical orientation and pin numbering can be confusing if you are not careful. Before integrating anything else, she writes a simple test script to confirm that each key press is detected and printed correctly. Only once the keypad, OLED, and speaker all work independently does she move on to combining them.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek3"&gt;Solving the Audio Problem Properly&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With the hardware behaving as expected, the project&amp;rsquo;s focus shifts to audio, specifically, how the spoken numbers are recorded, managed, and played back.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Rather than recording audio directly on the Raspberry Pi, Lorraine builds a companion phone app. This app allows numbers to be recorded in a quiet environment, trimmed visually using waveforms, and previewed before being sent to the Pi. This choice is significant: it recognises that caf&amp;eacute;s are not ideal places for recording clean audio and that staff need a simple, friendly way to update or re‑record announcements.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;While testing, Lorraine encounters an interesting challenge. Playing back individual recordings for &amp;ldquo;20&amp;rdquo; and &amp;ldquo;1&amp;rdquo; does not always sound natural when combined into &amp;ldquo;21.&amp;rdquo; Timing gaps that are too long or too short can make the result feel awkward or robotic. She experiments with trimming and configurable gaps between clips, eventually concluding that there is a simpler and often better solution: record whole numbers as complete phrases. Recording &amp;ldquo;twenty‑two&amp;rdquo; as a single clip sounds far more natural than stitching together &amp;ldquo;twenty&amp;rdquo; and &amp;ldquo;two.&amp;rdquo;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This insight is an important one for anyone recreating the project. While clever audio composition is possible, sometimes the most reliable approach is to reduce complexity and record exactly what you intend to play.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek4"&gt;Moving Files Efficiently on a Small Computer&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;To transfer audio files from the phone to the Raspberry Pi, Lorraine turns the Pi into a small web service using Flask. As long as the phone and Pi are on the same network, audio files can be uploaded wirelessly. The moment the first upload succeeds is met with genuine surprise, a familiar reaction when networking works on the first try.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once uploaded, the Pi handles the final processing. The recordings arrive as M4A files, which are not ideal for lightweight playback on a Pi Zero. While tools like mplayer can play them, Lorraine finds performance sluggish. Instead, she converts the files to WAV format using ffmpeg, making playback faster and more reliable. She notes that this conversion should ideally happen automatically as files arrive, and that further refinement is needed to avoid reprocessing files unnecessarily.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;These performance‑driven choices highlight an important reality of working with small single‑board computers: format choices and processing overhead matter.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek5"&gt;Packaging It as a Real Device&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With the system working end‑to‑end, Lorraine turns her attention to enclosure design. She experiments with different boxes, thinking carefully about speaker placement, screen visibility, cable exits, and how to protect internal wiring from being pulled or damaged. While she does not settle on a final enclosure design, she is clear about the priorities: the device should feel solid, compact, and purpose‑built, not like exposed electronics in a box.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;During final testing, she demonstrates two operating modes: a web mode for uploading new audio files and a ready mode for announcing numbers. The keypad input triggers playback exactly as intended, and the OLED provides immediate visual confirmation. One remaining improvement she identifies is better feedback when a number has not been recorded, currently, missing files result in silence, something that should be made clearer to the user.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek6"&gt;More Than a Caf&amp;eacute; Gadget&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;By the end of the project, it is clear that this is more than a novelty caf&amp;eacute; accessory. Lorraine reflects on broader uses, particularly in accessibility. The same system could be used to pre‑record phrases for people who struggle to speak in stressful situations, offering a discreet, button‑based alternative to using a phone.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The project is honest about what is unfinished, enclosure refinement, smarter file handling, improved feedback, but it also reaches a meaningful milestone: it works. The core idea is sound, the implementation is practical, and the device already solves the problem it set out to address.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For Lorraine, getting the idea &amp;ldquo;out of her head and into the world&amp;rdquo; is the real success. And for anyone recreating the project, the lessons are clear: prioritise clarity, test each component in isolation, and choose simplicity wherever possible.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;p align="center"&gt;[Please visit the site to access the poll]&lt;/p&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4qlt8a" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Supporting Links and Files&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;- &lt;a title="Github Repo" href="https://github.com/Lorrainbow/keypad-voice/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Github Repo&lt;/a&gt; (snapshot of the files)&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h2 id="mcetoc_1jlp4p5308"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-b64ad" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986,4550988,3838503,2723300,1182236,4007809,3401776&amp;nsku=69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('b64ad'));" data-farnell="4163986,4550988,3838503,2723300,1182236,4007809,3401776" data-newark="69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838" data-comoverride="" data-cmpoverride="" data-cpc=",,,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Zero WH&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8cd1e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986&amp;nsku=69AK9093&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('8cd1e'));" data-farnell="4163986" data-newark="69AK9093" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi SD Card&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-0ea36" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4550988&amp;nsku=16AM2470&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('0ea36'));" data-farnell="4550988" data-newark="16AM2470" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Power Supply Unit&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-d174c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3838503&amp;nsku=71AJ9652&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('d174c'));" data-farnell="3838503" data-newark="71AJ9652" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Adaptor&lt;/td&gt;
&lt;td&gt;SECOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-28ff0" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2723300&amp;nsku=12AC6807&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('28ff0'));" data-farnell="2723300" data-newark="12AC6807" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keypad&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-63171" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1182236&amp;nsku=24M4388&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('63171'));" data-farnell="1182236" data-newark="24M4388" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OLED Screen&lt;/td&gt;
&lt;td&gt;Seed studio&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a4cdb" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4007809&amp;nsku=42AK5768&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a4cdb'));" data-farnell="4007809" data-newark="42AK5768" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Switch&lt;/td&gt;
&lt;td&gt;Pro Signal&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ca4b9" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3401776&amp;nsku=82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ca4b9'));" data-farnell="3401776" data-newark="82X6838" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A box&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2p1"&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h3 id="mcetoc_1jlouns2p8"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: small business raspberry pi project, Raspberry Pi audio project, e14p_LU, Raspberry Pi keypad project, e14presents_lorraineunderwood, custom audio announcements ystem, Raspberry Pi speaker project, embedded audio system Raspberry Pi, Raspberry Pi Flask audio upload, raspberry pi zero wh project, raspberry pi, order management system with raspberry pi, accessibility communication device DIY, Raspberry Pi OLED display project, Raspberry Pi cafe announcer, USB speaker Raspberry Pi, pre recorded audio playback, DIY cafe order system, keypad controlled audio player&lt;/div&gt;
</description></item><item><title>Was that my Number!? Fixing Café Order Chaos with a Raspberry Pi Announcer</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer/revision/5</link><pubDate>Thu, 09 Apr 2026 12:55:38 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:078e7db6-cf4b-4ee7-a97e-9e1e670a7b78</guid><dc:creator>cstanton</dc:creator><description>Revision 5 posted to Documents by cstanton on 4/9/2026 12:55:38 PM&lt;br /&gt;
&lt;p&gt;In this video, Lorraine tackles a familiar caf&amp;eacute; problem: noisy spaces and unclear order callouts. Using a Raspberry Pi Zero, keypad, OLED screen, and USB audio, she designs a compact announcer that plays clear, pre‑recorded numbers at the press of a button. Along the way, she works through real‑world challenges, from slow installs on the Pi Zero and audio format conversions to keypad wiring, enclosure choices, and building a phone-based workflow for recording and uploading clips. The result is a practical, human‑centred project with potential far beyond caf&amp;eacute;s, including accessibility-focused communication tools, you can find the supporting&amp;nbsp;files and project video below.&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2o0"&gt;Order&amp;#39;s Up!&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/5xZ9l8wCHgQ"&gt;https://youtu.be/5xZ9l8wCHgQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jlp4ocek0"&gt;A Clearer Way to Call Orders: Building a Raspberry Pi Caf&amp;eacute; Announcer&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Anyone who has spent time waiting for food in a busy caf&amp;eacute; knows the routine. You&amp;rsquo;re handed a number, you sit down, and then you wait&amp;mdash;half listening, half guessing&amp;mdash;while numbers are quietly called out into a noisy room. Sometimes the speaker system distorts the audio. Sometimes there is no speaker system at all. And sometimes the number is announced so softly that it barely registers as speech. Lorraine&amp;rsquo;s project starts from this very familiar frustration and asks a simple question: &lt;em&gt;what if caf&amp;eacute; order announcements were always clear, consistent, and impossible to miss?&lt;/em&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The idea behind the project is straightforward but thoughtful. Instead of relying on live announcements, caf&amp;eacute;s could pre‑record their order numbers in a quiet space, using a clear and steady voice. Those recordings could then be played back at the press of a button, loud enough to cut through background noise and consistent every time. The result would be faster service, fewer missed orders, and less repeated shouting from staff.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;From that idea, Lorraine builds a compact, self‑contained caf&amp;eacute; announcer using a Raspberry Pi Zero, a keypad, a small OLED screen, and a USB speaker.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek1"&gt;Choosing Simplicity Over Complexity&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At the heart of the project is a Raspberry Pi Zero, selected not for power but for size and practicality. This is a device intended to live on a counter, not a desk, so keeping the footprint small matters. An SD card preloaded with Raspberry Pi OS handles storage and booting, while a standard Raspberry Pi power supply keeps things stable during testing and use.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;One of the earliest design decisions Lorraine makes is to avoid unnecessary hardware complexity. Rather than using an audio HAT or custom amplifier circuitry, she opts for a simple USB speaker. This turns out to be one of the project&amp;rsquo;s biggest wins. By switching the Pi&amp;rsquo;s audio output from HDMI to USB and testing playback with a standard audio file, she confirms that sound works immediately and reliably&amp;mdash;no extra drivers, no custom configuration, no fragile setup. Compared to previous projects involving more complex audio hardware, this approach is refreshingly painless.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That decision sets the tone for the rest of the build: wherever possible, choose solutions that are well supported, predictable, and easy to maintain.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek2"&gt;Giving the Device a Simple Interface&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For user interaction, the project relies on two key components: a keypad for input and an OLED display for feedback. The keypad allows caf&amp;eacute; staff to enter order numbers directly, while the OLED shows what is being typed so there is no ambiguity about the input.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The OLED connects over I&amp;sup2;C, keeping wiring minimal. Lorraine enables I&amp;sup2;C on the Pi, installs the required libraries, and runs test examples to confirm the display works correctly. She notes, candidly, that installing libraries on a Pi Zero can be painfully slow&amp;mdash;something anyone who has used one will recognise. This reinforces the importance of keeping the software stack lean and avoiding unnecessary overhead.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the OLED is displaying output, attention shifts to the keypad. Lorraine takes care with the physical layout, choosing a right‑angle pin header so that wires can be routed neatly and kept out of sight inside the enclosure. This is not just about aesthetics; it reduces strain on solder joints and lowers the risk of cables being pulled loose during everyday use.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Wiring the keypad involves mapping rows and columns to specific GPIO pins. Lorraine follows the keypad&amp;rsquo;s technical documentation closely, noting that the physical orientation and pin numbering can be confusing if you are not careful. Before integrating anything else, she writes a simple test script to confirm that each key press is detected and printed correctly. Only once the keypad, OLED, and speaker all work independently does she move on to combining them.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek3"&gt;Solving the Audio Problem Properly&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With the hardware behaving as expected, the project&amp;rsquo;s focus shifts to audio&amp;mdash;specifically, how the spoken numbers are recorded, managed, and played back.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Rather than recording audio directly on the Raspberry Pi, Lorraine builds a companion phone app. This app allows numbers to be recorded in a quiet environment, trimmed visually using waveforms, and previewed before being sent to the Pi. This choice is significant: it recognises that caf&amp;eacute;s are not ideal places for recording clean audio and that staff need a simple, friendly way to update or re‑record announcements.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;While testing, Lorraine encounters an interesting challenge. Playing back individual recordings for &amp;ldquo;20&amp;rdquo; and &amp;ldquo;1&amp;rdquo; does not always sound natural when combined into &amp;ldquo;21.&amp;rdquo; Timing gaps that are too long or too short can make the result feel awkward or robotic. She experiments with trimming and configurable gaps between clips, eventually concluding that there is a simpler and often better solution: record whole numbers as complete phrases. Recording &amp;ldquo;twenty‑two&amp;rdquo; as a single clip sounds far more natural than stitching together &amp;ldquo;twenty&amp;rdquo; and &amp;ldquo;two.&amp;rdquo;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This insight is an important one for anyone recreating the project. While clever audio composition is possible, sometimes the most reliable approach is to reduce complexity and record exactly what you intend to play.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek4"&gt;Moving Files Efficiently on a Small Computer&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;To transfer audio files from the phone to the Raspberry Pi, Lorraine turns the Pi into a small web service using Flask. As long as the phone and Pi are on the same network, audio files can be uploaded wirelessly. The moment the first upload succeeds is met with genuine surprise&amp;mdash;a familiar reaction when networking works on the first try.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once uploaded, the Pi handles the final processing. The recordings arrive as M4A files, which are not ideal for lightweight playback on a Pi Zero. While tools like mplayer can play them, Lorraine finds performance sluggish. Instead, she converts the files to WAV format using ffmpeg, making playback faster and more reliable. She notes that this conversion should ideally happen automatically as files arrive, and that further refinement is needed to avoid reprocessing files unnecessarily.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;These performance‑driven choices highlight an important reality of working with small single‑board computers: format choices and processing overhead matter.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek5"&gt;Packaging It as a Real Device&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With the system working end‑to‑end, Lorraine turns her attention to enclosure design. She experiments with different boxes, thinking carefully about speaker placement, screen visibility, cable exits, and how to protect internal wiring from being pulled or damaged. While she does not settle on a final enclosure design, she is clear about the priorities: the device should feel solid, compact, and purpose‑built, not like exposed electronics in a box.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;During final testing, she demonstrates two operating modes: a web mode for uploading new audio files and a ready mode for announcing numbers. The keypad input triggers playback exactly as intended, and the OLED provides immediate visual confirmation. One remaining improvement she identifies is better feedback when a number has not been recorded&amp;mdash;currently, missing files result in silence, something that should be made clearer to the user.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek6"&gt;More Than a Caf&amp;eacute; Gadget&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;By the end of the project, it is clear that this is more than a novelty caf&amp;eacute; accessory. Lorraine reflects on broader uses, particularly in accessibility. The same system could be used to pre‑record phrases for people who struggle to speak in stressful situations, offering a discreet, button‑based alternative to using a phone.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The project is honest about what is unfinished&amp;mdash;enclosure refinement, smarter file handling, improved feedback&amp;mdash;but it also reaches a meaningful milestone: it works. The core idea is sound, the implementation is practical, and the device already solves the problem it set out to address.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For Lorraine, getting the idea &amp;ldquo;out of her head and into the world&amp;rdquo; is the real success. And for anyone recreating the project, the lessons are clear: prioritise clarity, test each component in isolation, and choose simplicity wherever possible.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4qlt8a" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Supporting Links and Files&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;- &lt;a title="Github Repo" href="https://github.com/Lorrainbow/keypad-voice/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Github Repo&lt;/a&gt; (snapshot files)&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4p5308"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-5e6e1" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986,4550988,3838503,2723300,1182236,4007809,3401776&amp;nsku=69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('5e6e1'));" data-farnell="4163986,4550988,3838503,2723300,1182236,4007809,3401776" data-newark="69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838" data-comoverride="" data-cmpoverride="" data-cpc=",,,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Zero WH&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-20cff" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986&amp;nsku=69AK9093&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('20cff'));" data-farnell="4163986" data-newark="69AK9093" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi SD Card&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4ba47" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4550988&amp;nsku=16AM2470&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('4ba47'));" data-farnell="4550988" data-newark="16AM2470" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Power Supply Unit&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7aee9" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3838503&amp;nsku=71AJ9652&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('7aee9'));" data-farnell="3838503" data-newark="71AJ9652" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Adaptor&lt;/td&gt;
&lt;td&gt;SECOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7b11d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2723300&amp;nsku=12AC6807&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('7b11d'));" data-farnell="2723300" data-newark="12AC6807" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keypad&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1c1ef" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1182236&amp;nsku=24M4388&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1c1ef'));" data-farnell="1182236" data-newark="24M4388" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OLED Screen&lt;/td&gt;
&lt;td&gt;Seed studio&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-30c03" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4007809&amp;nsku=42AK5768&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('30c03'));" data-farnell="4007809" data-newark="42AK5768" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Switch&lt;/td&gt;
&lt;td&gt;Pro Signal&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-12ac4" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3401776&amp;nsku=82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('12ac4'));" data-farnell="3401776" data-newark="82X6838" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A box&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2p1"&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h3 id="mcetoc_1jlouns2p8"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: small business raspberry pi project, Raspberry Pi audio project, e14p_LU, Raspberry Pi keypad project, e14presents_lorraineunderwood, custom audio announcements ystem, Raspberry Pi speaker project, embedded audio system Raspberry Pi, Raspberry Pi Flask audio upload, raspberry pi zero wh project, raspberry pi, order management system with raspberry pi, accessibility communication device DIY, Raspberry Pi OLED display project, Raspberry Pi cafe announcer, USB speaker Raspberry Pi, pre recorded audio playback, DIY cafe order system, keypad controlled audio player&lt;/div&gt;
</description></item><item><title>Was that my Number!? Fixing Café Order Chaos with a Raspberry Pi Announcer</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer/revision/4</link><pubDate>Thu, 09 Apr 2026 12:53:03 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:078e7db6-cf4b-4ee7-a97e-9e1e670a7b78</guid><dc:creator>cstanton</dc:creator><description>Revision 4 posted to Documents by cstanton on 4/9/2026 12:53:03 PM&lt;br /&gt;
&lt;p&gt;In this video, Lorraine tackles a familiar caf&amp;eacute; problem: noisy spaces and unclear order callouts. Using a Raspberry Pi Zero, keypad, OLED screen, and USB audio, she designs a compact announcer that plays clear, pre‑recorded numbers at the press of a button. Along the way, she works through real‑world challenges, from slow installs on the Pi Zero and audio format conversions to keypad wiring, enclosure choices, and building a phone-based workflow for recording and uploading clips. The result is a practical, human‑centred project with potential far beyond caf&amp;eacute;s, including accessibility-focused communication tools, you can find the supporting&amp;nbsp;files and project video below.&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2o0"&gt;Order&amp;#39;s Up!&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/5xZ9l8wCHgQ"&gt;https://youtu.be/5xZ9l8wCHgQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2 id="mcetoc_1jlp4ocek0"&gt;A Clearer Way to Call Orders: Building a Raspberry Pi Caf&amp;eacute; Announcer&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Anyone who has spent time waiting for food in a busy caf&amp;eacute; knows the routine. You&amp;rsquo;re handed a number, you sit down, and then you wait&amp;mdash;half listening, half guessing&amp;mdash;while numbers are quietly called out into a noisy room. Sometimes the speaker system distorts the audio. Sometimes there is no speaker system at all. And sometimes the number is announced so softly that it barely registers as speech. Lorraine&amp;rsquo;s project starts from this very familiar frustration and asks a simple question: &lt;em&gt;what if caf&amp;eacute; order announcements were always clear, consistent, and impossible to miss?&lt;/em&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The idea behind the project is straightforward but thoughtful. Instead of relying on live announcements, caf&amp;eacute;s could pre‑record their order numbers in a quiet space, using a clear and steady voice. Those recordings could then be played back at the press of a button, loud enough to cut through background noise and consistent every time. The result would be faster service, fewer missed orders, and less repeated shouting from staff.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;From that idea, Lorraine builds a compact, self‑contained caf&amp;eacute; announcer using a Raspberry Pi Zero, a keypad, a small OLED screen, and a USB speaker.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek1"&gt;Choosing Simplicity Over Complexity&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;At the heart of the project is a Raspberry Pi Zero, selected not for power but for size and practicality. This is a device intended to live on a counter, not a desk, so keeping the footprint small matters. An SD card preloaded with Raspberry Pi OS handles storage and booting, while a standard Raspberry Pi power supply keeps things stable during testing and use.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;One of the earliest design decisions Lorraine makes is to avoid unnecessary hardware complexity. Rather than using an audio HAT or custom amplifier circuitry, she opts for a simple USB speaker. This turns out to be one of the project&amp;rsquo;s biggest wins. By switching the Pi&amp;rsquo;s audio output from HDMI to USB and testing playback with a standard audio file, she confirms that sound works immediately and reliably&amp;mdash;no extra drivers, no custom configuration, no fragile setup. Compared to previous projects involving more complex audio hardware, this approach is refreshingly painless.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That decision sets the tone for the rest of the build: wherever possible, choose solutions that are well supported, predictable, and easy to maintain.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek2"&gt;Giving the Device a Simple Interface&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For user interaction, the project relies on two key components: a keypad for input and an OLED display for feedback. The keypad allows caf&amp;eacute; staff to enter order numbers directly, while the OLED shows what is being typed so there is no ambiguity about the input.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The OLED connects over I&amp;sup2;C, keeping wiring minimal. Lorraine enables I&amp;sup2;C on the Pi, installs the required libraries, and runs test examples to confirm the display works correctly. She notes, candidly, that installing libraries on a Pi Zero can be painfully slow&amp;mdash;something anyone who has used one will recognise. This reinforces the importance of keeping the software stack lean and avoiding unnecessary overhead.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the OLED is displaying output, attention shifts to the keypad. Lorraine takes care with the physical layout, choosing a right‑angle pin header so that wires can be routed neatly and kept out of sight inside the enclosure. This is not just about aesthetics; it reduces strain on solder joints and lowers the risk of cables being pulled loose during everyday use.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Wiring the keypad involves mapping rows and columns to specific GPIO pins. Lorraine follows the keypad&amp;rsquo;s technical documentation closely, noting that the physical orientation and pin numbering can be confusing if you are not careful. Before integrating anything else, she writes a simple test script to confirm that each key press is detected and printed correctly. Only once the keypad, OLED, and speaker all work independently does she move on to combining them.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek3"&gt;Solving the Audio Problem Properly&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With the hardware behaving as expected, the project&amp;rsquo;s focus shifts to audio&amp;mdash;specifically, how the spoken numbers are recorded, managed, and played back.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Rather than recording audio directly on the Raspberry Pi, Lorraine builds a companion phone app. This app allows numbers to be recorded in a quiet environment, trimmed visually using waveforms, and previewed before being sent to the Pi. This choice is significant: it recognises that caf&amp;eacute;s are not ideal places for recording clean audio and that staff need a simple, friendly way to update or re‑record announcements.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;While testing, Lorraine encounters an interesting challenge. Playing back individual recordings for &amp;ldquo;20&amp;rdquo; and &amp;ldquo;1&amp;rdquo; does not always sound natural when combined into &amp;ldquo;21.&amp;rdquo; Timing gaps that are too long or too short can make the result feel awkward or robotic. She experiments with trimming and configurable gaps between clips, eventually concluding that there is a simpler and often better solution: record whole numbers as complete phrases. Recording &amp;ldquo;twenty‑two&amp;rdquo; as a single clip sounds far more natural than stitching together &amp;ldquo;twenty&amp;rdquo; and &amp;ldquo;two.&amp;rdquo;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This insight is an important one for anyone recreating the project. While clever audio composition is possible, sometimes the most reliable approach is to reduce complexity and record exactly what you intend to play.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek4"&gt;Moving Files Efficiently on a Small Computer&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;To transfer audio files from the phone to the Raspberry Pi, Lorraine turns the Pi into a small web service using Flask. As long as the phone and Pi are on the same network, audio files can be uploaded wirelessly. The moment the first upload succeeds is met with genuine surprise&amp;mdash;a familiar reaction when networking works on the first try.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once uploaded, the Pi handles the final processing. The recordings arrive as M4A files, which are not ideal for lightweight playback on a Pi Zero. While tools like mplayer can play them, Lorraine finds performance sluggish. Instead, she converts the files to WAV format using ffmpeg, making playback faster and more reliable. She notes that this conversion should ideally happen automatically as files arrive, and that further refinement is needed to avoid reprocessing files unnecessarily.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;These performance‑driven choices highlight an important reality of working with small single‑board computers: format choices and processing overhead matter.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek5"&gt;Packaging It as a Real Device&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;With the system working end‑to‑end, Lorraine turns her attention to enclosure design. She experiments with different boxes, thinking carefully about speaker placement, screen visibility, cable exits, and how to protect internal wiring from being pulled or damaged. While she does not settle on a final enclosure design, she is clear about the priorities: the device should feel solid, compact, and purpose‑built, not like exposed electronics in a box.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;During final testing, she demonstrates two operating modes: a web mode for uploading new audio files and a ready mode for announcing numbers. The keypad input triggers playback exactly as intended, and the OLED provides immediate visual confirmation. One remaining improvement she identifies is better feedback when a number has not been recorded&amp;mdash;currently, missing files result in silence, something that should be made clearer to the user.&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4ocek6"&gt;More Than a Caf&amp;eacute; Gadget&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;By the end of the project, it is clear that this is more than a novelty caf&amp;eacute; accessory. Lorraine reflects on broader uses, particularly in accessibility. The same system could be used to pre‑record phrases for people who struggle to speak in stressful situations, offering a discreet, button‑based alternative to using a phone.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The project is honest about what is unfinished&amp;mdash;enclosure refinement, smarter file handling, improved feedback&amp;mdash;but it also reaches a meaningful milestone: it works. The core idea is sound, the implementation is practical, and the device already solves the problem it set out to address.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;For Lorraine, getting the idea &amp;ldquo;out of her head and into the world&amp;rdquo; is the real success. And for anyone recreating the project, the lessons are clear: prioritise clarity, test each component in isolation, and choose simplicity wherever possible.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlp4qlt8a" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Supporting Links and Files&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;- &lt;a title="Github Repo" href="https://github.com/Lorrainbow/keypad-voice/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Github Repo&lt;/a&gt; (snapshot files)&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlp4p5308"&gt;Bill of Materials&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-7a565" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986,4550988,3838503,2723300,1182236,4007809,3401776&amp;nsku=69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('7a565'));" data-farnell="4163986,4550988,3838503,2723300,1182236,4007809,3401776" data-newark="69AK9093,16AM2470,71AJ9652,12AC6807,24M4388,42AK5768,82X6838" data-comoverride="" data-cmpoverride="" data-cpc=",,,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Zero WH&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8579b" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4163986&amp;nsku=69AK9093&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('8579b'));" data-farnell="4163986" data-newark="69AK9093" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi SD Card&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6d8e7" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4550988&amp;nsku=16AM2470&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('6d8e7'));" data-farnell="4550988" data-newark="16AM2470" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raspberry Pi Power Supply Unit&lt;/td&gt;
&lt;td&gt;Raspberry Pi&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-da4a4" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3838503&amp;nsku=71AJ9652&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('da4a4'));" data-farnell="3838503" data-newark="71AJ9652" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Adaptor&lt;/td&gt;
&lt;td&gt;SECOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-09cbf" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2723300&amp;nsku=12AC6807&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('09cbf'));" data-farnell="2723300" data-newark="12AC6807" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keypad&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-abb9c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1182236&amp;nsku=24M4388&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('abb9c'));" data-farnell="1182236" data-newark="24M4388" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OLED Screen&lt;/td&gt;
&lt;td&gt;Seed studio&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-067da" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4007809&amp;nsku=42AK5768&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('067da'));" data-farnell="4007809" data-newark="42AK5768" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB Switch&lt;/td&gt;
&lt;td&gt;Pro Signal&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8a4a1" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3401776&amp;nsku=82X6838&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('8a4a1'));" data-farnell="3401776" data-newark="82X6838" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A box&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2p1"&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;h3 id="mcetoc_1jlouns2p8"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Was that my Number!? Fixing Café Order Chaos with a Raspberry Pi Announcer</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer/revision/3</link><pubDate>Thu, 09 Apr 2026 11:06:36 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:078e7db6-cf4b-4ee7-a97e-9e1e670a7b78</guid><dc:creator>cstanton</dc:creator><description>Revision 3 posted to Documents by cstanton on 4/9/2026 11:06:36 AM&lt;br /&gt;
&lt;p&gt;In this video, Lorraine tackles a familiar caf&amp;eacute; problem: noisy spaces and unclear order callouts. Using a Raspberry Pi Zero, keypad, OLED screen, and USB audio, she designs a compact announcer that plays clear, pre‑recorded numbers at the press of a button. Along the way, she works through real‑world challenges, from slow installs on the Pi Zero and audio format conversions to keypad wiring, enclosure choices, and building a phone-based workflow for recording and uploading clips. The result is a practical, human‑centred project with potential far beyond caf&amp;eacute;s, including accessibility-focused communication tools, you can find the supporting&amp;nbsp;files and project video below.&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2o0"&gt;Order&amp;#39;s Up!&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/5xZ9l8wCHgQ"&gt;https://youtu.be/5xZ9l8wCHgQ&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1jlouns2p1"&gt;Caf&amp;eacute; Announcer: a Raspberry Pi Zero WH keypad that calls orders clearly (and politely)&lt;/h2&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;There&amp;rsquo;s a particular kind of chaos that only a busy caf&amp;eacute; can generate: milk steaming, grinders roaring, chairs scraping, and a tired human trying to call out &amp;ldquo;twenty-one&amp;rdquo; into the void. Lorraine&amp;rsquo;s project tackles that exact pain point with a deceptively simple promise: make the callouts loud, clear, and unambiguous without relying on a distorted PA mic or someone&amp;rsquo;s &amp;ldquo;quietest voice imaginable.&amp;rdquo; She frames the motivation in a way that instantly feels familiar: caf&amp;eacute;s are noisy, call systems are often &amp;ldquo;flawed,&amp;rdquo; and customers end up second-guessing whether a number was even said.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The solution she builds is a compact &amp;ldquo;announcer&amp;rdquo; box: staff enter a number on a keypad, the device shows what&amp;rsquo;s being typed on an OLED, and then plays crisp, pre-recorded audio for that number through a speaker. The key insight is operational, not just technical: record the voice clips in a quiet space, then play them back consistently at caf&amp;eacute; volume. As Lorraine puts it, the goal is &amp;ldquo;loud, clear&amp;hellip; everyone understands what number was called,&amp;rdquo; and service moves faster because people stop hesitating.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;What makes this build particularly strong is that Lorraine doesn&amp;rsquo;t only assemble hardware, she also builds the workflow: recording on a phone, trimming clips, transferring files to the Pi over Wi‑Fi, converting the audio into a lightweight format, and finally triggering playback via keypad input. It&amp;rsquo;s a full &amp;ldquo;product loop,&amp;rdquo; not just a wiring demo.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1jlouns2p2" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;What was Built in this Project&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h3 id="mcetoc_1jlouns2p3" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Inputs&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A matrix keypad for staff entry (single digits and multi-digit numbers).&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A &lt;strong&gt;phone&lt;/strong&gt;-based recording app (Lorraine&amp;rsquo;s own) for capturing and trimming audio clips.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jlouns2p4" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Outputs&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A small OLED screen showing what is being typed.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A speaker for clear number announcements.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1jlouns2p5" class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;How&amp;nbsp;it works Together&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Record number clips on the phone &amp;rarr; trim &amp;rarr; preview combinations.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Upload clips to the Raspberry Pi over Wi‑Fi (Flask web service).&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Pi trims and converts audio (performance-aware choices).&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keypad entry triggers playback; OLED mirrors input.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Hopefully this results in&amp;nbsp;the kind of build that feels like it could be dropped into a caf&amp;eacute; with minimal explanation, especially because Lorraine repeatedly tests each subsystem independently (audio, display, keypad) before integrating them.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Project Hardware Used&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;Lorraine&amp;rsquo;s chosen parts suit a small, purpose-built appliance: inexpensive, compact, and focused on simple I/O.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h3 id="mcetoc_1jlouns2p6"&gt;&lt;strong&gt;Raspberry Pi Zero WH&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The &lt;strong&gt;Raspberry Pi Zero&lt;/strong&gt; form factor is tiny (about &lt;strong&gt;65 mm &amp;times; 30 mm&lt;/strong&gt;) and designed for embedded-style builds. It uses a &lt;strong&gt;microSD card&lt;/strong&gt; for storage/OS and is powered by &lt;strong&gt;5 V via micro‑USB&lt;/strong&gt;, with a separate &lt;strong&gt;micro‑USB OTG/data port&lt;/strong&gt; for peripherals. &lt;br /&gt; For this project, that matters because: &lt;a href="/products/raspberry-pi/w/documents/1115/overview-of-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="/products/raspberry-pi/w/documents/1111/introducing-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;The build needs only light compute (GPIO scanning + audio playback + small web service).&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;It benefits from a physically small board that can live in a handheld enclosure. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;, &lt;a href="/products/raspberry-pi/w/documents/1115/overview-of-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Reviewer note: Lorraine calls out an important reality: Pi Zeros can be &lt;strong&gt;painfully slow&lt;/strong&gt; for some install steps (&amp;ldquo;this took forever on a Pi Zero&amp;rdquo;), so choosing libraries and avoiding unnecessary overhead becomes part of the engineering. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;What &amp;ldquo;WH&amp;rdquo; implies:&lt;/strong&gt; in common maker usage, &amp;ldquo;W&amp;rdquo; indicates wireless capability and &amp;ldquo;H&amp;rdquo; indicates a pre-soldered header. (This detail wasn&amp;rsquo;t present in the provided sources, so treat it as a practical convention rather than a cited specification.)&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2p7"&gt;&lt;strong&gt;Raspberry Pi SD Card&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The Pi Zero boots from a &lt;strong&gt;microSD card&lt;/strong&gt;, which holds Raspberry Pi OS and all project files. That&amp;rsquo;s fundamental to the platform: storage is external, swappable, and easy to reimage if anything gets corrupted. &lt;a href="/products/raspberry-pi/w/documents/1115/overview-of-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2p8"&gt;&lt;strong&gt;Raspberry Pi Power Supply Unit&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;A stable &lt;strong&gt;5 V micro‑USB power source&lt;/strong&gt; keeps the Pi reliable, especially once USB peripherals (speaker, adapters) are involved. The Pi Zero&amp;rsquo;s power arrangement is explicitly micro‑USB based. &lt;a href="/products/raspberry-pi/w/documents/1115/overview-of-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2p9"&gt;&lt;strong&gt;USB Adaptor (micro‑USB OTG)&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the Pi Zero family relies on a micro‑USB OTG/data port for peripherals, an OTG adapter is the bridge that turns &amp;ldquo;tiny embedded port&amp;rdquo; into &amp;ldquo;normal USB.&amp;rdquo; The Pi Zero&amp;rsquo;s port layout and OTG nature are part of what makes this kind of peripheral-heavy build workable. &lt;a href="/products/raspberry-pi/w/documents/1115/overview-of-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pa"&gt;&lt;strong&gt;Keypad&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine uses a matrix keypad (rows/columns scanned via GPIO). Matrix keypads are ideal here: low-cost, robust, and simple to scan in software by driving columns and reading rows (or vice versa). A comparable keypad-driven control concept is common in embedded builds: scan the matrix and map indices to symbols. &lt;a href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/xr-1000-pico-python-robot-control-keypad" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pb"&gt;&lt;strong&gt;OLED Screen&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The OLED is connected over &lt;strong&gt;I&amp;sup2;C&lt;/strong&gt;, which keeps wiring light (power + two signal lines) and allows the Pi to display typed digits without needing a full GUI. Lorraine follows a common pattern for SSD1306‑class OLEDs: enable I&amp;sup2;C, install libraries, run a test example. OLED modules of this type often come with SSD1306 controllers and can be tricky about I&amp;sup2;C addressing (silkscreen address confusion is a known issue). &lt;a href="/members-area/personalblogs/b/blog/posts/oled-i2c-silkscreens-are-wrong-or-are-they" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pc"&gt;&lt;strong&gt;USB Switch&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;A small inline USB power switch is a practical quality-of-life addition for a kiosk-style device: physical on/off control without yanking cables. The maker community often uses inline USB switching to make embedded setups more appliance-like. &lt;a href="/products/raspberry-pi/f/forum/20279/power-switch-on-kickstarter---intelligent-in-line-micro-usb-switch" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1jlouns2pd"&gt;Design choices that quietly make the project better&lt;/h2&gt;
&lt;h3 id="mcetoc_1jlouns2pe"&gt;1) USB audio instead of an audio HAT&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine&amp;rsquo;s last audio-related project apparently involved more complicated audio hardware, and she very deliberately avoids repeating that pain. Here she plugs in a small &lt;strong&gt;USB speaker&lt;/strong&gt;, changes the Pi&amp;rsquo;s audio output selection, and validates playback using a known test sample (&amp;ldquo;Front_Center&amp;rdquo;). She&amp;rsquo;s visibly delighted that it &amp;ldquo;just works,&amp;rdquo; with no special code required&amp;mdash;after reboot, it defaults to the USB speaker. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This aligns with broader Pi audio advice: USB audio devices are usually handled cleanly by ALSA, and many projects succeed by selecting the correct default card rather than fighting bespoke drivers. &lt;a href="/challenges-projects/design-challenges/pi-iot/b/blog/posts/pi-iot---pilot---5-add-usb-sound-card-and-a-couple-of-enclosures" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Quote worth keeping for anyone recreating it: Lorraine essentially celebrates the reduced complexity&amp;mdash;&amp;ldquo;so much easier than the last project&amp;rdquo;&amp;mdash;and that&amp;rsquo;s a real engineering lesson: &lt;strong&gt;prefer boring, well-supported interfaces&lt;/strong&gt; when the goal is reliability in a real environment. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;h3 id="mcetoc_1jlouns2pf"&gt;2) Testing each subsystem separately before integration&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;She verifies:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Speaker output works.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;OLED renders example content.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keypad scanning prints correct digits. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That staged approach prevents the classic embedded trap: wiring everything first, then debugging a tangled mess where &amp;ldquo;anything could be wrong.&amp;rdquo;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pg"&gt;3) The phone workflow is treated as a first-class feature&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of &amp;ldquo;just SCP files over,&amp;rdquo; Lorraine builds an actual user-facing recording tool. The app:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;shows a list of numbers,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;records clips,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;displays waveforms/spikes,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;supports trimming,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;previews combined number playback,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;and uploads to the Pi over Wi‑Fi. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That&amp;rsquo;s not fluff. In a caf&amp;eacute;, the staff experience matters: if recording and updating numbers is annoying, the device won&amp;rsquo;t be used. Lorraine&amp;rsquo;s approach makes the system maintainable by non-technical users&amp;mdash;exactly what an appliance needs.&lt;/div&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1jlouns2ph"&gt;Build log (rewritten as a cohesive project blog)&lt;/h2&gt;
&lt;h3 id="mcetoc_1jlouns2pi"&gt;&lt;strong&gt;1. The problem: caf&amp;eacute; acoustics are a UX bug&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine starts with a relatable observation: many caf&amp;eacute;s still rely on shouted numbers, low-quality speakers, or distorted microphones. In busy periods, customers miss callouts, and staff repeat themselves. This isn&amp;rsquo;t just an audio issue&amp;mdash;it&amp;rsquo;s a service bottleneck.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Her premise is simple: record numbers clearly in a quiet room, then let staff trigger them precisely via keypad so the playback is consistent every time. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pj"&gt;&lt;strong&gt;2. Parts selection: small, simple, and caf&amp;eacute;-proof&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine lays out the parts physically and immediately thinks like a product designer: compactness, enclosure fit, cable exits, and whether the device should be battery-powered or wall-powered. She considers:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;a compact box (she even tests sizing against a Pi box),&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;a speaker placement that looks intentional,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;and a keypad face that makes the device self-explanatory. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;She also weighs enclosure options&amp;mdash;tin, painted box, waterproof project enclosure&amp;mdash;then notices a real-world hazard: exposed wiring can be tugged by users, so mounts and strain relief matter. That&amp;rsquo;s the kind of practical consideration that separates &amp;ldquo;bench demo&amp;rdquo; from &amp;ldquo;deployable gadget.&amp;rdquo; &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pk"&gt;&lt;strong&gt;3. Audio validation: choose the easy win&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Before anything else, she confirms the Pi can output audio cleanly through the USB speaker. She switches audio away from HDMI and plays a standard test wav file. The success condition is immediate: audible, clear output without extra driver work. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;If you&amp;rsquo;re replicating this, this step is foundational. Don&amp;rsquo;t write keypad logic until you know the Pi can reliably play sound through the chosen output device. Lorraine&amp;rsquo;s method&amp;mdash;validate with known-good sample audio&amp;mdash;is exactly the right discipline. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;, &lt;a href="/members-area/personalblogs/b/blog/posts/pi3-jessie-audio-for-usb-microphone-input-and-rpi3-3-5mm-jack-output" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pl"&gt;&lt;strong&gt;4. OLED setup: I&amp;sup2;C, libraries, and the &amp;ldquo;Pi Zero is slow&amp;rdquo; reality&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine connects the OLED using a Grove-style connector and jump wires, then follows a tutorial flow: enable I&amp;sup2;C, install dependencies, run a test. She emphasizes that even with a different OLED model, some guides remain &amp;ldquo;the best&amp;rdquo; she&amp;rsquo;s found&amp;mdash;because they include the boring-but-necessary I&amp;sup2;C enablement checks. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The candid warning: installing and building inside a virtual environment can take a long time on a Pi Zero. Her comment that it &amp;ldquo;took forever&amp;rdquo; is less a complaint and more a reminder: &lt;strong&gt;keep your software stack lean.&lt;/strong&gt; &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;OLED modules in this family commonly use SSD1306-like controllers and communicate over I&amp;sup2;C. They can also be confusing about I&amp;sup2;C address conventions (7‑bit vs 8‑bit representations and misleading silkscreen labels). If your display doesn&amp;rsquo;t appear, verifying the actual I&amp;sup2;C address is a standard troubleshooting step. &lt;a href="/members-area/personalblogs/b/blog/posts/oled-i2c-silkscreens-are-wrong-or-are-they" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;She then runs an example and gets output&amp;mdash;along with a quirk: screen flicker visible on camera but not necessarily in real life. She calls it out so viewers don&amp;rsquo;t misdiagnose a hardware fault. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pm"&gt;&lt;strong&gt;5. Keypad wiring: rows, columns, and a bit of soldering pragmatism&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Next, Lorraine turns to the keypad. She chooses a right-angle pin header approach to keep wiring tidy and reduce visual clutter in the enclosure&amp;mdash;an aesthetic choice that also improves durability. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;There&amp;rsquo;s an authentic maker moment here: soldering technique, tool choice, temperature checking, fume management (&amp;ldquo;should have my fan&amp;rdquo;), and accepting &amp;ldquo;good enough&amp;rdquo; where it&amp;rsquo;s safe. That tone matters because it models realistic build behavior rather than perfection theatre. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Technically, she references the keypad&amp;rsquo;s documentation and maps pins to GPIO, explicitly noting the mild confusion that can happen when the keypad pin numbering doesn&amp;rsquo;t match the physical orientation you expect. She then validates the mapping in code by printing keypresses&amp;mdash;proving the matrix scan works. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Matrix keypad scanning is a standard embedded pattern: configure one side as outputs, the other as inputs with pull-ups/pull-downs, iterate through drive states, and detect which intersections are closed. Lorraine&amp;rsquo;s approach aligns with that common method. &lt;a href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/xr-1000-pico-python-robot-control-keypad" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pn"&gt;&lt;strong&gt;6. The phone app: recording, trimming, and making combined numbers sound natural&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where Lorraine&amp;rsquo;s project becomes more than &amp;ldquo;a Pi that plays audio.&amp;rdquo; She demonstrates her app&amp;rsquo;s number list UI and starts recording clips. The trimming interface is practical: waveform spikes, draggable trim markers, and immediate playback preview. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Then she hits a subtle UX/audio problem: &lt;strong&gt;stitching &amp;ldquo;20&amp;rdquo; + &amp;ldquo;1&amp;rdquo; doesn&amp;rsquo;t always sound like &amp;ldquo;21.&amp;rdquo;&lt;/strong&gt; The gap can be too long or too short, and overlap can sound unnatural. She experiments by adjusting trim points and introduces a configurable &amp;ldquo;gap between tokens&amp;rdquo; in settings. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Her most useful insight for builders is also the simplest: if concatenation is too fiddly, &lt;strong&gt;just record the whole number&lt;/strong&gt; as a single clip. She demonstrates that &amp;ldquo;22&amp;rdquo; sounds natural when recorded as &amp;ldquo;twenty-two&amp;rdquo; rather than stitched. In practice, caf&amp;eacute;s often only need a finite set of numbers, so recording a full range is feasible. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Quote that captures the philosophy: Lorraine frames it as a tradeoff&amp;mdash;either perfect the timing logic or &amp;ldquo;record all the numbers you could possibly ever want,&amp;rdquo; accepting the upfront effort for guaranteed natural output. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;h3 id="mcetoc_1jlouns2po"&gt;&lt;strong&gt;7. Uploading to the Pi: Flask, Wi‑Fi, and performance-aware audio conversion&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine adds file transfer directly into the app: the Pi runs a small web service (Flask) and the phone uploads clips over the local network. She tests it live and is almost surprised it works first time&amp;mdash;exactly the reaction of someone who knows how many things can go wrong with networking. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Then she immediately thinks like a system owner:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;The uploaded files arrive as &lt;strong&gt;M4A&lt;/strong&gt;, which is inconvenient for the lightweight &lt;code&gt;aplay&lt;/code&gt; path.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;code&gt;mplayer&lt;/code&gt; can play them but is &amp;ldquo;a lot slower,&amp;rdquo; especially on a Pi Zero.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;So she uses &lt;strong&gt;ffmpeg&lt;/strong&gt; to convert to WAV, and notes that conversion should ideally happen automatically &amp;ldquo;when they arrive.&amp;rdquo; &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is a deeply practical choice: Pi Zero-class devices reward you for choosing simple decode paths and avoiding heavyweight playback layers. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pp"&gt;&lt;strong&gt;8. Integration: enclosure decisions and &amp;ldquo;ship it&amp;rdquo; energy&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the pieces work individually, Lorraine integrates them and begins packaging. She&amp;rsquo;s candid that the enclosure isn&amp;rsquo;t fully solved: she doesn&amp;rsquo;t want to 3D print something unnecessarily, but she does want to protect wiring from being pulled and avoid wobble. She tests a box, cuts cable holes, considers adding screws, and arranges internal layout: OLED panel, speaker mounting, Pi placement, cable folding, and room for a USB adapter. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;There&amp;rsquo;s a wonderful line of maker realism near the end: she lists remaining tasks (combination audio files, JSON-driven gaps, better enclosure, mounting), then shrugs&amp;mdash;&lt;strong&gt;it works, so it&amp;rsquo;s tempting to &amp;ldquo;just ship it.&amp;rdquo;&lt;/strong&gt; That&amp;rsquo;s not laziness; it&amp;rsquo;s a product truth: once the core loop is functional, iteration can happen in polish layers. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pq"&gt;&lt;strong&gt;9. Final demo: modes, keypad entry, and missing-file behavior&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine demonstrates two operating modes:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Web mode&lt;/strong&gt;: ready to receive uploads (phone and device on same Wi‑Fi).&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A bypass path (pressing a key) to enter &lt;strong&gt;ready mode&lt;/strong&gt; and start announcing. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;She then plays a variety of numbers and combinations, showing that both single-number clips and concatenated outputs can work. She also identifies an important UX gap: when a number isn&amp;rsquo;t recorded (e.g., pressing &amp;ldquo;80&amp;rdquo; without an &amp;ldquo;80&amp;rdquo; file), the device currently fails silently&amp;mdash;so she wants a warning or feedback indicating the clip is missing. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is exactly the kind of detail that matters in a caf&amp;eacute;: staff should never wonder &amp;ldquo;did it play?&amp;rdquo; The device should tell them immediately if the content doesn&amp;rsquo;t exist.&lt;/div&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1jlouns2pr"&gt;What Lorraine highlights as &amp;ldquo;next&amp;rdquo; (and why those future tweaks matter)&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine is unusually clear about unfinished aspects&amp;mdash;useful for anyone recreating the project and wanting to extend it:&lt;/div&gt;
&lt;ol&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Hotspot mode instead of shared Wi‑Fi&lt;/strong&gt;&lt;br /&gt; She notes it would be easy to have the keypad device emit its own hotspot so the phone connects directly&amp;mdash;ideal for caf&amp;eacute;s where you don&amp;rsquo;t want to join internal networks or handle Wi‑Fi credentials. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Smarter uploads (only new files, progress feedback)&lt;/strong&gt;&lt;br /&gt; She worries the app may be uploading &lt;em&gt;all&lt;/em&gt; files every time rather than only new recordings, which makes the Pi do unnecessary trimming/conversion work. On a Pi Zero, that matters. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Pi-side automation (trim + convert on arrival, driven by metadata)&lt;/strong&gt;&lt;br /&gt; She already trims and converts on the Pi, but she wants it cleaner and likely driven by a JSON file that includes trim positions and inter-token gaps. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;User feedback for missing numbers&lt;/strong&gt;&lt;br /&gt; A visible or audible &amp;ldquo;missing file&amp;rdquo; warning would prevent silent failures during service. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Enclosure mounting and strain relief&lt;/strong&gt;&lt;br /&gt; She wants to protect wiring, reduce wobble, and make the internal layout robust&amp;mdash;again, &amp;ldquo;appliance thinking.&amp;rdquo; &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Optional battery operation&lt;/strong&gt;&lt;br /&gt; She considers a LiPo shim approach (portable, no wall cable) versus a standard Pi plug (always-on). This is a meaningful deployment choice: battery makes placement flexible, but power management becomes more important. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1jlouns2ps"&gt;Reviewer appraisal: what&amp;rsquo;s genuinely strong about this build&lt;/h2&gt;
&lt;h3 id="mcetoc_1jlouns2pt"&gt;It solves a real-world problem with a real workflow&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This isn&amp;rsquo;t a novelty soundboard. The project is designed around caf&amp;eacute; operations: clarity, speed, and repeatability under noise. Lorraine&amp;rsquo;s user story is crisp, and the build aligns tightly to it. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pu"&gt;The engineering choices lean toward reliability&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;USB audio instead of niche hats. I&amp;sup2;C OLED instead of full HDMI UI. Stepwise testing. Lightweight conversion choices. All of these reduce the risk of &amp;ldquo;works on my desk&amp;rdquo; syndrome. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;, &lt;a href="/challenges-projects/design-challenges/pi-iot/b/blog/posts/pi-iot---pilot---5-add-usb-sound-card-and-a-couple-of-enclosures" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2pv"&gt;The accessibility angle is quietly powerful&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine points out the broader potential: mapping phrases to buttons for people who want pre-recorded speech in stressful contexts, where pulling out a phone is awkward and scrolling through an app is slow. That reframes the device as an assistive tool as well as a caf&amp;eacute; gadget. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3 id="mcetoc_1jlouns2p10"&gt;The project is honest about constraints&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The Pi Zero&amp;rsquo;s speed limitations, format conversion costs, and enclosure realities are all acknowledged. The transcript doesn&amp;rsquo;t pretend everything is effortless&amp;mdash;and that honesty helps others replicate it successfully. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1jlouns2p11"&gt;Practical &amp;ldquo;if you&amp;rsquo;re recreating this&amp;rdquo; notes (the stuff worth underlining)&lt;/h2&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Validate audio output first&lt;/strong&gt; using known test WAV playback before writing any keypad logic. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;, &lt;a href="/members-area/personalblogs/b/blog/posts/pi3-jessie-audio-for-usb-microphone-input-and-rpi3-3-5mm-jack-output" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Expect Pi Zero installs to be slow&lt;/strong&gt;; keep dependencies minimal and avoid heavyweight playback when possible. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;OLED troubleshooting tip:&lt;/strong&gt; confirm I&amp;sup2;C is enabled and verify the device address if nothing appears&amp;mdash;OLED silkscreens can be misleading. &lt;a href="/members-area/personalblogs/b/blog/posts/oled-i2c-silkscreens-are-wrong-or-are-they" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Keypad mapping:&lt;/strong&gt; document your row/column to GPIO mapping early; keypad pin numbering can be unintuitive. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Audio naturalness:&lt;/strong&gt; concatenation is possible, but recording whole numbers (or whole phrases) is often the most &amp;ldquo;human-sounding&amp;rdquo; approach. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Give feedback on missing clips:&lt;/strong&gt; caf&amp;eacute;s need deterministic behavior; silent failures will frustrate staff. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Plan enclosure strain relief:&lt;/strong&gt; if users can tug a cable, they eventually will. Lorraine flags this risk early for good reason. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id="mcetoc_1jlouns2p12"&gt;Closing: a small box that behaves like a product&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine&amp;rsquo;s caf&amp;eacute; announcer succeeds because it treats the device as a &lt;strong&gt;tool people will actually use&lt;/strong&gt;, not just a weekend build. The interplay of keypad + OLED + speaker is straightforward, but the project&amp;rsquo;s real value is the end-to-end pipeline&amp;mdash;record, trim, upload, convert, announce&amp;mdash;wrapped in a friendly, reproducible workflow. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;And the final invitation feels earned: she wants to see it deployed in a real caf&amp;eacute;. Given the clarity of the concept and the practical engineering decisions, it&amp;rsquo;s not hard to imagine this sitting by a till, calmly calling out numbers all day without anyone asking, &amp;ldquo;Wait&amp;mdash;was that &lt;em&gt;my&lt;/em&gt; order?&amp;rdquo; &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Was that my Number!? Fixing Café Order Chaos with a Raspberry Pi Announcer</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/72055/was-that-my-number-fixing-cafe-order-chaos-with-a-raspberry-pi-announcer/revision/2</link><pubDate>Wed, 08 Apr 2026 16:10:03 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:078e7db6-cf4b-4ee7-a97e-9e1e670a7b78</guid><dc:creator>cstanton</dc:creator><description>Revision 2 posted to Documents by cstanton on 4/8/2026 4:10:03 PM&lt;br /&gt;
&lt;p&gt;In this video, Lorraine tackles a familiar caf&amp;eacute; problem: noisy spaces and unclear order callouts. Using a Raspberry Pi Zero, keypad, OLED screen, and USB audio, she designs a compact announcer that plays clear, pre‑recorded numbers at the press of a button. Along the way, she works through real‑world challenges, from slow installs on the Pi Zero and audio format conversions to keypad wiring, enclosure choices, and building a phone-based workflow for recording and uploading clips. The result is a practical, human‑centred project with potential far beyond caf&amp;eacute;s, including accessibility-focused communication tools, you can find the supporting&amp;nbsp;files and project video below.&lt;/p&gt;
&lt;h2&gt;Order&amp;#39;s Up!&lt;/h2&gt;
&lt;p&gt;&amp;lt;video&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;Caf&amp;eacute; Announcer: a Raspberry Pi Zero WH keypad that calls orders clearly (and politely)&lt;/h2&gt;
&lt;div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;There&amp;rsquo;s a particular kind of chaos that only a busy caf&amp;eacute; can generate: milk steaming, grinders roaring, chairs scraping, and a tired human trying to call out &amp;ldquo;twenty-one&amp;rdquo; into the void. Lorraine&amp;rsquo;s project tackles that exact pain point with a deceptively simple promise: make the callouts loud, clear, and unambiguous without relying on a distorted PA mic or someone&amp;rsquo;s &amp;ldquo;quietest voice imaginable.&amp;rdquo; She frames the motivation in a way that instantly feels familiar: caf&amp;eacute;s are noisy, call systems are often &amp;ldquo;flawed,&amp;rdquo; and customers end up second-guessing whether a number was even said.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The solution she builds is a compact &amp;ldquo;announcer&amp;rdquo; box: staff enter a number on a keypad, the device shows what&amp;rsquo;s being typed on an OLED, and then plays crisp, pre-recorded audio for that number through a speaker. The key insight is operational, not just technical: record the voice clips in a quiet space, then play them back consistently at caf&amp;eacute; volume. As Lorraine puts it, the goal is &amp;ldquo;loud, clear&amp;hellip; everyone understands what number was called,&amp;rdquo; and service moves faster because people stop hesitating.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;What makes this build particularly strong is that Lorraine doesn&amp;rsquo;t only assemble hardware, she also builds the workflow: recording on a phone, trimming clips, transferring files to the Pi over Wi‑Fi, converting the audio into a lightweight format, and finally triggering playback via keypad input. It&amp;rsquo;s a full &amp;ldquo;product loop,&amp;rdquo; not just a wiring demo.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;h2 class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;What was Built in this Project&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;
&lt;h3 class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Inputs&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A matrix keypad for staff entry (single digits and multi-digit numbers).&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A &lt;strong&gt;phone&lt;/strong&gt;-based recording app (Lorraine&amp;rsquo;s own) for capturing and trimming audio clips.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Outputs&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A small OLED screen showing what is being typed.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A speaker for clear number announcements.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;How&amp;nbsp;it works Together&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Record number clips on the phone &amp;rarr; trim &amp;rarr; preview combinations.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Upload clips to the Raspberry Pi over Wi‑Fi (Flask web service).&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Pi trims and converts audio (performance-aware choices).&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keypad entry triggers playback; OLED mirrors input.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Hopefully this results in&amp;nbsp;the kind of build that feels like it could be dropped into a caf&amp;eacute; with minimal explanation, especially because Lorraine repeatedly tests each subsystem independently (audio, display, keypad) before integrating them.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Project Hardware Used&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;
&lt;div&gt;Lorraine&amp;rsquo;s chosen parts suit a small, purpose-built appliance: inexpensive, compact, and focused on simple I/O.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h3&gt;&lt;strong&gt;Raspberry Pi Zero WH&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The &lt;strong&gt;Raspberry Pi Zero&lt;/strong&gt; form factor is tiny (about &lt;strong&gt;65 mm &amp;times; 30 mm&lt;/strong&gt;) and designed for embedded-style builds. It uses a &lt;strong&gt;microSD card&lt;/strong&gt; for storage/OS and is powered by &lt;strong&gt;5 V via micro‑USB&lt;/strong&gt;, with a separate &lt;strong&gt;micro‑USB OTG/data port&lt;/strong&gt; for peripherals. &lt;br /&gt; For this project, that matters because: &lt;a href="/products/raspberry-pi/w/documents/1115/overview-of-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="/products/raspberry-pi/w/documents/1111/introducing-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;The build needs only light compute (GPIO scanning + audio playback + small web service).&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;It benefits from a physically small board that can live in a handheld enclosure. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;, &lt;a href="/products/raspberry-pi/w/documents/1115/overview-of-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Reviewer note: Lorraine calls out an important reality: Pi Zeros can be &lt;strong&gt;painfully slow&lt;/strong&gt; for some install steps (&amp;ldquo;this took forever on a Pi Zero&amp;rdquo;), so choosing libraries and avoiding unnecessary overhead becomes part of the engineering. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;What &amp;ldquo;WH&amp;rdquo; implies:&lt;/strong&gt; in common maker usage, &amp;ldquo;W&amp;rdquo; indicates wireless capability and &amp;ldquo;H&amp;rdquo; indicates a pre-soldered header. (This detail wasn&amp;rsquo;t present in the provided sources, so treat it as a practical convention rather than a cited specification.)&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;Raspberry Pi SD Card&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The Pi Zero boots from a &lt;strong&gt;microSD card&lt;/strong&gt;, which holds Raspberry Pi OS and all project files. That&amp;rsquo;s fundamental to the platform: storage is external, swappable, and easy to reimage if anything gets corrupted. &lt;a href="/products/raspberry-pi/w/documents/1115/overview-of-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;Raspberry Pi Power Supply Unit&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;A stable &lt;strong&gt;5 V micro‑USB power source&lt;/strong&gt; keeps the Pi reliable, especially once USB peripherals (speaker, adapters) are involved. The Pi Zero&amp;rsquo;s power arrangement is explicitly micro‑USB based. &lt;a href="/products/raspberry-pi/w/documents/1115/overview-of-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;USB Adaptor (micro‑USB OTG)&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Because the Pi Zero family relies on a micro‑USB OTG/data port for peripherals, an OTG adapter is the bridge that turns &amp;ldquo;tiny embedded port&amp;rdquo; into &amp;ldquo;normal USB.&amp;rdquo; The Pi Zero&amp;rsquo;s port layout and OTG nature are part of what makes this kind of peripheral-heavy build workable. &lt;a href="/products/raspberry-pi/w/documents/1115/overview-of-the-raspberry-pi-zero" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;Keypad&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine uses a matrix keypad (rows/columns scanned via GPIO). Matrix keypads are ideal here: low-cost, robust, and simple to scan in software by driving columns and reading rows (or vice versa). A comparable keypad-driven control concept is common in embedded builds: scan the matrix and map indices to symbols. &lt;a href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/xr-1000-pico-python-robot-control-keypad" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;OLED Screen&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The OLED is connected over &lt;strong&gt;I&amp;sup2;C&lt;/strong&gt;, which keeps wiring light (power + two signal lines) and allows the Pi to display typed digits without needing a full GUI. Lorraine follows a common pattern for SSD1306‑class OLEDs: enable I&amp;sup2;C, install libraries, run a test example. OLED modules of this type often come with SSD1306 controllers and can be tricky about I&amp;sup2;C addressing (silkscreen address confusion is a known issue). &lt;a href="/members-area/personalblogs/b/blog/posts/oled-i2c-silkscreens-are-wrong-or-are-they" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;USB Switch&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;A small inline USB power switch is a practical quality-of-life addition for a kiosk-style device: physical on/off control without yanking cables. The maker community often uses inline USB switching to make embedded setups more appliance-like. &lt;a href="/products/raspberry-pi/f/forum/20279/power-switch-on-kickstarter---intelligent-in-line-micro-usb-switch" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;hr /&gt;
&lt;h2&gt;Design choices that quietly make the project better&lt;/h2&gt;
&lt;h3&gt;1) USB audio instead of an audio HAT&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine&amp;rsquo;s last audio-related project apparently involved more complicated audio hardware, and she very deliberately avoids repeating that pain. Here she plugs in a small &lt;strong&gt;USB speaker&lt;/strong&gt;, changes the Pi&amp;rsquo;s audio output selection, and validates playback using a known test sample (&amp;ldquo;Front_Center&amp;rdquo;). She&amp;rsquo;s visibly delighted that it &amp;ldquo;just works,&amp;rdquo; with no special code required&amp;mdash;after reboot, it defaults to the USB speaker. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This aligns with broader Pi audio advice: USB audio devices are usually handled cleanly by ALSA, and many projects succeed by selecting the correct default card rather than fighting bespoke drivers. &lt;a href="/challenges-projects/design-challenges/pi-iot/b/blog/posts/pi-iot---pilot---5-add-usb-sound-card-and-a-couple-of-enclosures" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Quote worth keeping for anyone recreating it: Lorraine essentially celebrates the reduced complexity&amp;mdash;&amp;ldquo;so much easier than the last project&amp;rdquo;&amp;mdash;and that&amp;rsquo;s a real engineering lesson: &lt;strong&gt;prefer boring, well-supported interfaces&lt;/strong&gt; when the goal is reliability in a real environment. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;h3&gt;2) Testing each subsystem separately before integration&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;She verifies:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Speaker output works.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;OLED renders example content.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;Keypad scanning prints correct digits. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That staged approach prevents the classic embedded trap: wiring everything first, then debugging a tangled mess where &amp;ldquo;anything could be wrong.&amp;rdquo;&lt;/div&gt;
&lt;h3&gt;3) The phone workflow is treated as a first-class feature&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Instead of &amp;ldquo;just SCP files over,&amp;rdquo; Lorraine builds an actual user-facing recording tool. The app:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;shows a list of numbers,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;records clips,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;displays waveforms/spikes,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;supports trimming,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;previews combined number playback,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;and uploads to the Pi over Wi‑Fi. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;That&amp;rsquo;s not fluff. In a caf&amp;eacute;, the staff experience matters: if recording and updating numbers is annoying, the device won&amp;rsquo;t be used. Lorraine&amp;rsquo;s approach makes the system maintainable by non-technical users&amp;mdash;exactly what an appliance needs.&lt;/div&gt;
&lt;hr /&gt;
&lt;h2&gt;Build log (rewritten as a cohesive project blog)&lt;/h2&gt;
&lt;h3&gt;&lt;strong&gt;1. The problem: caf&amp;eacute; acoustics are a UX bug&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine starts with a relatable observation: many caf&amp;eacute;s still rely on shouted numbers, low-quality speakers, or distorted microphones. In busy periods, customers miss callouts, and staff repeat themselves. This isn&amp;rsquo;t just an audio issue&amp;mdash;it&amp;rsquo;s a service bottleneck.&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Her premise is simple: record numbers clearly in a quiet room, then let staff trigger them precisely via keypad so the playback is consistent every time. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;2. Parts selection: small, simple, and caf&amp;eacute;-proof&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine lays out the parts physically and immediately thinks like a product designer: compactness, enclosure fit, cable exits, and whether the device should be battery-powered or wall-powered. She considers:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;a compact box (she even tests sizing against a Pi box),&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;a speaker placement that looks intentional,&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;and a keypad face that makes the device self-explanatory. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;She also weighs enclosure options&amp;mdash;tin, painted box, waterproof project enclosure&amp;mdash;then notices a real-world hazard: exposed wiring can be tugged by users, so mounts and strain relief matter. That&amp;rsquo;s the kind of practical consideration that separates &amp;ldquo;bench demo&amp;rdquo; from &amp;ldquo;deployable gadget.&amp;rdquo; &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;3. Audio validation: choose the easy win&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Before anything else, she confirms the Pi can output audio cleanly through the USB speaker. She switches audio away from HDMI and plays a standard test wav file. The success condition is immediate: audible, clear output without extra driver work. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;If you&amp;rsquo;re replicating this, this step is foundational. Don&amp;rsquo;t write keypad logic until you know the Pi can reliably play sound through the chosen output device. Lorraine&amp;rsquo;s method&amp;mdash;validate with known-good sample audio&amp;mdash;is exactly the right discipline. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;, &lt;a href="/members-area/personalblogs/b/blog/posts/pi3-jessie-audio-for-usb-microphone-input-and-rpi3-3-5mm-jack-output" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;4. OLED setup: I&amp;sup2;C, libraries, and the &amp;ldquo;Pi Zero is slow&amp;rdquo; reality&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine connects the OLED using a Grove-style connector and jump wires, then follows a tutorial flow: enable I&amp;sup2;C, install dependencies, run a test. She emphasizes that even with a different OLED model, some guides remain &amp;ldquo;the best&amp;rdquo; she&amp;rsquo;s found&amp;mdash;because they include the boring-but-necessary I&amp;sup2;C enablement checks. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The candid warning: installing and building inside a virtual environment can take a long time on a Pi Zero. Her comment that it &amp;ldquo;took forever&amp;rdquo; is less a complaint and more a reminder: &lt;strong&gt;keep your software stack lean.&lt;/strong&gt; &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;OLED modules in this family commonly use SSD1306-like controllers and communicate over I&amp;sup2;C. They can also be confusing about I&amp;sup2;C address conventions (7‑bit vs 8‑bit representations and misleading silkscreen labels). If your display doesn&amp;rsquo;t appear, verifying the actual I&amp;sup2;C address is a standard troubleshooting step. &lt;a href="/members-area/personalblogs/b/blog/posts/oled-i2c-silkscreens-are-wrong-or-are-they" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;She then runs an example and gets output&amp;mdash;along with a quirk: screen flicker visible on camera but not necessarily in real life. She calls it out so viewers don&amp;rsquo;t misdiagnose a hardware fault. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;5. Keypad wiring: rows, columns, and a bit of soldering pragmatism&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Next, Lorraine turns to the keypad. She chooses a right-angle pin header approach to keep wiring tidy and reduce visual clutter in the enclosure&amp;mdash;an aesthetic choice that also improves durability. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;There&amp;rsquo;s an authentic maker moment here: soldering technique, tool choice, temperature checking, fume management (&amp;ldquo;should have my fan&amp;rdquo;), and accepting &amp;ldquo;good enough&amp;rdquo; where it&amp;rsquo;s safe. That tone matters because it models realistic build behavior rather than perfection theatre. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Technically, she references the keypad&amp;rsquo;s documentation and maps pins to GPIO, explicitly noting the mild confusion that can happen when the keypad pin numbering doesn&amp;rsquo;t match the physical orientation you expect. She then validates the mapping in code by printing keypresses&amp;mdash;proving the matrix scan works. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Matrix keypad scanning is a standard embedded pattern: configure one side as outputs, the other as inputs with pull-ups/pull-downs, iterate through drive states, and detect which intersections are closed. Lorraine&amp;rsquo;s approach aligns with that common method. &lt;a href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/xr-1000-pico-python-robot-control-keypad" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;6. The phone app: recording, trimming, and making combined numbers sound natural&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is where Lorraine&amp;rsquo;s project becomes more than &amp;ldquo;a Pi that plays audio.&amp;rdquo; She demonstrates her app&amp;rsquo;s number list UI and starts recording clips. The trimming interface is practical: waveform spikes, draggable trim markers, and immediate playback preview. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Then she hits a subtle UX/audio problem: &lt;strong&gt;stitching &amp;ldquo;20&amp;rdquo; + &amp;ldquo;1&amp;rdquo; doesn&amp;rsquo;t always sound like &amp;ldquo;21.&amp;rdquo;&lt;/strong&gt; The gap can be too long or too short, and overlap can sound unnatural. She experiments by adjusting trim points and introduces a configurable &amp;ldquo;gap between tokens&amp;rdquo; in settings. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Her most useful insight for builders is also the simplest: if concatenation is too fiddly, &lt;strong&gt;just record the whole number&lt;/strong&gt; as a single clip. She demonstrates that &amp;ldquo;22&amp;rdquo; sounds natural when recorded as &amp;ldquo;twenty-two&amp;rdquo; rather than stitched. In practice, caf&amp;eacute;s often only need a finite set of numbers, so recording a full range is feasible. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Quote that captures the philosophy: Lorraine frames it as a tradeoff&amp;mdash;either perfect the timing logic or &amp;ldquo;record all the numbers you could possibly ever want,&amp;rdquo; accepting the upfront effort for guaranteed natural output. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;h3&gt;&lt;strong&gt;7. Uploading to the Pi: Flask, Wi‑Fi, and performance-aware audio conversion&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine adds file transfer directly into the app: the Pi runs a small web service (Flask) and the phone uploads clips over the local network. She tests it live and is almost surprised it works first time&amp;mdash;exactly the reaction of someone who knows how many things can go wrong with networking. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Then she immediately thinks like a system owner:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;The uploaded files arrive as &lt;strong&gt;M4A&lt;/strong&gt;, which is inconvenient for the lightweight &lt;code&gt;aplay&lt;/code&gt; path.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;code&gt;mplayer&lt;/code&gt; can play them but is &amp;ldquo;a lot slower,&amp;rdquo; especially on a Pi Zero.&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;So she uses &lt;strong&gt;ffmpeg&lt;/strong&gt; to convert to WAV, and notes that conversion should ideally happen automatically &amp;ldquo;when they arrive.&amp;rdquo; &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is a deeply practical choice: Pi Zero-class devices reward you for choosing simple decode paths and avoiding heavyweight playback layers. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;8. Integration: enclosure decisions and &amp;ldquo;ship it&amp;rdquo; energy&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Once the pieces work individually, Lorraine integrates them and begins packaging. She&amp;rsquo;s candid that the enclosure isn&amp;rsquo;t fully solved: she doesn&amp;rsquo;t want to 3D print something unnecessarily, but she does want to protect wiring from being pulled and avoid wobble. She tests a box, cuts cable holes, considers adding screws, and arranges internal layout: OLED panel, speaker mounting, Pi placement, cable folding, and room for a USB adapter. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;There&amp;rsquo;s a wonderful line of maker realism near the end: she lists remaining tasks (combination audio files, JSON-driven gaps, better enclosure, mounting), then shrugs&amp;mdash;&lt;strong&gt;it works, so it&amp;rsquo;s tempting to &amp;ldquo;just ship it.&amp;rdquo;&lt;/strong&gt; That&amp;rsquo;s not laziness; it&amp;rsquo;s a product truth: once the core loop is functional, iteration can happen in polish layers. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;&lt;strong&gt;9. Final demo: modes, keypad entry, and missing-file behavior&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine demonstrates two operating modes:&lt;/div&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Web mode&lt;/strong&gt;: ready to receive uploads (phone and device on same Wi‑Fi).&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;A bypass path (pressing a key) to enter &lt;strong&gt;ready mode&lt;/strong&gt; and start announcing. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;She then plays a variety of numbers and combinations, showing that both single-number clips and concatenated outputs can work. She also identifies an important UX gap: when a number isn&amp;rsquo;t recorded (e.g., pressing &amp;ldquo;80&amp;rdquo; without an &amp;ldquo;80&amp;rdquo; file), the device currently fails silently&amp;mdash;so she wants a warning or feedback indicating the clip is missing. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This is exactly the kind of detail that matters in a caf&amp;eacute;: staff should never wonder &amp;ldquo;did it play?&amp;rdquo; The device should tell them immediately if the content doesn&amp;rsquo;t exist.&lt;/div&gt;
&lt;hr /&gt;
&lt;h2&gt;What Lorraine highlights as &amp;ldquo;next&amp;rdquo; (and why those future tweaks matter)&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine is unusually clear about unfinished aspects&amp;mdash;useful for anyone recreating the project and wanting to extend it:&lt;/div&gt;
&lt;ol&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Hotspot mode instead of shared Wi‑Fi&lt;/strong&gt;&lt;br /&gt; She notes it would be easy to have the keypad device emit its own hotspot so the phone connects directly&amp;mdash;ideal for caf&amp;eacute;s where you don&amp;rsquo;t want to join internal networks or handle Wi‑Fi credentials. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Smarter uploads (only new files, progress feedback)&lt;/strong&gt;&lt;br /&gt; She worries the app may be uploading &lt;em&gt;all&lt;/em&gt; files every time rather than only new recordings, which makes the Pi do unnecessary trimming/conversion work. On a Pi Zero, that matters. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Pi-side automation (trim + convert on arrival, driven by metadata)&lt;/strong&gt;&lt;br /&gt; She already trims and converts on the Pi, but she wants it cleaner and likely driven by a JSON file that includes trim positions and inter-token gaps. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;User feedback for missing numbers&lt;/strong&gt;&lt;br /&gt; A visible or audible &amp;ldquo;missing file&amp;rdquo; warning would prevent silent failures during service. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Enclosure mounting and strain relief&lt;/strong&gt;&lt;br /&gt; She wants to protect wiring, reduce wobble, and make the internal layout robust&amp;mdash;again, &amp;ldquo;appliance thinking.&amp;rdquo; &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;&lt;strong&gt;Optional battery operation&lt;/strong&gt;&lt;br /&gt; She considers a LiPo shim approach (portable, no wall cable) versus a standard Pi plug (always-on). This is a meaningful deployment choice: battery makes placement flexible, but power management becomes more important. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2&gt;Reviewer appraisal: what&amp;rsquo;s genuinely strong about this build&lt;/h2&gt;
&lt;h3&gt;It solves a real-world problem with a real workflow&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;This isn&amp;rsquo;t a novelty soundboard. The project is designed around caf&amp;eacute; operations: clarity, speed, and repeatability under noise. Lorraine&amp;rsquo;s user story is crisp, and the build aligns tightly to it. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;The engineering choices lean toward reliability&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;USB audio instead of niche hats. I&amp;sup2;C OLED instead of full HDMI UI. Stepwise testing. Lightweight conversion choices. All of these reduce the risk of &amp;ldquo;works on my desk&amp;rdquo; syndrome. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;, &lt;a href="/challenges-projects/design-challenges/pi-iot/b/blog/posts/pi-iot---pilot---5-add-usb-sound-card-and-a-couple-of-enclosures" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;The accessibility angle is quietly powerful&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine points out the broader potential: mapping phrases to buttons for people who want pre-recorded speech in stressful contexts, where pulling out a phone is awkward and scrolling through an app is slow. That reframes the device as an assistive tool as well as a caf&amp;eacute; gadget. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;The project is honest about constraints&lt;/h3&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;The Pi Zero&amp;rsquo;s speed limitations, format conversion costs, and enclosure realities are all acknowledged. The transcript doesn&amp;rsquo;t pretend everything is effortless&amp;mdash;and that honesty helps others replicate it successfully. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;hr /&gt;
&lt;h2&gt;Practical &amp;ldquo;if you&amp;rsquo;re recreating this&amp;rdquo; notes (the stuff worth underlining)&lt;/h2&gt;
&lt;ul&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Validate audio output first&lt;/strong&gt; using known test WAV playback before writing any keypad logic. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;, &lt;a href="/members-area/personalblogs/b/blog/posts/pi3-jessie-audio-for-usb-microphone-input-and-rpi3-3-5mm-jack-output" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Expect Pi Zero installs to be slow&lt;/strong&gt;; keep dependencies minimal and avoid heavyweight playback when possible. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;OLED troubleshooting tip:&lt;/strong&gt; confirm I&amp;sup2;C is enabled and verify the device address if nothing appears&amp;mdash;OLED silkscreens can be misleading. &lt;a href="/members-area/personalblogs/b/blog/posts/oled-i2c-silkscreens-are-wrong-or-are-they" data-e14adj="t"&gt;[community....ment14.com]&lt;/a&gt;, &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Keypad mapping:&lt;/strong&gt; document your row/column to GPIO mapping early; keypad pin numbering can be unintuitive. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Audio naturalness:&lt;/strong&gt; concatenation is possible, but recording whole numbers (or whole phrases) is often the most &amp;ldquo;human-sounding&amp;rdquo; approach. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Give feedback on missing clips:&lt;/strong&gt; caf&amp;eacute;s need deterministic behavior; silent failures will frustrate staff. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;li class="___ccc16d0 fje8fi8 f1ng9h0j f1bwykku f18jd3zf"&gt;&lt;strong&gt;Plan enclosure strain relief:&lt;/strong&gt; if users can tug a cable, they eventually will. Lorraine flags this risk early for good reason. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;Closing: a small box that behaves like a product&lt;/h2&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;Lorraine&amp;rsquo;s caf&amp;eacute; announcer succeeds because it treats the device as a &lt;strong&gt;tool people will actually use&lt;/strong&gt;, not just a weekend build. The interplay of keypad + OLED + speaker is straightforward, but the project&amp;rsquo;s real value is the end-to-end pipeline&amp;mdash;record, trim, upload, convert, announce&amp;mdash;wrapped in a friendly, reproducible workflow. &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;div class="paragraph-in-scc-markdown-text ___1ngh792 ftgm304 f1iaxwol"&gt;And the final invitation feels earned: she wants to see it deployed in a real caf&amp;eacute;. Given the clarity of the concept and the practical engineering decisions, it&amp;rsquo;s not hard to imagine this sitting by a till, calmly calling out numbers all day without anyone asking, &amp;ldquo;Wait&amp;mdash;was that &lt;em&gt;my&lt;/em&gt; order?&amp;rdquo; &lt;a href="https://avtincgbr-my.sharepoint.com/personal/christopher_stanton_avnet_com/Documents/Microsoft%20Copilot%20Chat%20Files/audio.txt" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;[audio | Txt]&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>