Arduino Nano based DCO

Very nice! Do you get an accurate frequency with the TimerOne library over the whole range? I needed to adjust that especially for low frequencies. I like the addition with the octave up/down switch.

I recently came up with another DCO based on the Raspberry Pi Pico using its PIO functionality: https://lookmumnocomputer.discourse.group/t/raspberry-pi-pico-dco

There I used PWM instead of a DAC for amplitude compensation. This should also work for the Arduino.

I also ommited ADC completely because of its inaccuracy and went for MIDI input instead. I even tried 16-bit ADC and moving average smoothing on the input signal but was not very happy with the results.