<?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>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><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><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><comments>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#comments</comments><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-c8735" 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('c8735'));" 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-20bb4" 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('20bb4'));" 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-6d5ca" 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('6d5ca'));" 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-b6356" 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('b6356'));" 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-0f14d" 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('0f14d'));" 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-5ea69" 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('5ea69'));" 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-d2e76" 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('d2e76'));" 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-7d01f" 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('7d01f'));" 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><comments>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#comments</comments><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-b72ba" 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('b72ba'));" 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-f443b" 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('f443b'));" 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-78d37" 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('78d37'));" 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-57e04" 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('57e04'));" 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-21527" 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('21527'));" 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-dbf9b" 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('dbf9b'));" 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-178f9" 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('178f9'));" 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-799d1" 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('799d1'));" 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><comments>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#comments</comments><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-0c9ef" 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('0c9ef'));" 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-35581" 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('35581'));" 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-abc35" 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('abc35'));" 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-effee" 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('effee'));" 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-1d738" 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('1d738'));" 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-1aa8b" 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('1aa8b'));" 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-b99b8" 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('b99b8'));" 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-f40b0" 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('f40b0'));" 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><comments>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#comments</comments><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-d762d" 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('d762d'));" 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-bacfa" 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('bacfa'));" 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-3e3ef" 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('3e3ef'));" 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-bfe29" 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('bfe29'));" 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-28b47" 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('28b47'));" 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-a4456" 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('a4456'));" 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-a189d" 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('a189d'));" 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-d12e9" 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('d12e9'));" 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><comments>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#comments</comments><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-a5a5a" 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('a5a5a'));" 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-da5f2" 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('da5f2'));" 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-54441" 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('54441'));" 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-fec2d" 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('fec2d'));" 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-87def" 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('87def'));" 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-a1489" 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('a1489'));" 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-733d5" 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('733d5'));" 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-229c4" 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('229c4'));" 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><comments>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#comments</comments><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-7235e" 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('7235e'));" 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-eacff" 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('eacff'));" 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-34fc4" 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('34fc4'));" 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-87756" 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('87756'));" 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-8973b" 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('8973b'));" 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-2c6e4" 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('2c6e4'));" 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-557a4" 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('557a4'));" 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-c1948" 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('c1948'));" 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><comments>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#comments</comments><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-87ab0" 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('87ab0'));" 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-233e2" 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('233e2'));" 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-8d980" 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('8d980'));" 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-8fff6" 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('8fff6'));" 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-d230f" 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('d230f'));" 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-363c3" 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('363c3'));" 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-7fd4b" 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('7fd4b'));" 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-ace95" 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('ace95'));" 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><comments>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#comments</comments><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-933b3" 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('933b3'));" 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-5c971" 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('5c971'));" 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-92440" 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('92440'));" 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-e8260" 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('e8260'));" 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-d5e6f" 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('d5e6f'));" 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-ec2bc" 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('ec2bc'));" 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-f5dcf" 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('f5dcf'));" 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-3ca72" 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('3ca72'));" 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><comments>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#comments</comments><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><comments>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#comments</comments><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><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/1</link><pubDate>Wed, 08 Apr 2026 15:33:24 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:078e7db6-cf4b-4ee7-a97e-9e1e670a7b78</guid><dc:creator>cstanton</dc:creator><comments>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#comments</comments><description>Revision 1 posted to Documents by cstanton on 4/8/2026 3:33:24 PM&lt;br /&gt;
&lt;p&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>