I have built a small Morse code key that consists of a push button, a 3v buzzer and an LED. When I connect the positive side to 3v3 and the negative side to ground, the key works. I push on the button, the buzzer sounds and the LED illuminates. Constant 3.3v across the circuit when checked with a multimeter.
I wrote a program that uses the button presses to generate dots and dashes. GPIO 11 is set as an input that uses the pull up resistor. When I jump wires across GPIO 11 and ground, it works fine, constant 3.3v.
However, when I connect the positive side of the key to GPIO 11 and the negative side to ground, when I press the button the LED barely lights, the buzzer crackles softly and the pi doesn't see GPIO 11 As having gone high. When tested with a multimeter, I have 3.3v from GPIO 11 to ground when the button is open, but only 2.17v when the button is closed. The resistance of the circuit is ~4 ohms.
What is the next step in troubleshooting?
Photos of device: