Active buzzer electric noise on I2C - Page 1
Forum section: electronics / beginners

author: mr_byte31
author_rank: Regular Contributor
timestamp: March 22, 2025, 09:46:20 pm
content: I bought some cheap active buzzers from china. They look like this :I build a circuit using ULN2003A to drive some small Leds and the active buzzerI noticed that when I play some tones on the active buzzer via my MCU, the I2C IMU has a lot of noise on the Acc and Gyro measurements.To prove that the active buzzer is the cause of the interference/noise, I removed the active buzzer from circuit and the IMU measurements looks much cleaner.I drive the complete board using LiPo battery which has enough current.I am thinking of some solutions to fix the active buzzer issue. one thing that came to my mind is to use decoupling capacitors on ULN2003A or prallel to active buzzer. I am not sure if this will completely fix the issue or not.any suggestions ?

author: PGPG
author_rank: Frequent Contributor
timestamp: March 23, 2025, 11:49:52 am
content: Quote from: mr_byte31 on March 22, 2025, 09:46:20 pmIt is very hard to make any (more complicated than switching LED with switch) working electronic device without capacitors.From your schematic it looks that you are just trying to do it.

author: temperance
author_rank: Super Contributor
timestamp: March 23, 2025, 12:54:50 pm
content: The ULN IC and surrounding components are contained in a box in the schematic, so it is unclear why some signals escape.

author: themadhippy
author_rank: Super Contributor
timestamp: March 23, 2025, 02:09:41 pm
content: If there electro mechanical buzzers i doubt a cap is going to help.Think of them as a relay were one of its switching contacts switches its coil.when you apply power the coil pulls in, breaking the switch, which turns the coil off that causes the switch to switch back on powering the coil,and so on.Thats going to produce a fair bit of electrical noise.

author: Zero999
author_rank: Super Contributor
timestamp: March 23, 2025, 03:21:27 pm
content: Quote from: themadhippy on March 23, 2025, 02:09:41 pmI very much doubt those are electromechanical. They're most likely piezo, or magnetic buzzers which have a transistor oscillator.

author: madires
author_rank: Super Contributor
timestamp: March 23, 2025, 03:53:31 pm
content: Two things come to mind. If you have the accelerometer/gyro and buzzer on the same PCB you get an integrated vibration tester. You can check that by attaching the buzzer via wires. The other cause could be a crude piezo driver in the buzzer, creating voltage spikes (can be checked with a scope).

author: Zero999
author_rank: Super Contributor
timestamp: March 23, 2025, 05:15:51 pm
content: How do you know it's electrical noise? Are there any ceramics capacitors on the board?

author: mr_byte31
author_rank: Regular Contributor
timestamp: March 23, 2025, 09:23:20 pm
content: I checked the reading of the compass, gyro and acc before and after removing the active buzzer.example with the noise:the tone is playing when arming and dis-arming.When I removed the active buzzer all readings are flat. (check y-axis range)

author: emd
author_rank: Newbie
timestamp: March 23, 2025, 09:45:49 pm
content: Isolate it with an opto->fet on signal? 🤔

author: Zero999
author_rank: Super Contributor
timestamp: March 24, 2025, 08:06:54 am
content: Quote from: mr_byte31 on March 23, 2025, 09:23:20 pmThat doesn't answer my question.You haven't ruled out sound from the buzzer, vibrating ceramic capacitors on the board and generating electrical noise. Many types of ceramic capacitors are microphonic i.e. they give off an electrical signal when vibrated.

author: mr_byte31
author_rank: Regular Contributor
timestamp: March 24, 2025, 08:27:31 am
content: Oh! I didn't know about vibrating ceramic capacitors before.My PCB doesn't have any ceramic capacitance.it may exist on the dedicated modules that I use such as GY-91 (MPU9250,Baro) or ADS1115. I am not sure.

author: temperance
author_rank: Super Contributor
timestamp: March 26, 2025, 11:58:09 pm
content: QuoteRemoving the buzzer doesn't prove anything. A valid proof would be to connect the buzzer such that it is mechanically decoupled from the PCB.

author: mr_byte31
author_rank: Regular Contributor
timestamp: March 27, 2025, 08:52:29 am
content: I am not sure I correctly got your point.how to achieve that in easy steps ?

author: tooki
author_rank: Super Contributor
timestamp: March 27, 2025, 09:38:05 am
content: Desolder buzzer from PCB. Attach buzzer to PCB using flexible wires long enough to not transmit vibration.

author: tooki
author_rank: Super Contributor
timestamp: March 27, 2025, 09:42:23 am
content: Quote from: mr_byte31 on March 22, 2025, 09:46:20 pmYou should be using decoupling caps on everything anyway.If the buzzer is the self-oscillating kind (=you feed in DC and it buzzes = you do not need to feed in an oscillating waveform), then you should give it a decoupling cap, too.Otherwise, every load you have on your supply rails can spill noise onto the rails, affecting other devices.