Hand-built and bespoke Eurorack

Hand-built and bespoke Eurorack
Cart 0

Zen and the art of fine-tuning AVR-based VCOs

I have been asked a number of times recently about how to go about fine-tuning the AVR-based VCOs (the 3HP AVR-VCO and the Bad Trip VCO/VCF) - this applies to modules sold before the end of 2019 - it does not apply to updated versions of the modules that will release in January 2020.


If you've got one of the old AVR VCOs which uses an ATMega168/328 then you'll find a trimpot on the mainboard; if enabled in the firmware then this pot will allow you to fine tune the VCO - easily done.

Things are a bit tricker with the ATTiny-based units as they will require a firmware upgrade and you'll lose the ability to do cool phase distortion effects via the OP input. I have released an alternate firmware which implements fine-tuning support although the function of the CV and OP inputs is changed, thus:

  • The CV input will control the fine tuning. You can put this under voltage control if you like(!) but more often than not you can get the effect you want by fiddling with the CV pot.
  • The OP input becomes the CV input - you lose the ability to attenuate the input CV, but this may or may not be a bad thing depending on your use case.
  • The WAVE input is unchanged.

You can get the firmware source here: https://bitbucket.org/yorkmodular/avr-vco-diy/src/master/wavetables-attiny-finetune/

Bad Trip v1.0

Because of the way I implemented the functionality of the Bad Trip firmware it isn't possible to add fine-tuning via a firmware update by default. There's a possible hardware and firmware hack (see below) but that's hacky at best. The problem has been addressed in the updated version of the Bad Trip that will be available in early 2020.

That being said, tuning other VCOs to the Bad Trip isn't difficult - the lookup table used in the firmware is very well tested and accurate to within ~1% over 5 octaves. In a test involving a Bad Trip, a Behringer Model D and a Behringer Neutron I found that the two Behringers were less than a semitone flat with respect to the Bad Trip and that all three tracked each other very well over the majority of their range.

In the case of both VCOs, assuming you're using the stock firmware the lowest note producted (at CV=0) is C1, approximiately 32.7Hz, so you can use this is as a starting point for tuning other equipment.

About that hardware hack ...

This involves connecting a trimpot between 5V and GND, with the centre pin of the pot connected to pin 5 (PB0/AIN0) of the microcontroller via a 10k resistor. The firmware part involves adding extra code to read the voltage on pin 5 and adding an offset to the phase accumulator dependent on the read voltage.

Note that I haven't tested this (yet) - try it at your own risk.

Newer Post

Leave a comment

Please note, comments must be approved before they are published