Music downloads

Music For Microcontrollers


Through the years, I've composed a number of tunes for microcontrollers—those tiny computers that run the world embedded inside elevators and washing machines. Some of the songs are demo soundtracks (Craft, Phasor, and Turbulence), and some are standalone tunes (Hardware Chiptune Project and Power Ninja Action Challenge).

Listen now on Spotify!

In each of these projects, I designed the music player from scratch, but always with the same basic structure: Sound was generated by a limited number of oscillators, implemented in software under a tight clock cycle budget. Depending on the project, these oscillators would support some combination of fixed or variable waveforms, volume controls, filters, and even FM synthesis.

The oscillator parameters were updated by a playroutine, called periodically about 50–100 times per second. The code for the oscillators themselves would run more often: The output sample rate could be anything from 48 kHz down to about 15.6 kHz, depending on the particulars of each project (often related to video signal timing). Finally, the computed samples were converted to analogue voltages, sometimes with as little as six bits of resolution.


I appreciate when you listen through paid streaming services, but I'm also happy to provide mp3 files for that exquisite offline experience:

01. Hardware Chiptune Project1:41
02. Craft3:33
03. Phasor4:16
04. Power Ninja Action Challenge3:35
05. Turbulence5:11
(Creative Commons BY-NC-SA)

The computational power of a microcontroller is limited, so the oscillators had to be implemented in the simplest way possible, using wrapping counters updated at the sample rate. This efficient but crude approach leads to aliasing—a more or less audible background hiss of unwanted disharmonic frequencies. In the original context of these releases, it was enough of an achievement to get any music at all out of the tiny chips. But on streaming platforms like Spotify and Apple Music, where the tunes are rubbing shoulders with professionally mastered material, the same noise level would have been unbearable.

So I dug up the old source code for each project and ported it to run on a desktop computer, keeping the playroutine and song data intact but increasing the sample rate and bit depth. Then I replaced the oscillators with band-limited versions that need more CPU power but produce clean alias-free 8-bit waveforms. Have you ever redecorated part of a room only to find that the rest suddenly looks shabby in comparison? With most of the noise gone, I was now getting annoyed by faint clicks caused by small incremental volume changes, so I also had to implement delayed volume control with zero-crossing detection. Then I added final touches in the form of subtle panning and level adjustments. In the end, I spent a lot more time on this cleanup than I had anticipated, but after hearing the result I'd say it was well worth it!

Original project pages

If you like, you can revisit the original recordings (or watch the presentation videos) and compare the sound quality. Phasor is a particularly egregious example.

Page thumbnail

The hardware chiptune project

Normally, when you create a chiptune, you start with an existing chip (such as the SID chip or the YM2149) and write a tune for it. We decided to start from scratch, and create a chip and a tune.

Page thumbnail


Craft is a demo running on its own minimalistic demo platform. The demo platform is based on an ATmega88 microcontroller.

Page thumbnail


Phasor, like Craft, is a demo running on a custom minimalistic ATmega88-based demo platform. But it generates a composite video signal (PAL) instead of a VGA signal.

Page thumbnail

Power Ninja Action Challenge

Here's another ATmega88-based hardware chiptune, this time composed for Little Computer People 2009. It was my contribution to the "other music" compo, and won the 1st place.

Page thumbnail


Turbulence is the successor of craft. It's a microcontroller demo based on the Propeller chip from Parallax. External I/O consists of stereo sound (at line level) and a VGA signal.

Posted Wednesday 19-May-2021 21:03

Discuss this page



Thu 20-May-2021 02:09
Awesome music!
Thu 27-May-2021 06:17
Wow! Everything about this great. My girlfriend turned me on to your C64 + spring reverb work on YouTube and I loved hearing you turn a computer beep into a cathedral organ. As I wander your website, your projects are deeply inspiring.
Thu 27-May-2021 18:20
I appreciate a lot your work!!
Sun 30-May-2021 16:19
This is better than originals, but they are good too. It's like desiring to hear real SID output because of all noises and distortions presented.
Mon 5-Jul-2021 03:32
Fantastic~ Now maybe in a few years we can upgrade to some audio compression more modern than mp3, as well? :P