Posted on

Significant Update to the GameBoy Wave Module

I’ve been working on a big update to my GameBoy Wave module and finally have it in a state where I can tease a short demo:

A brief overview of the module itself, it implements a similar solution to the Nintendo GameBoy’s wave channel. It uses 4-bit/32-slot waveforms which are output through a variable clocked DAC. By varying the speed the waveform is run through the DAC, the pitch can be changed. This produces a gritty sound with all sorts of aliasing and is exactly what I wanted – a gritty chiptune style module which sounds very close to the original GameBoy’s wave channel. As it should since it’s doing quite nearly the same thing.

This version swaps out most through hole components for surface-mount ones. I was averse to doing that but wanted to keep the form factor the same while adding a step sequencer, and SD card, and swapping the left/right buttons for an encoder. I would still like a through hole version so it’s easier for folks to build on their own without needing SMD experience, but I wanted to test the new features first. A through-hole version is likely to be more expensive as well.

The step sequencer uses the same wave being displayed and is updated via a trigger and has its own dedicated output. That means the audio and step sequencer can be used at the same time. Currently it only goes forwards but I plan to add more options (reverse, perhaps ping-pong, random, etc.).

The SD card is hidden along the back. In hindsight that might annoy folks that want to mess with patches off the SD card often, but I really don’t like the front mounted card slots. The SD card is used for both patches and the config. Both are just text files that can be edited in a text editor or generated from something like Python. I did this so I could more easily work on the wave generation functions external to the module first, and can then port the code over to the module itself (where I’d also need to add the GUI elements). The plan is to be able to generate frames just like you can in LSDJ using parameters like amplitude, filter, clipping vs wrapping, etc.

As alluded to above, I plan on selling this though it is also open source, though I need to clean the repository up a bit as it’s gotten pretty messy with working on all the features and the through-hole and SMD designs. I’m not sure if I’ll sell complete modules, kits, bare boards, or what but I want to give as many options as I can so folks aren’t forced into building one on their own if they don’t want.

Still more work to do on the software front too but I’m very happy with the hardware and the software has most of the core functionality I wanted for the module.