I need a sanity check on my schematics before I pay for JLCPCB to make my PCB board.

Goal: To have my Pi Zero fire a pyro charge in a model rocket. Setup: GPIO-20 Sends a signal to the MOSFET Gate, which then allows 12v of current to fire the pyro charge. The Ground (Negative) of the 12v battery and Ground Pin of the Pi are being shared.

Question: Does this setup look correct? Does anybody see any issues with the Pi sharing ground with the 12v battery? I built this out and tested this wiring with a breadboard using an LED to visually confirm this and a multimeter to see the voltage rise and fall as I enable/disable a signal from the GPIO pin. But as we all know, what works in testing doesn't always pan out in production. So I'm asking for a second set of eyes to double check me.


  • GND: Ground (Shared by Pi GND Pin & External Battery Negative Terminal)
  • BATT+: 12v
  • GPIO20: Signal to Pyro 1
  • GPIO21: Signal to Pyro 2 (Not shown)
  • R8: 1 Ohm Resistor
  • R2: 470 Ohm Resistor
  • Q2: N-channel power MOSFET - 30V / 60A -> https://www.adafruit.com/product/355
  • P2: Screw Terminal to Pyro Charge
  • P3: Screw Terminal to 12v External Battery
  • 5v: 5v from Pi to power sensors
  • SCL: SCL to sensors
  • SDA: SDA to sensors


Raspberry Pi Zero Sch.

Pyro Channel

  • \$\begingroup\$ "5V from the Pi to power sensors"... What sensors? How much current? The +5V output on the Pi is very low current... Where does the Pi get it's power from? How does +BAT turn into power for the Pi? \$\endgroup\$
    – Ron Beyer
    Feb 25, 2021 at 2:04
  • \$\begingroup\$ The Pi is powered normally via its USB port with 5v. The Sensors (eg: Barometer, GPS, etc) are powered off the Pi 5v GPIO pin.. The BATT+ will be 12v and its a separate voltage to be solely used to power/blow the pyro charge. The Pi is simply sending the signal to the MOSFET gate so the 12v can flow to the pyro charge. \$\endgroup\$
    – Alby
    Feb 25, 2021 at 2:16

1 Answer 1


The circuit you show is generally fine. I only have little concerns/recommendations:

  1. Add at least some resistance at GPIO 20 to limit the current required to charge the gate capacity.
  2. I would increase the pulldown resistor at the base. 470 Ohm will result in 7mA, which usually is not needed in such a scenario. I believe, some kOhm would be sufficient and this resistor and the one I recommend in 1. would form a voltage divider, decreasing the gate voltage to some extend.
  3. Evaluate what the 1 Ohm resistor does when it fails (I guess you will use it to ignite the charge). If it fails short the current might exceed the mosfet's rating.
  • \$\begingroup\$ Thanks. The MOSFET I'm using would be okay since its rated up to 30V and I'd only be using 12v. So would you recommend something like a 1K resistor or something more like a 470k resistor? The GPIO link would only be 3.3v, so I fear that adding a resistor to then GPIO might lower the voltage so much that it won't turn on the MOSFET which is around 2.35v. \$\endgroup\$
    – Alby
    Feb 25, 2021 at 4:24
  • \$\begingroup\$ The Pi GPIOs are quite anemic and without gate resistor you will encounter problems (even the mighty 20mA PIC GPIO have trouble sometimes with these) \$\endgroup\$ Feb 25, 2021 at 7:12
  • \$\begingroup\$ Thanks Lorenzo and Sim. I found a Stack Exchange post regarding gate resistors and going off their example, I should likely do a 100 Ohm Gate resistor and a 1M Ohm pull down resistor. --> electronics.stackexchange.com/questions/68748/… \$\endgroup\$
    – Alby
    Feb 25, 2021 at 10:42
  • \$\begingroup\$ @Alby 100Ohm series is fine, but 1M for pulldown seems large. I'd choose something in the range of 10k-50kOhm. \$\endgroup\$
    – Sim Son
    Feb 25, 2021 at 17:28
  • \$\begingroup\$ Thanks @SimSon. I'll go with a 50k pull down and see how that pans out. \$\endgroup\$
    – Alby
    Feb 25, 2021 at 19:11

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.