I'm going to use a microcontroller to switch a vehicle horn on and off intermittently for maybe one second on and one off for a period of 15 seconds; the horn will pull an estimated 3 Amps. I know I can do this with either a relay or transistor, but saving space/money is a concern and I'm really just not sure which way to go.

  • 1
    \$\begingroup\$ N-channel MOSFET (logic level). \$\endgroup\$ – Majenko Jun 22 '14 at 19:42
  • \$\begingroup\$ Any reason as to why that's better? \$\endgroup\$ – Sam W Jun 22 '14 at 19:43
  • \$\begingroup\$ I image the horn pulls 3A DC? What voltage? Will the micro share the same ground as the horn? \$\endgroup\$ – Solitz Jun 22 '14 at 19:47
  • \$\begingroup\$ Will share same ground, at 12v DC. \$\endgroup\$ – Sam W Jun 22 '14 at 19:49
  • 1
    \$\begingroup\$ What is more important: Space or money? How many do you want to make? \$\endgroup\$ – Solitz Jun 22 '14 at 19:54

Either will work. A relay has the advantage that it can stand very high transient voltages and won't be disturbed by transients across the contacts.

A suitably rated MOSFET can work too, but you'll probably have to overrate it by quite a bit for it to be reliable. It may need a heat sink if you're operating in under-hood conditions at high ambient temperature (Rds(on) goes up quite a bit with temperature).

The relay is bigger (it will consume a bit more current, but that is immaterial in comparison to the 3A horn), and it will not need a heat sink.

Cost could definitely go either way, depending on quantity etc., so if it's a volume product I suggest pricing it out both ways before you decide.

If it's just a one-off, you can ignore cost and use a huge overkill MOSFET such as an FDH5500 (I'm using this one for a vehicle application). If you feed it 10V at the gate (not directly from the micro, you'll need to step up the voltage), it has an Rds(on) not exceeding 0.01 ohm at 100°C. It won't need a heatsink for a 3A load and has a good chance of blowing a fuse without dying in case of a short. Even so, it's only about $4.50 in singles.


You can use BUZ11 N-MOSFET transistor.

It's a bit overkill (50V, 30A), but at Vgs = 5V you can draw 8A (see transfer characteristic in datasheet).

It has TO-220 package - smaller than typical relays capable to switch 3A current.

You probably won't need heatsink for it at 3A.

It's cheap (I found $3 per 5 pieces on ebay).

Alternatively - you can use 2SK2553 transistor. It's a bit smaller (LDPAK), its capable to transfer higher currents at Vgs = 5V but probably is more expensive.

You can also look at other N-channel mosfets with "logic-level" (you need Vgs < 5V to drive transistor gate directly from microcontroller).

Edit/added later:

All informations above apply to circuit with 5V (not 3.3V) microcontroller. For 3.3V you need very low Vgs transistor.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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