Switching high or low side for Bluetooth module

Discussion in 'Embedded Systems and Microcontrollers' started by DuzMontana, May 29, 2016.

  1. DuzMontana

    Thread Starter New Member

    Mar 25, 2015
    I'm trying to program an arduino mini pro while it is connected to a Bluetooth module through RX and TX pins. Basically the ftdi is connected to the same pins as the Bluetooth module on the arduino.

    Obviously if the Bluetooth is powered it should not work. So I decided to put a transistor on there to switch the low side of the Bluetooth thinking that it might solve my problem.

    Seems like it doesn't work... Worst of it I don't really understand why. My only hypothesis at the moment is that the TX pin on the Bluetooth module can't drain and remains high thus killing the signal from the ftdi to the arduino... Does that make any sense?

    Should I expect the same result switching the high side.
  2. Sensacell

    Senior Member

    Jun 19, 2012
    Generally it's always better to switch the high side, ground is the voltage reference between circuits, you don't want voltage drops between circuit elements.

    Better to disable a peripheral module by setting if into a low power mode (if possible) rather than switching power, as the un powered part loads the I/O lines.
    DuzMontana likes this.
  3. John P

    AAC Fanatic!

    Oct 14, 2008
    I'm doubtful about whether this can work. CMOS circuits typically have input protection diodes, which will connect every input to the chip's + and - supply pins. If the Vcc (all right, Vdd) and Gnd pins are at the same potential, you'll never be able to pull any pin more than 1 diode drop higher or lower than that. If I'm right, your Bluetooth module input pins will be pulling the lines high, so nothing else could pull them low. I think the only solution is to put resistors in series with the Bluetooth module lines, but then maybe it won't be able to function when you need it.
    DuzMontana likes this.
  4. dannyf

    Well-Known Member

    Sep 13, 2015
    The other possible explanation is that the low-side switch isn't done correctly.
  5. DuzMontana

    Thread Starter New Member

    Mar 25, 2015
    Low side switching with npn transistor isn't the most complex circuit. It was configured to saturate for a minimum current of 100mA. Anything lower than that should be just fine.

    Do you think it can be accomplished with low side switching?

    Edit : I realized that I did not mention that the module works just fine when powered. It's really a problem when ground is cut. Both serial lines stay high.
    Last edited: May 31, 2016
  6. DuzMontana

    Thread Starter New Member

    Mar 25, 2015
    I bit the bullet, cut the traces, isolated the module on the pcb and high side switched it with a pnp transistor to fix the problem. Now I can program the arduino when switching off.

    Thanks for the courage burst