# How do you prevent a speaker from interfering with an array of buttons that use a voltage ladder?

Short story

I have a PCB with 3 buttons on it, each button connected in series with a different value resistor forming a voltage ladder (schematic below). On the same PCB, I also have connected a speaker. The negative terminal of the speaker is connected to the ground plane of the PCB and then the positive terminal is connected to a pin on the PCB.

This entire PCB is actually the handheld microphone of a CB radio and is connected to the main unit through a cable. The sensing of the analog voltage from the buttons is done by an IC on the PCB of the main unit, on the other end of the cable. The problem is that whenever audio is played back through this speaker (be it even static noise) it somehow messes up the buttons. If there is no audio, the buttons work correctly. If there is audio, buttons no longer respond.

Can anyone shed some light as to why / how the speaker interferes with the voltage ladder button array and how I can prevent this interference from happening and have the speaker play audio and have functional buttons at the same time?

Long story

I have a small CB radio transmitter / receiver that has a handheld microphone. Originally, the microphone had 3 buttons (PTT, channel up and channel down) and, obviously, the actual mic. The speaker is placed inside the actual CB radio unit.

My issue is that the original speaker isn't loud enough to be heard, especially with the AC on. I noticed that the handheld microphone also had what seemed to look like a slot for a speaker, so I took it apart and, indeed, it had a slot to comfortably fit a 35mm diameter speaker. Maybe a different CB from the same line up came with a speaker in the handheld mic. So I thought why not take it apart and add a speaker so that I can hold the mic close to my ear so I can hear better.

I then began studying the circuitry inside the mic and this is what it looks like:

simulate this circuit – Schematic created using CircuitLab

Notice the Extra pin. That pin was not connected to anything on the PCB. The traces for that pin seem to lead to an extra slot for another resistor but the trace ends there and is not connected to anything.

I bought a 35mm speaker, glued it in place, soldered the positive terminal to the Extra pin on the PCB and the negative terminal to a free ground plane via on the PCB.

Finally, I opened up the main unit, traced the cable from the mic and I noticed that the extra pin on the mic was actually connected to the ground plane on the main board (when I was testing for continuity on the microphone PCB, the cable was unplugged from the board so I did not notice that the extra pin and the GND pin were connected). I desoldered the old speaker, then the cable connected to the extra pin and then I soldered the cable to the pin on the PCB that was connected to the positive terminal on the old speaker.

So now I have a new speaker whose negative terminal is connected to the ground plane on the mic PCB, positive terminal is connected to the extra pin, and finally the extra pin connected to the speaker+ pin on the main board.

Based on the original circuit which looks like all hi-impedance, I'd assume the cable is pretty small gauge wire and is not intended to carry speaker currents.

If so the latter could introduce a significant voltage drop along the ground wire. This will of course result in that signal getting coupled back into the buttons line AND the microphone line.

Adding a capacitor between the buttons in and local ground on the main board would improve the situation for that signal. However, the feedback loop that sends the sound back into the microphone may be a more troublesome issue.

If this is indeed the cause, ultimately, you really need another wire for the speaker negative.

If it's a shielded cable, you may consider separating that as either the signal ground or the speaker ground.

ALTERATIVELY

Since, when no buttons are pressed, the button signal is just a long antenna attached to presumably a fairly high impedance pull-up, there will be a considerable amount of cross-talk between the speaker wire and that open ended wire. If there is enough, whatever is monitoring that line may get fooled.

In this case the same capacitor trick should work. Though I might be tempted to add one at both ends for this case to remove the antenna effect in general with the addition of say a 1 Meg resistor in parallel with the capacitor at the microphone end to limit the lines impedance.

NOTE:

If you do add capacitors it may be prudent to also add a small resister, perhaps 100$\Omega$, to the PTT switch to limit the discharge current and prevent arcing on that switch.

• The mic cable is shielded from the rest. I will try adding a cap on the main board, observe the results, then at both ends and observe the results, finally I will also add the resistors and see which works best and I'll let you know. Thanks for the reply. – user1969903 Jul 17 '17 at 5:51
• I know It's been some time but I've been busy. Now, I'm back and success! I tried adding the first capacitor at the main board and it did work to some extent. If I pressed the buttons repeatedly it would pick them up. If, however, I pressed any button just shortly, it would not register. I then added the second cap and also the 1 meg resistor and it finally worked. The bad news is I was not able to add the 100 ohm resistor because, in order to do so, I needed to cut or otherwise remove a pcb trace which I find too destructive. Thank you for your help! – user1969903 Jul 30 '17 at 13:40
• If I may, since you mentioned the cable acts as an antenna, would you recommend adding a ferrite bead /choke to both ends of the cable? – user1969903 Jul 30 '17 at 14:06

If you had an oscilloscope, the first thing to do would be to look at the signal on ButtonsIn to see what's happening there. Since you didn't say, I'm assuming you don't.

It's possible that the speaker current introduces enough voltage offset into the shared ground wire to confuse the button circuit. One quick thing to try would be to connect a capacitor (0.1 - 1.0 uF) between ButtonsIn and GND on the main CB board. Since the interference is AC, this should eliminate it.

• Thanks for the tip. No, sadly I don't have a scope (it is on my Christmas list, though). I will try your suggestion and I'll get back to you with my results. – user1969903 Jul 17 '17 at 5:43