Holy smokes (not literally--no smoke yet) this one was a lot of work.
But it's finished; much improved from its thru hole build predecessor, and I am extremely happy with the results.
Left: Earlier Prototype of the Current Prototype.... |
Update 12-17-21: I created then posted a quick audio clip of the DDLFO. Go here. About the demo: You can use LFOs for most anything that needs modulation...but I wanted to show some of the odd LF waveforms you can get from this strange device without a lot of obfuscatory fanciness. So--The demo uses 2 Dirty DLFO's modulating each other with the lube out of one of the LFO's feeding a single VCO. That's it. I used a bit of multitracking and added reverb as as to not completely destroy your speakers, but this was the simplest way I could think of to show you how a DDLFO module "sounds".
There have been many previous posts about the D-DLFO up until now:
- Leaving Arduino Sketch for Pure C: here (it was arguably easier to build a module of this complexity using embedded C vs. Arduino Sketch).
- Minimal AVR board: here
- Earlier DLFO prototype with simpler buffering (and less features): here and here.
- Adding waveform reset via external interrupt: here.
- Fabricating and troubleshooting the SMD "pots board" for the build: here.
Also I want to thank my faithful sponsor PCBWAY for helping me realize the Dirty Digital LFO in its various incarnations.
This was a tough fab, using 0804 SMD parts and intricate stencils. It's an advanced project. Their support and quick turnaround for the prototype boards was extremely helpful, so please help me continue to improve this blog and check them out.
Getting Dirty: Overall I am really happy I hung in there and rebuilt the original Dirty DLFO module to do more.
The waveforms you can create with it go from normal tri/sine/ramp/saw to bizarre. Check out a few scope shots. That's the wonder of DIWHY I guess, you end up with things that can be--different?
Generous lube makes the signal analog like.... |
Portamento turns tri into a sloppy sine. Good enough. |
My stock portfolio? |
Hebrew from an LFO? Oy!! |
Swan Lake? |
More Cowbell! |
the path not taken? |
Using the Dirty Digital LFO: The module has two outputs: "Lube" and "Out", the former is the output through a portamento subcircuit.
The lube gets rid of the some of the digital grit which may or may not be what you want.
There are 3 ways to change the frequency: the frequency pot at the top right, a slow/fast switch, and a 0-5V CV in. This is standard LFO stuff. You can set the output bias offset with the OFFSET pot (if I had more room I would have made the outoput voltage controlled, but enough features already right?) the WOMBO input mixes CV to the DAC out (see below); finally the CV bias in adds DC offset to the incoming CV in case a boost is needed.
What is a "WOMBO"? I had to call it something....some of the strangeness you see in the scope shots is due to blasting CV in parallel into the DAC buffer output. We are not mixing the additional signal into the negative feedback side of the output op amp buffer, we are mixing it into what is normally used to set the bias offset (often tied to ground), here, treated as a mixer.
I got this idea working on a friends' Ken Stone Dual Wasp Mixer, and thought it would be interesting feature to add to an LFO....it turned out to be the case.
I had no idea what to call this input, so I chose 5 letters at random: "WOMBO". There you go!
The PCB is wired for +/- 15V but should work on +/-12V no problem; the PCB board I laid out accommodates a Euro power connector.
As it's coded, the board supports 6 waveforms plus Sample and Hold:
- Tri
- Ramp
- Square
- Saw
- Random 1 and 2 (CV controls frequency, or, CV controls frequency and randomness)
- S/H (reset input, when it goes positive creates a sample of whatever is at the CV in and puts it at the output jack).
There is also a "Riley reset". Hello? See previous posts here and here. This didn't work at first, after about 3 hours at the bench I realized that I had wired the interrupt to D1, but coded it for D0. Gotta love dumb mistakes.
Since this interrupt starts the waveform over, you can get further complexity, such as turning a triangle into a saw, doing psuedo duty cycling of the square wave, and so on. Thanks to Max, Dave and the guys at BAM for insisting that I put this in. It was a really good suggestion.
On to this post's useless bench build photos:
Showering off: Overall, this experience was AudioDIwhy at its best (for me anyway...)
After hours of enjoyable and peaceful C coding, fantastically frustrating hours fixing and debugging the circuit, and much time spent swearing, soldering, wiring and having dumb bench fun, I ended up with a voltage controlled LFO that may be like nothing else out there--perhaps anywhere--if you have an LFO that can display psuedo hebrew-like characters on your scope, lmk--I didn't have one; now I do.
I feel I've come a long way since I was perf boarding dumb little op amp circuits and seeing if they smoked. So in spite of my psychiatrist girlfriend wondering about me and if everything is OK upstairs, I carry on--and perhaps this is a good thing.
This was a pretty tough build, but if you are up for a challenge, you can get all the schems, files, gerbers, PDFs etc., from my github (here) as well as my sponsor PCBway's project page, here. Let me know if you come up with anything fun.
Here, now, I am happy. Rock on!!!