I have a uC (Arduino Mini) powered from 2xAA battery pack. The Mini display some data on a circuit with a MAX7219 + 2x7segments 4 digits led (a total of 8 numbers).

Because it is powered from battery (and for learning) I want to switch off the load totally when Arduino sleeps, and power on only when needed.

So, this is the very basic schematic (U1 the uC and U3 the load)


simulate this circuit – Schematic created using CircuitLab

I know that for the high side switch I need a PNP, and with a PNP I need mantain GPIO HIGH (right?). But if Arduino sleeps, how it can mantain high?

But, other this question, I'm tryng to study transistors and FET/Mosfet from some months, but I find they very difficult to learn.

Please, can you help me with:

1) Know if circuit is right (R1 for limit base)

2) How can I select a transistor? What I need to check in datasheet?

3) I have some part available, are there some part available for my goal? (Mix of NPN, PNP, FET and Mosfet:


  • 2N3906


  • P2N2222A
  • 2N3904


  • FQP30N06L
  • 2N7000


  • NDP6020P


  • BD239C
  • TIP120


  • PN4391


  • ULN2003A

Thank you

  • 2
    \$\begingroup\$ A couple of tips on schematic drawing: (1) With the CircuitLab tool you can save the editable schematic in your post. You don't need to take a screengrab. That way we can copy it into our answers and edit it. (2) Draw components with + at top. Your battery supply is upside down. (3) If you double-click on the Custom Component you can name the pins. (4) If the Arduino GPIO goes into tri-state (input mode) when going to sleep then you probably just need to add a pull-up resistor between Q1 base-emitter to keep it turned off. \$\endgroup\$
    – Transistor
    May 4, 2018 at 21:42
  • \$\begingroup\$ Just put a pullup :D \$\endgroup\$
    – Andrés
    May 4, 2018 at 21:42
  • \$\begingroup\$ @Transistor thank you for your CL hints... but... on free cannot save or share :( Ok, I did understand the necessity of pullup... but, for my others question? Can you help me? \$\endgroup\$
    – sineverba
    May 4, 2018 at 21:53
  • 1
    \$\begingroup\$ When you use the CircuitLab button on the editor toolbar it's free. I might post an answer later. \$\endgroup\$
    – Transistor
    May 4, 2018 at 21:58
  • \$\begingroup\$ Added the Circuit Lab scheme. Thank you, w8 for your answers later :) \$\endgroup\$
    – sineverba
    May 4, 2018 at 22:03

2 Answers 2


A combination of 2N7000 (or 2N3904) (as driver) with NDP6020P (as main switch) will work for you. See this answer.

However, you don't need to invent new wheels. The device you are looking for is called "high-side" switch. There are many of them. Here is a typical device for you, SP2525A: enter image description here

The switch won't power your display until the EN is "high". So before enetering the Arduino sleep mode, turn the GPIO low. A pull-down resistor might help here.

  • \$\begingroup\$ Thank you. I will read with many attention the linked answer. At first glance, seems that I will find all my info for answer to 2, right? And the reason that you has told me use 2N7000 + NDP6020P, all right? THank you \$\endgroup\$
    – sineverba
    May 5, 2018 at 9:11
  • \$\begingroup\$ I cannot figure how you did select that transistors, by the way. Thank you for your following explain :) \$\endgroup\$
    – sineverba
    May 5, 2018 at 15:30
  • \$\begingroup\$ @sineverba, the idea of design/schematics is given the the linked question. \$\endgroup\$ May 5, 2018 at 16:32

I realize this is not an answer to your question, but have you considered using power-down mode of the LED driver? From MAX7219 datasheet: "the devices include a 150µA low-power shutdown mode". Simple software solution without any extra parts.

  • \$\begingroup\$ Yes, I could, but my goal is also learning transistors... \$\endgroup\$
    – sineverba
    May 6, 2018 at 6:10

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.