As I said in the previous log, I got some extremely valuable assistance from HaD member [Spatz] who pointed out numerous flaws in my design. Most glaring: I was using an LDO to supply constant 3.3VDC, and an op-amp and a digital potentiometer to supply variable voltage to the battery output. This op-amp setup is only rated to source 60 mA, not even enough for the inexpensive vibrators (um, "eccentric rotating masses") I want to control! [Spatz] rightly said it was much more sensible to use buck converters.
[Spatz]'s suggestion was to do away with the digital potentiometer entirely: let the buck converter supply fixed 3.3V and 1.5V outputs, and use MOSFETs and PWM to simulate the range of voltages. This is an elegant, simple solution, but I want a bit more control. By keeping the digital potentiometer, I can set the PWM upper limit to any value between 1.2V and 3.3V. This way, when I PWM the double-oh output, I can control both the duty cycle AND the pulse voltage. There are drawbacks to this approach (having to use I2C, more power draw, more ways the circuit can fail), so I may still change this method. We shall see!
Other big changes: a small flyback diode (this proved extremely useful on the SMOL, I'm surprised I forgot it on this design), correcting the crystal oscillator footprint, and updating .gitignore so the repo actually includes my parts libraries. Let's call this hardware version 1.3 or something like that.
I've ordered a new WL prototype, to be assembled in Shenzhen instead of in my poorly-lit office. In the meantime I'll find a spot where I can rework the existing WL and at least try to get USB communication working.
I think the next update will be decidedly ESP32ier...