Voting resources, early voting, and poll worker information - VOTE. ... Adafruit is open and shipping.
0

Audio noise from VL53L0X on breadboard
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Audio noise from VL53L0X on breadboard

by punslinger on Sat Jun 13, 2020 10:27 pm

I'm having issues with noise coming from the VL53L0X breakout board. My circuit has a Feather M0 Express generating audio with the DAC, using the Mozzi library, in response to sensor data from the VL53L0X. The audio is sent through a 220uF blocking capacitor to a headphone jack. I also have an LED and resistor hooked up to the 2.8v regulator output from the VL53L0X board, to verify the board is getting power. Currently, I'm prototyping parts of the project on a breadboard, but plan to move it to a PCB for final assembly.

When I plug in headphones, there is a definite low-frequency buzzing sound accompanied by a dimming/flickering of the LED. The LED is solidly on and there is no noise until the code tells the sensor to begin measurements, and I've verified this by jiggling the power wire to cause the VL53L0X to reset, after which the noise disappears and the LED stops flickering. I've ruled out a ground loop for two reasons: first, the same issue happens even when I power the circuit from a Li-Po, and second, the measured frequency of the buzzing is above 60 Hz. Mostly it seems to be in the 100-400 Hz range.

The LED flickering is only present when I have something plugged into the headphone jack. If there's nothing there, the LED stays lit continuously, though obviously I have no way of determining how noisy the audio is when it's not connected to anything. The flickering and noise are worse when I use headphones than when I use my computer speakers (powered from the wall). I also tried using a PAM8302 amplifier breakout with a small 8-ohm speaker, powered from VBUS and GND, and didn't hear any buzzing at all, though the LED did dim and flicker whenever a note was played. This output-type-dependent behavior could suggest an impedance issue, but I tried buffering the audio by running it through an op-amp configured as a voltage follower before the DC-blocking cap, and that didn't do anything. I also tried two pairs of headphones to rule out any issues with the headphones themselves, but got the same result.

I've tried placing some bulk capacitance near the breakout, connecting a 220uF and a 1000uF between the VIN pin and GND, with no luck.

I've also seen similar issues with the generic OLED breakout I was using, so it looks like any high-current digital devices in the circuit will cause the same problem. Since the noise is low-frequency, I can't filter it out without also filtering out the audio I'm trying to generate. I've read that isolating those devices onto their own voltage regulator could solve it, but the VL53L0X is already behind its own 2.8v regulator on the breakout, so I'm not sure that'll work.

I do know that it is these devices that are the issue, because removing both the OLED and the VL53L0X from the circuit and having the code just play notes in a scale results in clean headphone output without any buzzing noise at all.

At this point, I'm really at a loss for how to fix the noise issue. Do I need to just buy an audio isolation transformer and design it into the circuit?
Attachments
breadboard schematic.png
Schematic of breadboarded circuit
breadboard schematic.png (25.95 KiB) Viewed 45 times

punslinger
 
Posts: 6
Joined: Thu Dec 29, 2016 3:07 pm

Please be positive and constructive with your questions and comments.