Introduction: How to Make an Old-school Neon Street Sign

About: klaatu barada nikto

How to make a spectacular animated neon sign cheap!

Step 1: Get Inspired by Old Street Signs.

When we talk about neon signs, the night streets of Las Vegas come to mind with an infinite number of colorful neon advertising signs. There everything made of neon: billboards, stars, headlines, flowers, cowboys, Indians, dancers, drinks, guitars, and so on.

I decided to make my advertising sign in the spirit of past times, namely a neon cowgirl that advertises a beer pub =). I also thought it would be a good idea to add some animation effects driven by Arduino.

Step 2: Pick Up Neon Strip.

In fact, real neon signs are costly. Authentic neon lamps are gas - discharge, and consist of custom-bent glass tubes filled with gas. These lamps need a special transformer of low current and high voltage of tens of kilovolts to create an electric discharge in a gas. Such a neon sign requires serious calculations because the glow color of its neon lamps depends not only on the luminophore covering but also on the current and voltage. Besides, to figuratively blow a glass tube, you need a real craftsman along with equipment.

You can make the neon sign by yourself without specific skills using flexible LED light neon. The LED neon is an excellent replacement for the real one. It consists of simple or addressed LED strip encapsulated in a silicone or epoxy resin. This neon is cheaper, it does not require special working skills. Even if its glow not like a real neon has, it is still fascinating.

For this project, I used the 12V DC flex LED neon 8x16mm with a minimum cut length of 10mm from the local Arlight company. This form-factor of flexible neon is very common, and you can probably find an exact analogy in your local store.

Here is an example: Shine Decor 12V RGB Neon Light, Real Silicone 16.4ft Rope Neon with Dimmable RF Controller, IP65 Waterproof Cuttable Strip Lights,for Indoor Outdoor Decoration DIY Signboard

I bought several strips of different colors:

  • Yellow - 5m;
  • Warm white 3000K - 10m;
  • Blue - 5m;
  • White 5000K - 5m;
  • Red - 5m;
  • Amber - 5m;
  • Green - 5m.

Step 3: Design the Neon Sign.

Draw a sketch of your sign. Come up with a drawing, first on paper, then transfer it to your computer, using, for example, a CAD system. Imagine what your sign should look like.

I drew a cowgirl in a yellow hat with a green handkerchief. The cowgirl winks and raises and lowers her beer mug. When she raises her cup, the foam spills out a little. I also added the "SALOON" word in the upper right corner. For the "SALOON" word, I can add some visual effects too. For example, flashing of consecutive lighting.

  • Make a sketch consisting of lines-contours of your future neon strips.
  • The drawing should be as simple as possible but informative at the same time.
  • Use curved lines and splines. Try not to use sharp corners because you can't bend the neon strip along them.
  • The width of each line is equal to your neon's width. In my case, it is 8mm.
  • The length of each sketch line should be a multiple of the minimum cut length of your neon strip, in my case, it is 10mm. If you work in CAD systems the length of the curve is very easy to calculate.
  • Using flexible LED neon, do not allow the strips to intersect. When two strips intersect, only the upper strip lights up visibly at the intersection. If you need to create an intersection, cut one of the strips at this point. For example, take a look at the cowgirl's right winking eye.
  • Set colors for your lines. The colors should match the existing shades of LED neon.
  • Draw an contour for the base. Your neon should be attached to the substrate.

I attach the CAD sketch of my sign to this step.

Step 4: Transfer the Sketch to the Base.

Choose the material for the base of your sign. Then print out your prepared drawing and transfer it to the base.

For the base, I use wood because I attach the neon with ordinary nails.

As a base, I bought a sheet of plywood 1500x1500mm and 10mm thick. Then I printed the drawing on a home printer on several A4 sheets and glued them together with duct tape.

I transferred my drawing to the plywood, little by little, cutting through each of the strip contours.

Step 5: Cut the Outline.

When the drawing is transferred to the base, you can cut it along the contour. I used a jigsaw to cut plywood. Use small blades for wood for figure cutting.

Step 6: Try on Neon Strips.

Cut off all the neon strips into pieces according to your drawing.

Then, begin the installation of neon pieces to the base. I fix the strip pieces with nails. Nails are squeezing the neon from the sides. Nails should not be hammered to the end but only provide a reliable fastening and the necessary bend (pic. 3). Points, where nails are hammered, are similar to the forming points of splines on your drawing.

At this step, the neon is not permanently installed. You only prepare the attachment points.

I used headless bronze nails, 1,2mm thick, and 20mm length. I designed a large sign, so I put almost a thousand nails in the base =). You can figure out how to automate this task or entertain yourself so that it is not dull.

Step 7: Paint the Base.

Prepare the plywood base for painting. Remove neon strips leaving the nails. For each neon strip on the sign, find some place at the end where the wires should be. Drill through the plywood base in these places. (pic. 1). I made 3mm holes.

Fix chips and holes with sandpaper (pic. 2) and wood putty (pic. 3). Cover the base with a primer (pic. 4-7).

Finally, paint it black. I used acrylic spray paint.

Step 8: Solder the Wires.

While the paint dries, you can solder the wires to the neon pieces (pic. 1). Examine your LED strip and find out where is the positive and negative contact (pic. 2). You can use any mounting wires (pic. 3), as long as they are long enough and not too thin.

After soldering, the end faces of neon strips should be sealed from rain and dirt. This is necessary if you plan to use a sign on the open air.

The end face of the neon strip can be sealed in several ways. You can use the original silicone end caps from the manufacturer (pic. 4-5). Usually, these cups are sold together with neon. As for me, these cups are too bulky and stand out. I sealed the ends with transparent hot glue (pic. 6).

Step 9: Install Neon Strips.

The base is painted neon is sealed wires are soldered. Now the neon strip pieces can be installed in the nails mounts. Insert the wires into the holes in the base.

Step 10: Pick Up Electronics.

What kind of electronics you need to control the sign?

1) You need an electronic DC power switch array. For animation or effects, it is necessary to enable and disable individual elements of the sign. I bought two Octofet modules by Amperka (pic. 1); I'm a big fan of them.

Amperka Octofet 8 Channels MOSFET Switch Array for Arduino and Raspberry Pi/P-Channel, SPI, 3-5 Volts

Each Octofet has eight channels that can be controlled independently. The maximum supply voltage of the Octofet is 30V, the maximum current is 3A for a channel. This is more than enough to switch the parts of my sign. It is simple to control Octofet using an Arduino via SPI or a parallel interface.

2) You need a power supply for the LEDs. My LED neon is powered by DC 12V. The power supply unit should be selected with a current consumption margin. To my calculations, the entire sign consumes about 7-8A. For the power supply, I used an AC-DC transformer from 220V to 12V with a maximum current of 12A (pic. 2).

MEAN WELL LRS-150-12 150W 12V 12.5 Amp Enclosed Switchable Power Supply

3) A microcontroller. In the DIY world, it's Arduino. I used an Arduino UNO (pic. 1).

Arduino Uno Rev3

You can use absolutely any board such as Micro or Nano or even the microcontroller chip itself with minimal interference. The computing power, ADC, DAC, lots of pins are unnecessary in this project. Also, UNO is very suitable because it has the onboard step-down voltage converter from 12V to 5V.

Step 11: Draw the Wiring Scheme.

Here is what my connection diagram looks like.

Power management

The LED neon works from 12V DC. The power transformer converts AC 220V from the grid to DC 12V. The 12V bus is connected to:

  • The external power supply (VIN) of Arduino;
  • Those parts of the sign that are not used in animation;
  • Power supply pins (VIN) of two Octofet modules.


Octofet modules are controlled via a simplified SPI interface. These modules are connected to the microcontroller by four wires:

  • CS - chip select; D3 pin of the Arduino;
  • MOSI - master output slave input; pin D11 of the Arduino;
  • SCL - clocking line; D13 pin of the Arduino;
  • GND - ground; Should be linked with Arduino GND.

The Octofets are connected to each other by the daisy chain principle. Two chained modules form a single module with 16 channels.


In total, I can operate 16 channels. That's how I assign neon parts to Octofet channels;

  • CH0 - "S" neon letter;
  • CH1 - "A" neon letter;
  • CH2 - "L" neon letter;
  • CH3 - first "O" neon letter;
  • CH4 - second "O" neon letter;
  • CH5 - "N" neon letter;
  • CH6 - open eye neon parts;
  • CH7 - blink eye neon parts;
  • CH8, CH9 - beer mug down neon parts; This part uses a lot of LEDs. Channels are combined to reduce the load on the transistors and reduce the heat;
  • CH10 - not used;
  • CH11, CH12 - beer mug up neon parts; This part uses a lot of LEDs. Channels are combined to reduce the load on the transistors and reduce the heat;
  • CH13,CH14,CH15 - not used.

Step 12: Make Electronics Housing.

I placed all the electronics in the ABS plastic waterproof enclosure (Fig. 1) and used cable entries for wires. The enclosure is strongly recommended if you want to use the sign in the open air. I made the substrate out of epoxy fiberglass used for PCBs.

Try on the electronics enclosure on the back of your sign. Figure out how the wires should fit into it and how the electronic modules should be located. Drill holes to the housing in the selected places and install the cable entries.

Step 13: Wiring Works.

Fully connect all the wires according to the scheme and arrange them at the backside of the sign. I used cable ties and wood screws to fix the cables and housing to the base.

Step 14: XOD and Libraries.

In all my projects with the Arduino microcontrollers, I use the XOD visual programming environment. XOD is convenient for those who are just starting their way in electronics and do not know any programming languages. Using the visual IDE, you can program your neon sign with minimal skills.

The full code of this project is available at the library:


To view the XOD patch for my neon sign, add this library into your XOD workspace. You can use it as a template for your program.

For the full operation, you also need the XOD library to work with the Octofet module:


This library contains all the necessary nodes to start working with the switcher module.

Step 15: Program the Sign Animation.

Take a look at the main patch of my sign.

There are three nodes in the gabbapeople/neon-saloon library. Each of them is responsible for managing a particular part of the picture. These composite nodes are built on simple counters and square wave generators. Besides, the octofet-16 quickstart node from the amperka/octofet library is used to control two modules connected in a daisy chain.

saloon node
This node controls the neon "Saloon" word. At the output, it has six boolean pins corresponding to the letters of the "Saloon" word. The idea is simple if the output pin value is 1(true), then the letter lights up. If the value is 0(false) then the letter turns off. Node has four functions controlled by pulse signals:

1) Light up all letters.

  • ALL_U(all up) - the pulse signal on this pin turns all boolean outputs to true;

2) Turn off all letters.

  • ALL_D(all down) - the pulse signal on this pin turns all boolean outputs to false;

3) Blink with all letters;

  • BLNK(blink) - the pulse signal on this pin starts a blinking cycle with all letters;
  • BN(blink number) - a number how many times to blink;
  • B_Ton - during the blinking process, the time in seconds the letters light is on.
  • B_Toff - during the blinking process, the time in seconds the letters light is off.
  • B_D(blink done) - emits a pulse when the blinking cycle is completed.

4) Sequentially light all letters;

  • ACC(accumulate) - the pulse signal on this pin starts the sequential lighting of all letters.
  • A_Ton - during the sequence, the time in seconds that should passed to light up the next letter;
  • A_D(accumulate done) - emits a pulse when the last letter in the sequence lights up.

eye node

This node winks with the eye. The EYEO boolean output pin lights the opened eye neon parts. The EYEC boolean output pin lights the winked eye neon parts. Node has three functions controlled by pulse signals:

1) Open the eye.

  • O(open) - the pulse signal on this pin turns the EYEO boolean output to true and the EYEC output to false;

2) Close the eye.

  • C(close) - the pulse signal on this pin turns the EYEO boolean output to false and the EYEC output to true;

3) Blink with the eye;

  • BLNK(blink) - the pulse signal on this pin starts a blinking cycle for the eye;
  • N - a number how many times to blink;
  • Ton - during the blinking process, the time in seconds the eye is open;
  • Toff - during the blinking process, the time in seconds the eye is closed;
  • B_D(blink done) - emits a pulse when the blinking cycle is completed.

beer-mug node

This node raises and lowers the mug. It is similar to the eye node. Node has three functions controlled by pulse signals:

1) Raise the beer mug.

  • U(up) - the pulse signal on this pin lights the raised mug and turns off the lowered mug;

2) Lower the beer mug.

  • D(down) - the pulse signal on this pin lights the lowered mug and turns off the raised mug;

3) Raise the mug and put it down (blink with the mug);

  • BLNK(blink) - the pulse signal on this pin starts a blinking cycle for the mug;
  • N - a number how many times to raise and lower the mug;
  • Ton - during the blinking process, the time in seconds the mug is up;
  • Toff - during the blinking process, the time in seconds the mug is down;
  • B_D(blink done) - emits a pulse when the blinking cycle is completed.

Sequence of effects

The final algorithm is set by a sequence of pulses. I chose the following series:

  1. The program starts and waits for 3 seconds;
  2. The eye is open, the beer mug is lowered, the "SALOON" is turned off;
  3. Start the loop.


  1. The "SALOON" starts to light sequentially;
  2. A second after the "SALOON" lights completely, the eye winks one time. The "SALOON" blinks one time;
  3. A second after the eye winks, the beer mug rises and lowers one time. The "SALOON" blinks one time;