I seem to have spent the last year or so doing upgrades to things that worked ok first time round but had room for improvement.
Tuner 2
My class-D bass amp incorporated a tuner that used an ESP32 and a 1.5" monochrome display back in July 2022. This has been moved into my practise amp where it can carry on being useful.
The revisited tuner still has three basic modes - Idle, Tuning and Active. The FFT based tuner algorithm has been largely left alone, but the visuals have all been updated and now use a 3.2" colour 320x240 LCD panel. This was made easier by using a driver to control the IL1931 chipset. The tuner view is now able to be used at the other end of a 6m cable without squinting!
Some of the visual effects took some time to get right. Most notable were the drawing-a-maze algorithm and controlling multiple bounces in breakout. The 3D cube principles were found online but fathoming out a way to avoid displaying occluded lines was left to me.
Speaker Measurement 2
A while ago I made an Arduino based speaker measurement box. It worked ok but the DDS was too wayward to give consistent results and the ADC sample rate a bit restrictive.
Seeing as the ESP32 A1S module worked well for my Basscape effects unit it seemed like a good starting place for another sequel. The built-in stereo CODEC channels are used to supply and monitor the AC signal whilst resistance measurements are handled by a separate DC coupled I2C ADC.
Topology
In the earlier design, AC current was measured by a 3R0 resistor in series with the speaker, but for the new version an improved virtual earth or auto-balancing bridge method is used. The better separation of voltage and current signals along with higher sample rates allowed phase measurement too. After some number-crunching, sweep results are sent to the debug port for importing into a spreadsheet.
Coils of Wire
After some successful speaker measurements, the idea of changing its impedance range offered a way of measuring guitar pickups. LCR meters are ok for ordinary coils, but guitar pickups show resonance in the audio frequency range which renders simple testing at spot frequencies very hit-and-miss. The LCD shows the basic values - dc resistance, peak frequency & impedance and Q.
Pretty Pictures
During development the values measured were sent to a logfile and later imported into a spreadsheet to make graphs. The ESP32 has WiFi capability so it was reconfigured to operate as a Simple Access Point. The measurement results were then sent directly as a web page showing the graph and important values.
...and pretty good for pickups too...
Impedance is not everything
The response of a pickup to an electrical signal (measuring its impedance) is not quite the same as its response to a magnetic flux signal. There is a good degree of agreement, but it is not the whole story. Having re-read a few pages in Electric Guitar - Sound Secrets and Technology by Helmuth Lemme he describes a similar measurement system using a stimulus coil. Modifications were made yet again to allow an external coil to be driven to try this out.
Pickup coil switching and cable length options were tested individually and the plots combined using paint.net to show the results clearly.
Sound Advice
This unit now gives a good idea of how a speaker or pickup will respond at different frequencies but there are still many other factors that can contribute to an overall lively or dull sound. It has helped remove some of the mystery and allowed me to make improvements to speaker cabinets and guitars with more certainty than flipping a coin.
A side effect of using the drive coil I was able to determine that some of my Jazz Bass pickups tested were actually split humbuckers (like Fender Precision split pickups, but in a single housing). Well, they are black boxes after all.