Simple Ambient RGB LEDs Lights With Visuino.




About: Computer Tech for 30 years, got interested in Raspberry Pis around 2012 and Arduinos in 2015. Always into Electronics and now creating Projects for others.

This little project is just something that was floating around in the back of my head for about 9 months and I can share it now, that I have a clear path to follow.

Should be relatively inexpensive to put together, here is what you'll need:

  • Some sort of small Arduino type board, like a Pro Mini or a Pro Micro.
  • A few Neo-Pixel type RGB LEDs on just single PCBs
  • About 6' of some wire, I used network cable that I salvaged, it has 8 strands and I only used a few of them.
  • 2 to 6 ping pong balls, from your local sporting goods store.
  • A few Male to something jumper wires, if you want to test your progress along the way.
  • Visuino and the Arduino IDE

Tools Needed

Soldering Iron, solder, diagonal cutters, wire strippers, hobby knife, hot glue gun, and USB cable for programming the Arduino.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Setting Up for Testing...

First, I wanted to test a single pixel with my board. So, I cut off the ends of a jumper wire, that are used for breadboards. Next soldered the 3 of them to one pixel.

Picture 1 shows the the connections. Orange is V, Yellow is the Data and Blue is GND

The Neo-Pixels and compatibles require 5V power, so, you should look for the 5V - 16MHz version of the Pro Mini or the Pro Micro. I tested the the Micro, due to the ease of connecting and uploading, the final version will be a Mini, because they are cheaper and I have more of them on hand. Also, of note if you are only driving about 2 to 4 of them you shouldn't need an additional power supply.

Picture 2 shows the connections on the Pro Micro side of things. Using Pin 2 for the Data.

Step 2: Testing and Setting Up...

So, I started testing a Visuino sketch with some simple components, first.

I added a Neo-PixelColorGroup.ColorPixel and then a Random Color Generator and a Clock Generator. Here, in Picture 2 you can see those components hooked up and this video shows the result. For my little mood ambiance RGB, that was going a little too fast and while I could slow it down it was still a little bit choppy for my vision of this.

For this test, I finally got some ping pong balls and then just cut an almost square hole, with a sharp hobby knife, but it had a rough edge on the last side I cut. Picture 3 shows the irregular cut-out, but I plan on hot-gluing it to the pixel PCB, so the odd shape won't show.

So, when you go to cut out the square hole, you want to line up the pixel and guess where to trace out the hole and just mark it with a fine/sharp pencil. [I use mechanical pencils for this kind of work, 0.5mm] As seen in Picture 5. Then just start scoring the surface with the knife until you get almost through, then carefully stick the point in and gently cut upwards so the piece doesn't fall into the ball. Picture 6 shows it placed into the hole, you might need to trim it a bit bigger so it fits in snuggly.

Step 3: Soldering Up the Pixels...

For the wire lengths here I choose them based on the width of my desk cabinet, which is about 3 feet. So, I cut my wires in half and will use the remaining amount to place the Arduino board so it is easily accessed.

When soldering these up, it's important to only have the iron on the pads for a minimum amount of time, about 3 seconds is normal and try not to exceed this without letting it cool down in between. In Picture 1, I first just added solder blobs to each pad on the DIN [data in] side of the first pixel. Then after letting it cool for about a minute, I apply the iron to each blob to add the wire to it. In Picture 2 you can see this is the finished result and I wrapped the 4th wire around the others to keep them in place while I soldered them.

Picture 3 shows the second pixel with the blobs of solder on the DOUT (data out) from the end, and this time I started on the DOUT [data out] and added the wires from the last pixel to it. Then in Picture 4, you can see the second pixel with both ends wired up.

Now we can hot glue the pixels to the ping pong balls. Pictures 5 & 6 show the hot glue, I tried to put it in the 'corners' so it would be the most stable.

Step 4: Setting Up the Sketch in Visuino...

So, in this first Visuino Step you'll need to open Visuino or Download it from here: and install it per the on-screen prompts.

Next, in the main window, you'll need to select the Arduino compatible boards that you will be using for this project. Picture 1 shows that I have the Pro Mini selected then click "OK"

Then you will want to to go to the Search box in the upper right-hand corner and type in 'clock' then select and drag the Clock Generator (Picture 2) and drag to the left of the Arduino board and space it away from it, as shown in Picture 3. The Clock generator will 'tick' the next component by whatever valuer we give it. So, next go to the "Properties" and find the "Frequency" option and type in, "0.1", (Picture 4) which will tick once every 10 seconds. This value can be changed later as you see fit.

Next, search for 'random' in the same search box above the components sidebar, (Picture 5) and find the 'Random Color' component (Picture 6) and drag it to your main window just the right of the 'Clock' component. See Picture 7 and connect it by dragging from the "Out" pin to the "Clock" pin on the 'Random Color'

Step 5: Setting Up the Sketch in Visuino... [continued]

Now well, continue adding the rest of the components, so search for 'Ramp' and drag, 'Ramp to Color Value'(Picture 1) on to the workspace to the right of the 'Random Color' that we just added. In the "Properties" for it find "Slope" and change it to "0.5" (Picture 2) this will be a gentle transition between the changes of colors. Then connect the "Out" to the "In" on the 'Ramp' component, please see Picture 3. This is optional, but I changed my Initial color to Purple, from the drop-down for "Initial Value"

Step 6: Setting Up the Sketch in Visuino... [continued With the Neo-Pixel Addition]

Next up is the Neo-Pixel component, search for "neo" and they'll be only one option here, Picture 1, so drag it down in between the 'Ramp' and the Arduino board. Now, double-click 6on it to bring up the "PixelGroups" window, and on the right-hand side find and double-click on 'Pixels'. (Picture 2) Now, 10 pixels will be added by default, but we'll change that now to 2, so with that window still open, go over to the "Properties" box and change "Count Pixels" to 2, see Picture 3. Now you can close "PixelGroups" and drag two connections from 'Ramp Out' to Pin [0] and [1] on the NeoPixel. See Picture 4. Then you can drag the final connection from the 'NeoPixel' to Pin B, in my case, on the Arduino Board, as in Picture 5.

Now upload your sketch via the F9 Key in Visuino and then upload to the board from the Arduino IDE with CTRL+U. Then you'll have a working version of this project too.

Step 7: Completion Video and Finished!

Play around with it, to see what else you can add to enhance this sketch, then let me know in the Comments.


LED Contest 2017

Participated in the
LED Contest 2017

Be the First to Share


    • Instrument Contest

      Instrument Contest
    • Make it Glow Contest

      Make it Glow Contest
    • STEM Contest

      STEM Contest

    7 Discussions


    2 years ago

    Looks great when you have enhanced the RGB module with different components in Visuino.

    2 replies

    Reply 1 year ago

    Not for now Kurt. I am busy with the design of the soldering station I am working with at the moment. A lot more work that I thought it would be.


    2 years ago

    Congratulations! Very nice and cool color transitions! Good luck with the contest! :-)

    1 reply

    Reply 1 year ago

    Thanks Boian, Your Ramp component made it transition wonderfully.


    2 years ago

    I did something very similar for an entire Christmas tree, I have 2 suggestions to help a bit.

    1) get a few inches of 1/4" square copper tubing and heat the end with a lighter/torch and use that to cut the hole in the ping pong ball. Its cleaner and much faster. i was able to do around 100 in 10 minutes.

    2) buy much cheaper ping pong balls (like these the cheaper ones don't need to have the writing scrubbed off, and have an actual seam on them so you don't get that dim band around the ball where they overlapped the shell to be smooth.

    cool to see this up here though using the same LED boards i used.

    1 reply

    Reply 1 year ago

    Thanks for the comment.

    I wrote this as a simple set of instructions, with tools in mind that everyone should have around the house. These ping pong balls won't be showing in the preferred setup; they will just be behind the back edge of a desk or cabinet, throwing their light upwards on to the wall, so the printing and the band don't matter that much. I just showed them in the video to show more color then just that on my walls.