This is a documentation page for my 8-bit VCDO (Voltage Controlled Digital Oscillator) prototype I am working on!
Features:
- Voltage controlled pitch, 1v/octave!
- Voltage controlled waveform selection
- Sine
- Triangle
- Sawtooth-triangular
- Ramp
- Saw
- Square
- Noise
- Voltage controlled tuning: can go up or down by an octave or more
- Voltage controlled output amplitude
- One digital pin that enables the output or not. If you send an analog voltage here, you can get some interesting glitchy effects when you give it a voltage *near* what it thinks is the boundary between zero and one
Here's a youtube video of stacking a few of these oscillators together to make a keyboard controlled synthesizer.
Project progress
Principal firmware is feature complete. Developed two variants based on ATTiny25 package availability. Designed SMT circuit (still needs testing and validation)
Project TODOs:
Here's my big list of TODOs for this project:
Need to clear out enough space in the back room to start making the reflow oven. I purchased an Adafruit EZ make oven kit but haven't assembled it yet.
Do some more research for current components and component prices -- haven't looked at anything for over a year now and the chip shortage is a constantly moving target
Re-calculate and verify all assembly timings
Do some over voltage tests now that we have a final circuit
Test and verify the three different VCDO pitch modes. (the three modes are "semitone" where the input voltage is quantized to semitones on output [This is the one that I think is not actually finished and I need to write more code for], "standard" where each semitone is forced into a discrete 8 bit value, so there exists at least one input where the output is an absolute musical note, and "natural" where I'm just going to calculate what 37 / 255 is and output that frequency (most notes will be rather detuned, but sliding through a number of tones will be more accurate.)
(I should note the modes are going to be set when I flash the firmware, they involve different delay tables and there is no way to switch between them dynamically)
Re-generate delay tables to accomodate 0 volts = C instead of 0 volts = A, because I think this is the default for the Arturia Keystep 37 that I got
Connect the Keystep 37 to my PC and figure out how to set the CV out mode to limit it to 5v on the pitch output
Figure out where I left off the 8 step Arduino Micro sequencer and pick that back up again
R&D some simple Arduino projects that can use the VCDO
2023-04-17: Order a roll of Kapton tape so I can finish the EZ Make Oven
2023-04-17: Need to purchase a solder stencil so I can use solder paste to put the SMT components on and reflow them. I tried just putting some on with a toothpick and it was a disaster.
2023-04-17: Mastodon recommends the ChipQuik room temp lead free solder paste from Digikey. I haven't bought it yet, but I did get another tube of Maker Paste from Adafruit for now. Need to purchase some solder paste (I am taking recommendations for something relatively easy to use for a small, home scale operation, if you have any ideas please let me know at @crazybutable@mastodon.social)
2023-03-22: Make a todo list on this page instead of keeping it in my head
2023-03-03: Buy or manufacture a keyboard so I can make the VCDO playable Edit: I STILL cannot find the midi->CV conversion circuit (I found it 8 or 9 months ago but put it somewhere "safe" and now I don't know where it is). So I bought an Arturia Keystep 37 which has CV/Gate output. And since I have an "enable/disable" pin on the VCDO, I can hook that right up to the Gate output!