I've tried to replicate this circuit today.

enter image description here

  1. My motor is a computerfan, they apperntly don't need a flyback diode since there are no brushes.
  2. I used a 12V power source for my arduino and hooked it up via VIM.

  3. I used the arduino ground as external power source.

  4. I verified that the transistor worked as expected with a voltmeter.

Here is the transistor I used:enter image description here

As I understand this, the transistor is stimulated to "steal" electrons away from the motors circuit. But it seems connected to the base. Why would you do that?

  • Not all transistors have the same pinout. How do you know what transistor is used in that drawing?
    – Majenko
    Jan 4, 2019 at 22:34
  • An answer may be found here: arduino.cc/en/Tutorial/TransistorMotorControl Jan 4, 2019 at 22:36
  • The circuit might be totally wrong. Where does it come from?
    – Jot
    Jan 5, 2019 at 0:04
  • It seems like it is wrong, it's from a magnetic stirrer tutorial hackster.io/jdale18/magnetic-stirrer-88e726
    – Himmators
    Jan 5, 2019 at 9:40
  • @Himmators Thanks. Google picture search could not find the original picture. They use a tip31a, which has the pin in BCE order and is for a maximum current of 3 amps, that is more than the 100 milliamps of the bc548. They have forgotten a resistor to the base of the transistor.
    – Jot
    Jan 6, 2019 at 14:00

2 Answers 2


There are many bad schematics and pictures online, and these pictures are really bad.

Do not try to make that. You may damage the Arduino board and the transistor.

  • Even the picture of the BC548 is wrong. The BC548 is always called "BC548" and never "BC-548".
  • The BC548 is not a good choice to drive a motor. It can only do 100 mA continuous.
  • The DC barrel socket has plus and minus wrong connected. The 12V plus is connected to the Arduino GND. That is not okay.
  • The transistor in the first picture is probably a transistor with the pins in BCE order.
  • A resistor is missing to the base of the transisor.
  • Because of the missing resistor, the Arduino board can be damaged.
    When the breadboard has a bad connection to GND, the 12V can go to pin 9 of the Arduino board.

@Dorian, there are no mystical higher alien intelligent thoughts for that schematic. It is obvious a wrong circuit that is meant to drive a motor with PWM using a transistor.

And last but not least:
There are a few different types of computer fans. Some have a capacitor inside and some will only accept a PWM signal to a PWM input.
Are you sure that your fan is able to accept PWM for the 12V power?

  • Wow, I sure learned a lesson here! I have a basic fan witout a PWM input, so the plan is to regulate the speed of the fan by changing the voltage. I tried this with a powercube and it seems to work fine :)
    – Himmators
    Jan 5, 2019 at 9:47
  • 1
    @Himmators please tell us what you want to do so we can help. You can add that to your question. Do you have a mosfet? A diode is always good, even if it might seem that it is not needed.
    – Jot
    Jan 5, 2019 at 11:20

This looks like a circuit to monitor the power loss in the motor supply. If the motor is powered and the circuit is not interrupted then the collector will poll Arduino pin 9 to GND.

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