<?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>Emulating a Speech Synthesis Chip with an ESP32 -- Episode 667</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71921/emulating-a-speech-synthesis-chip-with-an-esp32----episode-667</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Emulating a Speech Synthesis Chip with an ESP32 -- Episode 667</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71921/emulating-a-speech-synthesis-chip-with-an-esp32----episode-667</link><pubDate>Thu, 29 May 2025 09:34:55 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:93d56e59-d24d-4cd1-8a85-894ae91db7dd</guid><dc:creator>e14sbhargav</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71921/emulating-a-speech-synthesis-chip-with-an-esp32----episode-667#comments</comments><description>Current Revision posted to Documents by e14sbhargav on 5/29/2025 9:34:55 AM&lt;br /&gt;
&lt;p&gt;&lt;span&gt;In this episode, Mark revives a 40-year-old speech synthesizer project based on the SP0256 chip, originally built for early home computers like the VIC-20 and Atari. After testing the original hardware with an Arduino Uno, he also explores a modern rebuild using the ESP32 and a software-based emulator, showing how vintage voice tech can still be enjoyed today with&amp;nbsp;available parts. Read through&amp;nbsp;and watch this episode to follow along with Mark&amp;#39;s trip down memory lane and how circuit hardware can now be emulated.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl4l492"&gt;&lt;span&gt;Watch the Episode&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/N9ufAeUhoKI"&gt;https://youtu.be/N9ufAeUhoKI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Back in the &amp;lsquo;80 home computers like Vic-20, Commodore 64, Atari and ZX spectrum were a thing. Every kid in Mark&amp;#39;s generation, who was into electronics or similar, had to own one. For most people it was to play arcade games at home but for a few it was their way into learning about programming. At home there was no internet and the capabilities of a simple home computer were very limited compared to what an average micro-controller nowadays can do. With a 3$ controller like the ESP32 and some coding you can do more in lesser time than what you could do with those home computers. However, home computers were fun to play with. Mark did a lot of coding on his Atari ST512 and started to build his first hardware to be used with&amp;nbsp;his home computer.&lt;/p&gt;
&lt;p&gt;The other day, while cleaning out his basement,&amp;nbsp;Mark found an old project that&amp;nbsp;he did for his home computer. Back in the days, one could buy a speech module that you could plug into the back of your computer to make it talk.&amp;nbsp;&amp;nbsp;I believe for the VIC-20 that was the SAM module.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now around the same time magazines as ELEKTOR published articles to build your own module using a SP0256 CHIP.&amp;nbsp;&amp;nbsp;Guess what&amp;nbsp;Mark found?&amp;nbsp;&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/SP0256-PCB-_2800_1_2900_.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Mark&amp;nbsp;found one of the very first PCB &amp;lsquo;s he&amp;nbsp;ever created.&amp;nbsp;He etched it in chemical to create tracks as that was how it was done, back in the days. This PCB holds a SP0256 and some electronics as stated in the datasheet. According to Mark, this has been laying in a drawer untouched for around 40 years!&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl4qj33"&gt;Schematic&lt;/h2&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/pastedimage1748436374838v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The SP0256 only needs a few external components to function. We have an Xtal and 1 or two capacitors that form the hearth of an oscillator. The oscillator frequency is around 4Mhz. If you play around with the oscillator frequency ( khz range) you will notice a change of pitch in sound.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Little filtering is needed before the audio signal, coming from the chip can be send to an amplifier. The amplifier is simple and is based around an LM386.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;To control the SP0256, I will be using an Arduino uno.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Although it&amp;rsquo;s name might suggest different, we only need to address 6 bits to use all of it&amp;rsquo;s vocabulary. However, the chip dataport is 8 bits wide and that is because this chip was designed to be hooked up to an external ROM, expanding the vocabularies. For now, this means that will connect the two most significant bits to ground.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl50v84"&gt;&lt;em&gt;Time to renew&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&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/pastedimage1748436396684v2.png" /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Now as you can see, all components surrounding the SP0256 on the PCB look old&amp;nbsp;(they are). This PCB sat in a drawer together with other old electronics and as you can see all is covered in dust. I am not even sure if any of the electrolyte capacitors are still working or dried up completely. That&amp;rsquo;s why I will leave those components on the PCB&amp;nbsp;and just use new once instead.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; So,&amp;nbsp;Mark placed it all on a breadboard, and added a few&amp;nbsp;components.&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/pastedimage1748436421602v3.png" /&gt;&lt;/p&gt;
&lt;p&gt;As you can see, it all looks very&amp;nbsp;wiry but don&amp;rsquo;t worry, its not hard. It&amp;rsquo;s probably harder to get your hands on a working chip than to follow the schematic.&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl57ug5"&gt;Arduino&amp;nbsp;Libraries? ESP32 Emulation!&lt;/h2&gt;
&lt;p&gt;When&amp;nbsp;Mark revived this old project,&amp;nbsp;he was driven by curiosity and nostalgia. Because a very long time ago,&amp;nbsp;Mark had a great time playing around with this chip. So,&amp;nbsp;he figured it was worth a shot&amp;nbsp;(and he was right - at least by his terms, what do you think?)&amp;nbsp;Mark may not be the only one feeling this way. In the past years, (according to Mark) others have tried this too, and even left a library to be used with Arduino! How great is that. This sped up Mark&amp;#39;s project big time!&lt;/p&gt;
&lt;p&gt;This is great news, even after decades, this chip is still doing what it was designed for: Talking Fun!&lt;/p&gt;
&lt;p&gt;Like&amp;nbsp;Mark said at the beginning, for some this is a trip down memory lane. However, the younger generations might be thinking: &amp;quot;why? When we can do so much better with today&amp;#39;s technologies!&amp;quot;. And yes, that is true but if you into this robotic like voice, you will love it, even though it is old.&lt;/p&gt;
&lt;p&gt;The sound chip is now obsolete, and it might be hard to get your hands on one. Fortunately, you don&amp;rsquo;t have to. There are a few sound libraries available to emulate the chip with nothing but software on the micro-controller.&amp;nbsp;If you watch the&amp;nbsp;episode, you&amp;#39;ll see how this was performed on an ESP32.&lt;/p&gt;
&lt;h2 id="mcetoc_1isbkibtu1"&gt;Supporting Files and Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/150373"&gt;Supporting Files for Episode 667 of element14 presents&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a title="ESP32 Board Library" href="https://dl.espressif.com/dl/package_esp32_index.json" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;ESP32 Board Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="GI SP0256 Voice Synthesis Chip" href="https://en.wikipedia.org/wiki/General_Instrument_SP0256" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;GI SP0256 Voice Synthesis Chip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1isbkh94l0"&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-6c514" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1100381~2,2332992,2332992~3,2465808,9692967,2329777~2,3128403,1099841,2285200,1683896,3116866&amp;nsku=98K1020~2,56K3817,56K3817~3,40Y3523,96K9162,95W5980~2,07AH4464,97K4820,63W3545,40P1102,26AJ7298&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('6c514'));" data-farnell="1100381~2,2332992,2332992~3,2465808,9692967,2329777~2,3128403,1099841,2285200,1683896,3116866" data-newark="98K1020~2,56K3817,56K3817~3,40Y3523,96K9162,95W5980~2,07AH4464,97K4820,63W3545,40P1102,26AJ7298" data-comoverride="" data-cmpoverride="" data-cpc="CA09537~2,CA04946,RE09093,SC13001,SC18493" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Caramic Capacitor 22nF&lt;/td&gt;
&lt;td&gt;Kyocera&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-eed94" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1100381~2&amp;nsku=98K1020~2&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('eed94'));" data-farnell="1100381~2" data-newark="98K1020~2" data-comoverride="" data-cmpoverride="" data-cpc="CA09537~2" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 1uF&lt;/td&gt;
&lt;td&gt;Kyocera&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-bc52b" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2332992&amp;nsku=56K3817&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('bc52b'));" data-farnell="2332992" data-newark="56K3817" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 100nf&lt;/td&gt;
&lt;td&gt;Kyocera&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-26472" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2332992~3&amp;nsku=56K3817~3&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('26472'));" data-farnell="2332992~3" data-newark="56K3817~3" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 6,8uF&lt;/td&gt;
&lt;td&gt;Wurth&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-bb262" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2465808&amp;nsku=40Y3523&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('bb262'));" data-farnell="2465808" data-newark="40Y3523" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 100uF&lt;/td&gt;
&lt;td&gt;Panasonic&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3f149" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=9692967&amp;nsku=96K9162&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('3f149'));" data-farnell="9692967" data-newark="96K9162" data-comoverride="" data-cmpoverride="" data-cpc="CA04946" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resistor 33K&lt;/td&gt;
&lt;td&gt;TE&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3e547" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2329777~2&amp;nsku=95W5980~2&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('3e547'));" data-farnell="2329777~2" data-newark="95W5980~2" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Potmeter 10K&lt;/td&gt;
&lt;td&gt;Piher&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-531e4" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3128403&amp;nsku=07AH4464&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('531e4'));" data-farnell="3128403" data-newark="07AH4464" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resistor 10E&lt;/td&gt;
&lt;td&gt;TT Electronics&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-5708b" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1099841&amp;nsku=97K4820&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('5708b'));" data-farnell="1099841" data-newark="97K4820" data-comoverride="" data-cmpoverride="" data-cpc="RE09093" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Arduino uno&lt;/td&gt;
&lt;td&gt;Arduino&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ad440" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2285200&amp;nsku=63W3545&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('ad440'));" data-farnell="2285200" data-newark="63W3545" data-comoverride="" data-cmpoverride="" data-cpc="SC13001" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Speaker&lt;/td&gt;
&lt;td&gt;Visaton&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6f4dc" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1683896&amp;nsku=40P1102&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('6f4dc'));" data-farnell="1683896" data-newark="40P1102" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LM386N-4/NOPB&lt;/td&gt;
&lt;td&gt;Texas Instruments&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8671a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3116866&amp;nsku=26AJ7298&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('8671a'));" data-farnell="3116866" data-newark="26AJ7298" data-comoverride="" data-cmpoverride="" data-cpc="SC18493" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Extras&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;ESP32 Doit Devkit v1,&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;tr&gt;
&lt;td&gt;PAN8403 Audio board ( optional),&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;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 style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: arduino speech synthesizer, vintage computer projects, lm386 amplifier, esp32 voice emulator, 1980s computer projects, home computer nostalgia, retro electronics, talking chip, retro speech chip, speech chip demo, voice synthesis arduino, sp0256-al2, sp0256, sp0256 arduino project, friday_release, diy speech module&lt;/div&gt;
</description></item><item><title>Emulating a Speech Synthesis Chip with an ESP32 -- Episode 667</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71921/emulating-a-speech-synthesis-chip-with-an-esp32----episode-667/revision/3</link><pubDate>Thu, 29 May 2025 09:34:55 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:93d56e59-d24d-4cd1-8a85-894ae91db7dd</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71921/emulating-a-speech-synthesis-chip-with-an-esp32----episode-667#comments</comments><description>Revision 3 posted to Documents by cstanton on 5/29/2025 9:34:55 AM&lt;br /&gt;
&lt;p&gt;&lt;span&gt;In this episode, Mark revives a 40-year-old speech synthesizer project based on the SP0256 chip, originally built for early home computers like the VIC-20 and Atari. After testing the original hardware with an Arduino Uno, he also explores a modern rebuild using the ESP32 and a software-based emulator, showing how vintage voice tech can still be enjoyed today with&amp;nbsp;available parts. Read through&amp;nbsp;and watch this episode to follow along with Mark&amp;#39;s trip down memory lane and how circuit hardware can now be emulated.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl4l492"&gt;&lt;span&gt;Watch the Episode&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/N9ufAeUhoKI"&gt;https://youtu.be/N9ufAeUhoKI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Back in the &amp;lsquo;80 home computers like Vic-20, Commodore 64, Atari and ZX spectrum were a thing. Every kid in Mark&amp;#39;s generation, who was into electronics or similar, had to own one. For most people it was to play arcade games at home but for a few it was their way into learning about programming. At home there was no internet and the capabilities of a simple home computer were very limited compared to what an average micro-controller nowadays can do. With a 3$ controller like the ESP32 and some coding you can do more in lesser time than what you could do with those home computers. However, home computers were fun to play with. Mark did a lot of coding on his Atari ST512 and started to build his first hardware to be used with&amp;nbsp;his home computer.&lt;/p&gt;
&lt;p&gt;The other day, while cleaning out his basement,&amp;nbsp;Mark found an old project that&amp;nbsp;he did for his home computer. Back in the days, one could buy a speech module that you could plug into the back of your computer to make it talk.&amp;nbsp;&amp;nbsp;I believe for the VIC-20 that was the SAM module.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now around the same time magazines as ELEKTOR published articles to build your own module using a SP0256 CHIP.&amp;nbsp;&amp;nbsp;Guess what&amp;nbsp;Mark found?&amp;nbsp;&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/SP0256-PCB-_2800_1_2900_.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Mark&amp;nbsp;found one of the very first PCB &amp;lsquo;s he&amp;nbsp;ever created.&amp;nbsp;He etched it in chemical to create tracks as that was how it was done, back in the days. This PCB holds a SP0256 and some electronics as stated in the datasheet. According to Mark, this has been laying in a drawer untouched for around 40 years!&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl4qj33"&gt;Schematic&lt;/h2&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/pastedimage1748436374838v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The SP0256 only needs a few external components to function. We have an Xtal and 1 or two capacitors that form the hearth of an oscillator. The oscillator frequency is around 4Mhz. If you play around with the oscillator frequency ( khz range) you will notice a change of pitch in sound.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Little filtering is needed before the audio signal, coming from the chip can be send to an amplifier. The amplifier is simple and is based around an LM386.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;To control the SP0256, I will be using an Arduino uno.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Although it&amp;rsquo;s name might suggest different, we only need to address 6 bits to use all of it&amp;rsquo;s vocabulary. However, the chip dataport is 8 bits wide and that is because this chip was designed to be hooked up to an external ROM, expanding the vocabularies. For now, this means that will connect the two most significant bits to ground.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl50v84"&gt;&lt;em&gt;Time to renew&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&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/pastedimage1748436396684v2.png" /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Now as you can see, all components surrounding the SP0256 on the PCB look old&amp;nbsp;(they are). This PCB sat in a drawer together with other old electronics and as you can see all is covered in dust. I am not even sure if any of the electrolyte capacitors are still working or dried up completely. That&amp;rsquo;s why I will leave those components on the PCB&amp;nbsp;and just use new once instead.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; So,&amp;nbsp;Mark placed it all on a breadboard, and added a few&amp;nbsp;components.&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/pastedimage1748436421602v3.png" /&gt;&lt;/p&gt;
&lt;p&gt;As you can see, it all looks very&amp;nbsp;wiry but don&amp;rsquo;t worry, its not hard. It&amp;rsquo;s probably harder to get your hands on a working chip than to follow the schematic.&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl57ug5"&gt;Arduino&amp;nbsp;Libraries? ESP32 Emulation!&lt;/h2&gt;
&lt;p&gt;When&amp;nbsp;Mark revived this old project,&amp;nbsp;he was driven by curiosity and nostalgia. Because a very long time ago,&amp;nbsp;Mark had a great time playing around with this chip. So,&amp;nbsp;he figured it was worth a shot&amp;nbsp;(and he was right - at least by his terms, what do you think?)&amp;nbsp;Mark may not be the only one feeling this way. In the past years, (according to Mark) others have tried this too, and even left a library to be used with Arduino! How great is that. This sped up Mark&amp;#39;s project big time!&lt;/p&gt;
&lt;p&gt;This is great news, even after decades, this chip is still doing what it was designed for: Talking Fun!&lt;/p&gt;
&lt;p&gt;Like&amp;nbsp;Mark said at the beginning, for some this is a trip down memory lane. However, the younger generations might be thinking: &amp;quot;why? When we can do so much better with today&amp;#39;s technologies!&amp;quot;. And yes, that is true but if you into this robotic like voice, you will love it, even though it is old.&lt;/p&gt;
&lt;p&gt;The sound chip is now obsolete, and it might be hard to get your hands on one. Fortunately, you don&amp;rsquo;t have to. There are a few sound libraries available to emulate the chip with nothing but software on the micro-controller.&amp;nbsp;If you watch the&amp;nbsp;episode, you&amp;#39;ll see how this was performed on an ESP32.&lt;/p&gt;
&lt;h2 id="mcetoc_1isbkibtu1"&gt;Supporting Files and Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/150373"&gt;Supporting Files for Episode 667 of element14 presents&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a title="ESP32 Board Library" href="https://dl.espressif.com/dl/package_esp32_index.json" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;ESP32 Board Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="GI SP0256 Voice Synthesis Chip" href="https://en.wikipedia.org/wiki/General_Instrument_SP0256" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;GI SP0256 Voice Synthesis Chip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1isbkh94l0"&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-338c2" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1100381~2,2332992,2332992~3,2465808,9692967,2329777~2,3128403,1099841,2285200,1683896,3116866&amp;nsku=98K1020~2,56K3817,56K3817~3,40Y3523,96K9162,95W5980~2,07AH4464,97K4820,63W3545,40P1102,26AJ7298&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('338c2'));" data-farnell="1100381~2,2332992,2332992~3,2465808,9692967,2329777~2,3128403,1099841,2285200,1683896,3116866" data-newark="98K1020~2,56K3817,56K3817~3,40Y3523,96K9162,95W5980~2,07AH4464,97K4820,63W3545,40P1102,26AJ7298" data-comoverride="" data-cmpoverride="" data-cpc="CA09537~2,CA04946,RE09093,SC13001,SC18493" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Caramic Capacitor 22nF&lt;/td&gt;
&lt;td&gt;Kyocera&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-d43b9" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1100381~2&amp;nsku=98K1020~2&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('d43b9'));" data-farnell="1100381~2" data-newark="98K1020~2" data-comoverride="" data-cmpoverride="" data-cpc="CA09537~2" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 1uF&lt;/td&gt;
&lt;td&gt;Kyocera&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-5c069" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2332992&amp;nsku=56K3817&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('5c069'));" data-farnell="2332992" data-newark="56K3817" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 100nf&lt;/td&gt;
&lt;td&gt;Kyocera&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ea783" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2332992~3&amp;nsku=56K3817~3&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('ea783'));" data-farnell="2332992~3" data-newark="56K3817~3" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 6,8uF&lt;/td&gt;
&lt;td&gt;Wurth&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ed5dc" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2465808&amp;nsku=40Y3523&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('ed5dc'));" data-farnell="2465808" data-newark="40Y3523" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 100uF&lt;/td&gt;
&lt;td&gt;Panasonic&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c57a0" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=9692967&amp;nsku=96K9162&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('c57a0'));" data-farnell="9692967" data-newark="96K9162" data-comoverride="" data-cmpoverride="" data-cpc="CA04946" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resistor 33K&lt;/td&gt;
&lt;td&gt;TE&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c5894" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2329777~2&amp;nsku=95W5980~2&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('c5894'));" data-farnell="2329777~2" data-newark="95W5980~2" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Potmeter 10K&lt;/td&gt;
&lt;td&gt;Piher&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-43006" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3128403&amp;nsku=07AH4464&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('43006'));" data-farnell="3128403" data-newark="07AH4464" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resistor 10E&lt;/td&gt;
&lt;td&gt;TT Electronics&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-75423" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1099841&amp;nsku=97K4820&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('75423'));" data-farnell="1099841" data-newark="97K4820" data-comoverride="" data-cmpoverride="" data-cpc="RE09093" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Arduino uno&lt;/td&gt;
&lt;td&gt;Arduino&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-0cbaf" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2285200&amp;nsku=63W3545&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('0cbaf'));" data-farnell="2285200" data-newark="63W3545" data-comoverride="" data-cmpoverride="" data-cpc="SC13001" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Speaker&lt;/td&gt;
&lt;td&gt;Visaton&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-08e46" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1683896&amp;nsku=40P1102&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('08e46'));" data-farnell="1683896" data-newark="40P1102" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LM386N-4/NOPB&lt;/td&gt;
&lt;td&gt;Texas Instruments&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-efed9" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3116866&amp;nsku=26AJ7298&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('efed9'));" data-farnell="3116866" data-newark="26AJ7298" data-comoverride="" data-cmpoverride="" data-cpc="SC18493" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Extras&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;ESP32 Doit Devkit v1,&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;tr&gt;
&lt;td&gt;PAN8403 Audio board ( optional),&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;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 style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: arduino speech synthesizer, vintage computer projects, lm386 amplifier, esp32 voice emulator, 1980s computer projects, home computer nostalgia, retro electronics, talking chip, retro speech chip, speech chip demo, voice synthesis arduino, sp0256-al2, sp0256, sp0256 arduino project, friday_release, diy speech module&lt;/div&gt;
</description></item><item><title>Emulating a Speech Synthesis Chip with an ESP32 -- Episode 667</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71921/emulating-a-speech-synthesis-chip-with-an-esp32----episode-667/revision/2</link><pubDate>Wed, 28 May 2025 15:04:51 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:93d56e59-d24d-4cd1-8a85-894ae91db7dd</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71921/emulating-a-speech-synthesis-chip-with-an-esp32----episode-667#comments</comments><description>Revision 2 posted to Documents by cstanton on 5/28/2025 3:04:51 PM&lt;br /&gt;
&lt;p&gt;&lt;span&gt;In this episode, Mark revives a 40-year-old speech synthesizer project based on the SP0256 chip, originally built for early home computers like the VIC-20 and Atari. After testing the original hardware with an Arduino Uno, he also explores a modern rebuild using the ESP32 and a software-based emulator, showing how vintage voice tech can still be enjoyed today with&amp;nbsp;available parts. Read through&amp;nbsp;and watch this episode to follow along with Mark&amp;#39;s trip down memory lane and how circuit hardware can now be emulated.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl4l492"&gt;&lt;span&gt;Watch the Episode&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&amp;lt;insert youtube video&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Back in the &amp;lsquo;80 home computers like Vic-20, Commodore 64, Atari and ZX spectrum were a thing. Every kid in Mark&amp;#39;s generation, who was into electronics or similar, had to own one. For most people it was to play arcade games at home but for a few it was their way into learning about programming. At home there was no internet and the capabilities of a simple home computer were very limited compared to what an average micro-controller nowadays can do. With a 3$ controller like the ESP32 and some coding you can do more in lesser time than what you could do with those home computers. However, home computers were fun to play with. Mark did a lot of coding on his Atari ST512 and started to build his first hardware to be used with&amp;nbsp;his home computer.&lt;/p&gt;
&lt;p&gt;The other day, while cleaning out his basement,&amp;nbsp;Mark found an old project that&amp;nbsp;he did for his home computer. Back in the days, one could buy a speech module that you could plug into the back of your computer to make it talk.&amp;nbsp;&amp;nbsp;I believe for the VIC-20 that was the SAM module.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now around the same time magazines as ELEKTOR published articles to build your own module using a SP0256 CHIP.&amp;nbsp;&amp;nbsp;Guess what&amp;nbsp;Mark found?&amp;nbsp;&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/SP0256-PCB-_2800_1_2900_.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Mark&amp;nbsp;found one of the very first PCB &amp;lsquo;s he&amp;nbsp;ever created.&amp;nbsp;He etched it in chemical to create tracks as that was how it was done, back in the days. This PCB holds a SP0256 and some electronics as stated in the datasheet. According to Mark, this has been laying in a drawer untouched for around 40 years!&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl4qj33"&gt;Schematic&lt;/h2&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/pastedimage1748436374838v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The SP0256 only needs a few external components to function. We have an Xtal and 1 or two capacitors that form the hearth of an oscillator. The oscillator frequency is around 4Mhz. If you play around with the oscillator frequency ( khz range) you will notice a change of pitch in sound.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Little filtering is needed before the audio signal, coming from the chip can be send to an amplifier. The amplifier is simple and is based around an LM386.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;To control the SP0256, I will be using an Arduino uno.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Although it&amp;rsquo;s name might suggest different, we only need to address 6 bits to use all of it&amp;rsquo;s vocabulary. However, the chip dataport is 8 bits wide and that is because this chip was designed to be hooked up to an external ROM, expanding the vocabularies. For now, this means that will connect the two most significant bits to ground.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl50v84"&gt;&lt;em&gt;Time to renew&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&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/pastedimage1748436396684v2.png" /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Now as you can see, all components surrounding the SP0256 on the PCB look old&amp;nbsp;(they are). This PCB sat in a drawer together with other old electronics and as you can see all is covered in dust. I am not even sure if any of the electrolyte capacitors are still working or dried up completely. That&amp;rsquo;s why I will leave those components on the PCB&amp;nbsp;and just use new once instead.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; So,&amp;nbsp;Mark placed it all on a breadboard, and added a few&amp;nbsp;components.&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/pastedimage1748436421602v3.png" /&gt;&lt;/p&gt;
&lt;p&gt;As you can see, it all looks very&amp;nbsp;wiry but don&amp;rsquo;t worry, its not hard. It&amp;rsquo;s probably harder to get your hands on a working chip than to follow the schematic.&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1isbl57ug5"&gt;Arduino&amp;nbsp;Libraries? ESP32 Emulation!&lt;/h2&gt;
&lt;p&gt;When&amp;nbsp;Mark revived this old project,&amp;nbsp;he was driven by curiosity and nostalgia. Because a very long time ago,&amp;nbsp;Mark had a great time playing around with this chip. So,&amp;nbsp;he figured it was worth a shot&amp;nbsp;(and he was right - at least by his terms, what do you think?)&amp;nbsp;Mark may not be the only one feeling this way. In the past years, (according to Mark) others have tried this too, and even left a library to be used with Arduino! How great is that. This sped up Mark&amp;#39;s project big time!&lt;/p&gt;
&lt;p&gt;This is great news, even after decades, this chip is still doing what it was designed for: Talking Fun!&lt;/p&gt;
&lt;p&gt;Like&amp;nbsp;Mark said at the beginning, for some this is a trip down memory lane. However, the younger generations might be thinking: &amp;quot;why? When we can do so much better with today&amp;#39;s technologies!&amp;quot;. And yes, that is true but if you into this robotic like voice, you will love it, even though it is old.&lt;/p&gt;
&lt;p&gt;The sound chip is now obsolete, and it might be hard to get your hands on one. Fortunately, you don&amp;rsquo;t have to. There are a few sound libraries available to emulate the chip with nothing but software on the micro-controller.&amp;nbsp;If you watch the&amp;nbsp;episode, you&amp;#39;ll see how this was performed on an ESP32.&lt;/p&gt;
&lt;h2 id="mcetoc_1isbkibtu1"&gt;Supporting Files and Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/element14-presents/m/files/150373"&gt;Supporting Files for Episode 667 of element14 presents&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a title="ESP32 Board Library" href="https://dl.espressif.com/dl/package_esp32_index.json" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;ESP32 Board Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="GI SP0256 Voice Synthesis Chip" href="https://en.wikipedia.org/wiki/General_Instrument_SP0256" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;GI SP0256 Voice Synthesis Chip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1isbkh94l0"&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-2d15f" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1100381~2,2332992,2332992~3,2465808,9692967,2329777~2,3128403,1099841,2285200,1683896,3116866&amp;nsku=98K1020~2,56K3817,56K3817~3,40Y3523,96K9162,95W5980~2,07AH4464,97K4820,63W3545,40P1102,26AJ7298&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('2d15f'));" data-farnell="1100381~2,2332992,2332992~3,2465808,9692967,2329777~2,3128403,1099841,2285200,1683896,3116866" data-newark="98K1020~2,56K3817,56K3817~3,40Y3523,96K9162,95W5980~2,07AH4464,97K4820,63W3545,40P1102,26AJ7298" data-comoverride="" data-cmpoverride="" data-cpc="CA09537~2,CA04946,RE09093,SC13001,SC18493" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Caramic Capacitor 22nF&lt;/td&gt;
&lt;td&gt;Kyocera&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3e7ad" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1100381~2&amp;nsku=98K1020~2&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('3e7ad'));" data-farnell="1100381~2" data-newark="98K1020~2" data-comoverride="" data-cmpoverride="" data-cpc="CA09537~2" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 1uF&lt;/td&gt;
&lt;td&gt;Kyocera&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9f908" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2332992&amp;nsku=56K3817&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('9f908'));" data-farnell="2332992" data-newark="56K3817" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 100nf&lt;/td&gt;
&lt;td&gt;Kyocera&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c0258" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2332992~3&amp;nsku=56K3817~3&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('c0258'));" data-farnell="2332992~3" data-newark="56K3817~3" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 6,8uF&lt;/td&gt;
&lt;td&gt;Wurth&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-2c65d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2465808&amp;nsku=40Y3523&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('2c65d'));" data-farnell="2465808" data-newark="40Y3523" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Capacitor 100uF&lt;/td&gt;
&lt;td&gt;Panasonic&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-11740" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=9692967&amp;nsku=96K9162&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('11740'));" data-farnell="9692967" data-newark="96K9162" data-comoverride="" data-cmpoverride="" data-cpc="CA04946" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resistor 33K&lt;/td&gt;
&lt;td&gt;TE&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-b8562" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2329777~2&amp;nsku=95W5980~2&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('b8562'));" data-farnell="2329777~2" data-newark="95W5980~2" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Potmeter 10K&lt;/td&gt;
&lt;td&gt;Piher&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3cae5" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3128403&amp;nsku=07AH4464&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('3cae5'));" data-farnell="3128403" data-newark="07AH4464" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resistor 10E&lt;/td&gt;
&lt;td&gt;TT Electronics&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1424d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1099841&amp;nsku=97K4820&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('1424d'));" data-farnell="1099841" data-newark="97K4820" data-comoverride="" data-cmpoverride="" data-cpc="RE09093" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Arduino uno&lt;/td&gt;
&lt;td&gt;Arduino&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-d36a8" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2285200&amp;nsku=63W3545&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('d36a8'));" data-farnell="2285200" data-newark="63W3545" data-comoverride="" data-cmpoverride="" data-cpc="SC13001" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Speaker&lt;/td&gt;
&lt;td&gt;Visaton&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-010cf" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1683896&amp;nsku=40P1102&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('010cf'));" data-farnell="1683896" data-newark="40P1102" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LM386N-4/NOPB&lt;/td&gt;
&lt;td&gt;Texas Instruments&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7fc1c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3116866&amp;nsku=26AJ7298&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('7fc1c'));" data-farnell="3116866" data-newark="26AJ7298" data-comoverride="" data-cmpoverride="" data-cpc="SC18493" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Extras&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;ESP32 Doit Devkit v1,&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;tr&gt;
&lt;td&gt;PAN8403 Audio board ( optional),&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;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: arduino speech synthesizer, vintage computer projects, lm386 amplifier, esp32 voice emulator, 1980s computer projects, home computer nostalgia, retro electronics, talking chip, retro speech chip, speech chip demo, voice synthesis arduino, sp0256-al2, sp0256, sp0256 arduino project, friday_release, diy speech module&lt;/div&gt;
</description></item><item><title>Emulating a Speech Synthesis Chip with an ESP32 -- Episode 667</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71921/emulating-a-speech-synthesis-chip-with-an-esp32----episode-667/revision/1</link><pubDate>Wed, 28 May 2025 13:20:44 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:93d56e59-d24d-4cd1-8a85-894ae91db7dd</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71921/emulating-a-speech-synthesis-chip-with-an-esp32----episode-667#comments</comments><description>Revision 1 posted to Documents by cstanton on 5/28/2025 1:20:44 PM&lt;br /&gt;
&lt;p&gt;Back in the &amp;lsquo;80 home computers like Vic-20, Commodore 64, Atari and ZX spectrum were a thing. Every kid in my generation, who was into electronics or similar, had to own one. For most people it was to play arcade games at home but for a few it was their way into learning about programming. At home there was no internet and the capabilities of a simple home computer were very limited compared to what an average microcontroller now adays can do. With a 3$ controller like the ESP32 and some coding you can do more in lesser time than what you could do with those home computers. However, home computers were fun to play with. I did a lot of coding on my Atari ST512 and I started to build my first hardware to be used with my home computer.&lt;/p&gt;
&lt;p&gt;The other day, while cleaning out my basement, I found an old project that I did for my home computer. Back in the days, one could buy a speech module that you could plug into the back of your computer to make it talk.&amp;nbsp;&amp;nbsp;I believe for the VIC-20 that was the SAM module.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now around the same time magazines as ELEKTOR published articles to build your own module using a SP0256 CHIP.&amp;nbsp;&amp;nbsp;Guess what I found?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I found one of the very first PCB &amp;lsquo;s I ever created. I etched it in chemical to create tracks as that was how it was done, back in the days. This pcb holds a SP0256 and some electronics as stated in the datasheet. This has been laying in a drawer untouched for around 40 years&amp;hellip;Will it still work? Let&amp;rsquo;s Find out!&lt;/p&gt;
&lt;p&gt;Schematic&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/pastedimage1748436374838v1.png"  /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The Sp0256 only needs a few external components to function. We have an Xtal and 1 or two capacitors that form the hearth of an oscillator. The oscillator frequency is around 4Mhz. If you play around with the oscillator frequency ( khz range) you will notice a change of pitch in sound.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Little filtering is needed before the audio signal, coming from the chip can be send to an amplifier. The amplifier is simple and is based around an LM386.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tho control the SP0256, I will be using an arduino uno.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Although it&amp;rsquo;s name might suggest different, we only need to address 6 bits to use all of it&amp;rsquo;s vocabulary. However, the chip dataport is 8 bits wide and that is because this chip was designed to be hooked up to an external ROM, expanding the vocabularies. For now, this means that will connect the two most significant bits to ground.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Time to renew&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&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/pastedimage1748436396684v2.png"  /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Now as you can see, all components surrounding the SP0256 on the PCB look old. And they are. This PCB sat in a drawer together with other old electronics and as you can see all is covered in dust. I am not even sure if any of the electrolyte capacitors are still working or dried up completely. That&amp;rsquo;s why I will leave those components on the pcb and just use new once instead.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; So, I place all on a breadboard.&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/pastedimage1748436421602v3.png"  /&gt;&lt;/p&gt;
&lt;p&gt;As you can see, it all looks very wire-ry but don&amp;rsquo;t worry, its not hard. It&amp;rsquo;s probably harder to get your hands on a working chip then&amp;nbsp;&amp;nbsp;to follow the schematic.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Arduino&lt;/p&gt;
&lt;p&gt;When I revived this old project, I was driven by curiosity and nostalgia. Because a very long time ago, I had a great time playing around with this chip. So, I figured it was worth a shot. And I was right! Turned out I&amp;rsquo;m not the only one feeling this way. In the past years, others have tried this too and one even left a library to be used with arduino! How great is that. This speeds up my project big time!&lt;/p&gt;
&lt;p&gt;This is great &amp;hellip;even after decades, this chip is still doing what it was designed for: Talking Fun!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Like i said in the intro, for some this is a trip down memory lane. However, the younger generations might be thinking: why? Because we can do so much better with todays technologies. And yes, that is true but if you into this robotic like voice, you will love it, even though it is old.&lt;/p&gt;
&lt;p&gt;The chip is obsolete, and it might be hard to get your hands on one. Fortunately, you don&amp;rsquo;t have to. There are a few sound libraries available to emulate the chip with nothing but software.&amp;nbsp;&amp;nbsp;There is one for the ESP32 that I tried and it&amp;rsquo;s very nice!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>