Uncategorized

A Wavetable board for less than 30 USD!

Most vintage sound cards feature a 2×13 pin Wavetable connector – something I’ve personally never used! This header has the potential to elevate your sound card to a premium level. However, if you’re looking for a Wavetable daughter board, you’ll quickly find that these small add-ons can cost you hundreds of dollars. And they are rare!

Wavetable Header on a Creative Sound Blaster 16

Yes, there are alternatives, such as the WP32 McCake (which also relies on Raspberry Pi emulation), but even those can cost over $100. Is it possible to do it for less? Absolutely! With a DIY approach, you can get everything up and running for under $30 per unit.

To get the full fledged version, you need a few components:

Furthermore, you need a PCB that allows you to connect all those components together and connect to your sound card. Luckily, Scrap Computing already created what we need: WavetablePi. You can download the Gerber files and have your PCBs manufactured by PCBWay.

I’m currently building one of these WavetablePi PCBs myself, and I’ll have a video linked at the end of this post. The assembly process isn’t as straightforward as it could be, mainly because some components need to be stacked on top of each other. Clearance between the WavetablePi and your sound card is crucial—capacitors or other components might get in the way. While the WavetablePi is a great project, I believe the PCB layout could be improved by integrating buttons, using SMD components, and placing all components on the top side for easier assembly.

Assembled WavetablePi: Raspberry Pi Zero 2W, LCD, and DAC

Once everything is assembled, you’ll need to set up the operating system to get the Pi working. The mt32-pi project is exactly what we need for this. As of this writing, the latest version is 0.13.1. The first step is formatting a microSD card with FAT32 – this is crucial. If your SD card is larger than 32GB, Windows 10/11 may not offer a native FAT32 formatting option. Fortunately, there are workarounds! You can follow the official guide on the mt32-pi project and use guiformat. Just be sure to select the correct drive!

The final step is to copy the contents of the mt32-Pi ZIP archive onto the FAT32-formatted SD card. After that, a few configurations are needed. The only file that requires editing is mt32-pi.cfg.

[system]
default_synth = soundfont
usb = off

[audio]
output_device = i2s

[lcd]
type = ssd1306_i2c

Setting USB to off might increase boot-up time of the Raspberry Pi. Otherwise, this configuration is targeting sound fonts. There is one file in the soundfonts folder: GeneralUser GS v1.511.sf2
This file is already part of the release and will be the soundfont that is loaded when the Raspberry Pi powers up. You can control which soundfont is loaded by adjusting the following setting in the mt32-pi.cfg.

[fluidsynth]

# Set the initial SoundFont to use.
#
# If multiple SoundFonts are available, this option determines which SoundFont
# to use on startup.
#
# On startup, the "soundfonts" directory is scanned for valid SoundFonts, which
# are added to a list and sorted into alphabetical order.
#
# This setting is a zero-indexed offset into that list (i.e. 0 is the first,
# 1, is the second, and so on).
#
# If the index specified is unavailable, the first available SoundFont will be
# used.
#
# Values: 0-255 (0*)
soundfont = 0

The text above the setting is the explanation of how a sound font is selected. It most likely means that all sound fonts are sorted alphabetically, and the number you set is the position in the sorted list of sound fonts. It is important to note that the index is zero-based: 0 is the first sound font, 1 is the second, and so on.

About the pricing: I got my PCBs of the WavetablePi from PCBWay shipped for 11 USD (10 PCBs). Then there is the Raspberry Pi Zero 2W for 22.5 USD, the LCD 1.5 USD, and the DAC for 2 USD.

That is a total cost of 37 USD – yes, that is more than 30 USD, but you get 10 PCBs. If we assume 1.5 USD for each PCB and add all up again, the total price will be 27.5 USD. That leaves you another 2.5 USD for connectors, pin headers, resistors and capacitors.

Leave a Reply

Your email address will not be published. Required fields are marked *