Stryfeduino – Part 2 – It’s alive

By | 8. July 2016


When it comes to transistors I’m always not quite sure what kind of transistor with what specs I need. So it might be good start to asses the specs of the connected components – The flywheel motors and the Arduino.

The motors draw a peak current of about 1.8 A and a continuous current of about 500 mA with 6V or 12V depending on the toggle position. The Arduino can supply only about 40mA with 3.3V.

  • 1,8A peak with 500mA continuous Load
  • 12V max Voltage
  • 40mA switching current

A transistor that can handle these specs is for example the BC517 Darlington NPN transistor. It can handle up to 1.2 A of continuous current and way more than the 12V, so we have more than enough wiggle room. It can also switch with the low current from the Arduino. The Darlington part gives that away. Generally, this is the Beta value which can be calculated by the quotient between the collector and emitter current.

  • Minimum B Value = 500mA / 40mA = 12.5


The transistor has three contacts – Collector, Base and the Emitter. We have to connect two different circuits to the transistor. The circuit of the DC motors will enter at the Collector (white wire) and leave at the Emitter (blue wire). The second is the control circuit of the Arduino which will enter from a Digital Output through a 1kOhm Resistor at the Base and also leave at the Emitter back to one of the Ground Pins from the Arduino.

Stryfeduino - RC - 06 - BC517 button Stryfeduino - RC - 32 - Nano BC517 Stryfeduino - RC - 33 - Circuit Nerfgun


The implementation couldn’t be easier. We setup the Digital Pin where the Base of the BC517 is connected to as an Output Pin and we’re done. Set the Pin to HIGH and the flywheels start spinning, set it back to LOW and the flywheels stop.

const int bc517Pin = 5;
void setup() {
pinMode(bc517Pin, OUTPUT);
void loop() {
// Turn the flywheels on
digitalWrite(bc517Pin, HIGH);
// Turn the flywheels off
digitalWrite(bc517Pin, LOW);

Leave a Reply