The uBlox Leon G100 GSM modem has a bi-directional RESET_N line (active-low) that controls the reset of the modem but also indicates whether the modem is up or down (modem out MCU in).

Because the RESET_N line can be driven by modem only up to 1.88V we need some level shifting, like one presented in the datasheet:

enter image description here

Is that possible to control the RESET_N line (MCU out modem in) with the same MCU line with no impact on modem out MCU in direction? Of course, this wiring is not enough (connecting collector to ground will have no effect on the base-side).

Is the wiring below any option? It will make modem to draw current from MCU when the MCU input is in high impedance which should not be a problem.

enter image description here

The reason is saving 1 GPIO. I think replacing the 22k pull-up with an internal MCU's pull-up would be an option too.

  • \$\begingroup\$ That's a tricky one. Unfortunately you've shorted out your transistor stage and you'll never see much more than maybe 1V or so - since as soon as the level at the MCU pin rises much above 0.7V the transistor will start to conduct, pulling it down. Also, your modem can't actively pull RESET_N down due to the diode. \$\endgroup\$
    – brhans
    Dec 23, 2014 at 15:16

1 Answer 1


The reset line on the module has a strange design to be a true bi-directional reset line. And indeed it is not really a bi-directional reset line. The diode in series with the pin on the module makes the RESET_N pin on the module be only a RESET input signal to the module. In the other direction the module cannot pull down the signal at all and will depend on an EXTERNAL pulldown impedance. So what happens is that the module is able to pull the RESET_N signal pin to a high level of 1.88V minus a shottkey diode drop when the module is powered up and active. The module integration guide specifically says that when you want to be able to detect the status of the module that the value of the pull down resistor needs to be at least 680K ohms.

enter image description here

  • 1
    \$\begingroup\$ I think connecting this line to the ADC will do the work and save 1 gpio. \$\endgroup\$
    – eltomek
    Dec 23, 2014 at 16:54
  • \$\begingroup\$ @tml: you should post your comment as an answer. That is a great solution. \$\endgroup\$ Feb 27, 2015 at 0:35
  • \$\begingroup\$ @DwayneReid - But on many many MCUs the ADC pins are also GPIO pins. So in the common case this does not really end up saving any pin. \$\endgroup\$ Feb 27, 2015 at 2:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.