I have made some progress on this project the past month, but I forgot to post an update so here's a quick one. Earlier, I fully tested the circuit with noise gen, VCA, and pink noise filter all together. I use two opamps, one for buffering the smoothed PWM amplitude signal and another for buffering the pink noise output. I added another feature which is a voltage-controlled peak filter at around 150Hz to simulate big waves crashing. The Q of this filter is a little too high to be super realistic but if I assume that the system that's playing it back is pretty shitty then I can justify this high-q as compensating for the shoddy low-end of the speakers ;) (I don't want to re-test a lower Q filter). Anyways, I can use the output opamp for two functions, one is the feedback loop to implement the peak filter, and still behaves like a output buffer. Two birds with one stone.
I've learned two things: it requires me lots of effort to stay on track. While just writing this log I realized that I could reduce the BOM by two resistors, two capacitors and an opamp per channel if I just use the DAC instead of filtering a PWM wave. But the problem is that if you don't fix it then it doesn't work, and I don't want to test this DAC since I know the PWM one works. The drawback is that if later I want to mess around and try some higher frequency amplitude envelopes then I sort of can't, the filter's cutoff is at 1.5Hz. Ba-humbug. The second thing I learned is Seeeduino actually has pretty good supporting materials. I just downloaded some symbol and footprint files from their website and I can easily start designing PCBs. I wonder why I ever drew my own footprints in the past, what a waste of time...
I think I might be getting a little better at this though. The voice in the back of my head is successfully keeping me on track and away from deep rabbit holes. Reading the first post from this sequence also helps re-ground me and remind me why I started this in the first place.
Breadboarding is done, schematic is finalized, code is in a working (read: ugly but functional) state, all thats left is layout and assembly. We're halfway done, ladies and gentlemen!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.