This question already has an answer here:
I have a 3.3v line, which I will need to pull low intermittently with a microcontroller to send data.
I have tried using a BC547B NPN transistor (also tried BC337, BC517 and BD139) with the Collector connected to ground, the Base connected to a digital pin of the MCU (an arduino) and the emitter connected to the 3.3v line.
When the MCU needs the 3.3v line to be pulled low, it sends +5v to the Base of the BC547 so the emitter should be pulled low. When the 3.3v line can return to normal, the MCU sends LOW (0v) to the BC547. I have also tried adding a 1k resistor between the Base and the MCU.
What am I doing wrong? (I know I can use an Arduino to pull the bus low, but I don't want to run the bus directly to the Arduino because it might get damaged)