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 available parts. Read through and watch this episode to follow along with Mark's trip down memory lane and how circuit hardware can now be emulated.
Watch the Episode
Back in the ‘80 home computers like Vic-20, Commodore 64, Atari and ZX spectrum were a thing. Every kid in Mark'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 his home computer.
The other day, while cleaning out his basement, Mark found an old project that 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. I believe for the VIC-20 that was the SAM module.
Now around the same time magazines as ELEKTOR published articles to build your own module using a SP0256 CHIP. Guess what Mark found?
Mark found one of the very first PCB ‘s he ever created. 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!
Schematic
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.
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.
To control the SP0256, I will be using an Arduino uno.
Although it’s name might suggest different, we only need to address 6 bits to use all of it’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.
Time to renew
Now as you can see, all components surrounding the SP0256 on the PCB look old (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’s why I will leave those components on the PCB and just use new once instead.
So, Mark placed it all on a breadboard, and added a few components.
As you can see, it all looks very wiry but don’t worry, its not hard. It’s probably harder to get your hands on a working chip than to follow the schematic.
Arduino Libraries? ESP32 Emulation!
When Mark revived this old project, he was driven by curiosity and nostalgia. Because a very long time ago, Mark had a great time playing around with this chip. So, he figured it was worth a shot (and he was right - at least by his terms, what do you think?) 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's project big time!
This is great news, even after decades, this chip is still doing what it was designed for: Talking Fun!
Like Mark said at the beginning, for some this is a trip down memory lane. However, the younger generations might be thinking: "why? When we can do so much better with today's technologies!". And yes, that is true but if you into this robotic like voice, you will love it, even though it is old.
The sound chip is now obsolete, and it might be hard to get your hands on one. Fortunately, you don’t have to. There are a few sound libraries available to emulate the chip with nothing but software on the micro-controller. If you watch the episode, you'll see how this was performed on an ESP32.
Supporting Files and Links
- Supporting Files for Episode 667 of element14 presents
- ESP32 Board Library
- GI SP0256 Voice Synthesis Chip
Bill of Materials
Product Name | Manufacturer | Quantity | Buy Kit |
---|---|---|---|
Caramic Capacitor 22nF | Kyocera | 2 | Buy Now |
Capacitor 1uF | Kyocera | 1 | Buy Now |
Capacitor 100nf | Kyocera | 3 | Buy Now |
Capacitor 6,8uF | Wurth | 1 | Buy Now |
Capacitor 100uF | Panasonic | 1 | Buy Now |
Resistor 33K | TE | 2 | Buy Now |
Potmeter 10K | Piher | 1 | Buy Now |
Resistor 10E | TT Electronics | 1 | Buy Now |
Arduino uno | Arduino | Buy Now | |
Speaker | Visaton | 1 | Buy Now |
LM386N-4/NOPB | Texas Instruments | 1 | Buy Now |
Extras | |||
ESP32 Doit Devkit v1, | |||
PAN8403 Audio board ( optional), | |||