Arduino illuminated sign

Nowadays led signs and banners are getting more and more popular, also their price is going down slowly, but personalized ones still have a spicy price, so Ive decided to make one by myself for less than 30$.

I wanted to lit up every character separate in order to make it look more interesting and professional, so I had to use a cheap and small Arduino Nano board.

Steps of building it:

  1. Brainstorming out the mechanical assembly
  2. Designing the layout
  3. Gathering needed parts
  4. Assembly

Component list:

1 x Arduino Nano
10 x N-channel Mosfet
120 - 130 x 5mm red LED
120 - 130 x 1/4w resistor
1 x project enclosure
1 x huge perfboard / dot pcb

#1 - Controller board

As you can see the schematic is quite simple. Leds from a single character are connected together in parallel to a mosfet. Why did I use those big ones? Because that is what I had laying around and smaller ones would be trickier to solder on  those perfboards.

#2 - Schematic of separate characters

After wiring up every character and of course those more than 120 leds with current limiting resistors, Ive started coding the Arduino. Every character is connected to one digital output of the microcontroller. As you can see everything is simple and easy to connect, but the most horrific and most sophisticated part was to design the layout of the characters, how should I space those leds. First Ive started designing in Eagle a layout, but you cant see how is going to look like in reality. After that I was playing around for days with perfboards and leds, soldering them in and lighting it up, to see a how does it look from distance. That was the problem.

#3 – under testing after finishing soldering

I have only tested out single letters, single characters can be easy to read, but when you write out a word which is made up of 10 letters, than the result is going to be something else. It`s not that easy to read from close, but from a proper distance it is quite nice, but not perfect.


And finally here is a short movie about how it works:


As a conclusion I think, the space between the characters is too small, and maybe that shiny black background even makes it worse. If I consider the price/benefit ration I can fairly say that it was worth to build it from scratch.


Github repo for the example code: