Build the Sign Driver

We're going to power and control the neon LED strips with a Metro M0 Express microcontroller. The Metro M0, like all microcontrollers, is designed to power low voltage devices with a small current draw -- such as individual LEDs -- from it's digital output pins. We can't run high current devices such as solenoids, motors, and neon LED strips from the Metro M0's pins directly. So how can we do it?

No fear! The answer in this case is the Darlington driver!

The Darlington driver is a DIP chip with eight addressable Darlinton transistor pairs inside. By sending a small 3.3V control signal to one of the Darlington's input pins, it can switch on and off a high-voltage, high-current flow to it's paired output pin.

In fact, we use a Darlington driver on our Crickit boards to power the solenoids and electromagets and the like that you can plug into the Crickit's Driver ports!

Here's the breadboard diagram of our circuit. In it you can see, for example, the yellow wire running from the Metro M0's digital output pin 12 to the Darlington's pin 1 (input 01). When this pin 12 is sent high, the teal neon LED strip that has its ground plugged into the Darlington's pin 18 (output 01) will suddenly flow with 12V current and turn on!

The 12V current is supplied by the 12V DC power plug and then made available through the VIN pin on the Metro M0, rather than using the 3.3V or 5V pins.
Only plug the 12V DC power supply into the Metro M0's 2.1mm DC power jack, NOT directly into the VIN pin. Doing so can cause the board to overheat and possibly destroy the board.

Rather than building it on a breadboard, we'll solder the chip and circuit wiring to a Proto ScrewShield as shown here.

Note the two switch/LED pairs in the diagram used to denote the illuminated buttons we'll be using.


If you haven't done so already, solder together the Proto ScrewShield following these instructions.

Solder the Circuit

Solder the Darlington Driver to the ScrewShield


  • Place the chip on the ScrewShield as shown -- note the orientation of the chip, it is critical to have the half circle at the top of the chip facing left as shown
  • Bend the legs down as shown
  • Solder the legs in place

Power & Ground

Next, we need to provide power and ground from the Metro M0's VIN and GND to the Darlington's legs 10 and 9 respectively.

  • Place a small jumper wire from the GND strip on the ScrewShield to pin 9 on the Darlington as shown
  • Solder the wire in place -- note how the wire is bent over to contact the pin before soldering to the Darlington pin
  • Solder the other end of the wire to the GND strip
  • Clip any excess wire with diagonal cutters
  • Repeat this process for power, running a wire from VIN to pin 10

Digital Pins to Darlington Inputs

We'll trigger each of the transistor pairs in the driver by sending digital pins high on the Metro M0 using the following connections: (you can add more if you want to control more neon strips separately for animations)

  • D12 to Input 1
  • D11 to Input 2
  • D10 to Input 3

Solder the wires to the digital pins' holes as usual and then bend their other ends onto the Darlington's pins before soldering.

Output to Screw Terminals

Now, you'll solder jumper wires from the Darlington's output pins to the ScrewShield's W, X, and Y terminals. It is here that we'll connect the neon LED strips later through a cable.

  • Darlington Output 01 (leg 18) to Y
  • Darlington Output 02 (leg 17) to X
  • Darlington Output 03 (leg 16) to W

Power Output

The three outputs we just connected are for the ground wires of three neon LED strips. Now, we need a convenient way to share the common 12V line. We can do this by soldering a jumper from the VIN connection we made already at Darlington leg 10 over to the ScrewShield Z terminal.

Add the ScrewShield to the Metro M0

Now we get the very satisfying task of inserting the ScrewShield into the Metro M0! Just like that, all of the Metro M0's pins are connected to all of those screw terminals and to our pre-wired Darlington circuit!

Wire the Buttons

We'll use two buttons to control the sign -- an on/off latching button and a momentary button to control the animation of two of our neon LED tubes.

These buttons are special -- they each have an LED built into them. So, we'll wire them so that we have a nice little cable bundle per button for ground, digital input to the Metro M0 to read the button state, and digital output from a Metro M0 pin to light the LED.

We'll even solder in a 220 Ohm resistor inline with each button's LED power pin so the wires can be plugged directly into Metro M0 pins via ScrewShield terminals!

Wire the Red On/Off Button


  • Solder a jumper wire from the LED GND pin to the Switch contact to GND pin, this ground can be shared. There's no need in this case to run four wires to the board when three will do
  • Solder one end of a 220 Ohm resistor to the LED Power contact on the button
  • Solder a length of grey stranded wire to the other end of the resistor -- this is the wire that will connect to the screw terminal at D9
  • Add some heat shrink tubing to insulate the connections
  • Solder a length of black wire to the Switch contact to GND contact
  • Solder a length of blue wire to the Switch contact to digital pin contact
  • Add heat shrink to these two connections
  • You can optionally use a piece of wider diameter heat shrink to neaten up the base of the button as shown

Repeat this procedure for the yellow momentary button, this time with these color connections (to make it easier to follow the schematic above):

  • Jumper between LED GND and Switch contact to ground
  • Black to GND contact
  • White to 220 Ohm resistor to LED Power contact
  • Orange to Switch contact to digital pin

Connect Buttons to ScrewShield

Now you can insert the button wires into the ScrewShield screw terminals. Follow the diagram above and this drawing.  Note that you can twist the two black wires together and have them share a single GND terminal.

Four Wire Cable

We want a good way to connect the neon LED strips to the Metro M0 that is solid, secure, and polarized to avoid plugging things in the wrong way. Enter the 4-wire polarized cable set! Screw the wires of the female receptacle half into the W, X, Y, and Z terminals as shown in the schematic and the photo below.

The board circuit and wiring is complete, time to program it with MakeCode!

This guide was first published on Aug 10, 2018. It was last updated on Aug 10, 2018. This page (Build the Sign Driver) was last updated on Jun 16, 2019.