December Adventure 2025

2025-12-01    3 minute read

It's that time of year again!

As stated in my retrospective last year, my goal this year is to draw a narrative with my progress. Despite having almost a year to think about it, I haven't come up with any ideas, so I guess I'll be figuring it out as I go.

As usual, you can find other peoples' adventures at https://eli.li/december-adventure#section, and the #DecemberAdventure tag on various social media platforms.

This year, my project is:

tone-tram - Reconstituting the ondes Martenot

While the original idea was to make an ondes Martenot, upon further consideration, I think it would be much funnier to make the worlds first digital superbone (because someone else already made the first trombone).

Day 1

I made a basic demo to take to Hackaday Supercon, but after a month of travelling with it in my backpack, the part that made sound broke. I remade it on a breadboard to try to substitute parts until I can get the perfboard version working again.

Turned out to be the amp. Not totally sure what broke, and it took two replacements for things to start working again. Situations like this make me value the ability to just bang your head against a problem and do the same thing over and over again until it works.

The demo works now, but every now and then, the CAN bus on the sender just stops working.

Also, just a heads-up, I'm probably gonna edit past entries this year in pursuit of my goal of building a narrative through line.

Day 2

Started refactoring the audio code to use floating point instead of ints. I thought a 16 bit int would be enough to get a smooth sound, but you can pretty clearly hear quantization in the pitch at lower frequencies, so I think I need to use floats instead. Plus, the saw and triangle waves I'm synthesizing sound terrible, I think there's a ton of aliasing, so I probably need to oversample and filter.

Got a sound coming out, and it's really smooth for the first few seconds, but then it starts quantizing. Looking at the phase variable, it seems to not be looping, so I think what I'm hearing is actually the single steps as the output level slowly creeps up. But when I increase the frequency, I get really weird noises.

Day 3

Figured out the issue, it turns out the least significant bit is rolling over somehow and becoming the most significant. I think it's a SPI mode thing (or whatever the I2S equivalent is). For now, I just masked that bit out.

Playing around with it a bit, it seems pretty usable. There seems to be some subtle stepping in a specific spot. My suspicion is that it's the magnet code I have on the other end. Will investigate further tomorrow.

  • Make the synthesis less shitty
  • Figure out why it's stepping at that specific spot
  • Reduce electrical noise (more capacitors)
  • Figure out what I need to order and what the timeline is going to be