Introduction: RBG 3D Printed Moon Controlled With Blynk (iPhone or Android)

This is a 3D printed moon with a stand. Built with a RGB LED strip of 20 leds connected to a arduino uno and programmed to be controlled with blynk. The arduino is then possible to control via the app from blynk on iPhone or Android.

Step 1: Parts and Tools:

1x - ws2812b LED strip, i used a 1m 30led strip and cut out 20 leds for this.

1x - 3D printed moon, link to download from thingiverse:

1x - 3D printed moon stand, link from thingiverse:

1x - 3D printed LED strip holder, self made download the added zip file to get the file. You need to scale it to 1000%!

1x - arduino uno + cable

1x computer with network

Step 2: Building Process:

I started by putting tape on the led strip and attaching it to the led strip holder. Make sure to not cover any of the lights and also use non conductive tape when you attach it to the roll.

To make the stand for the moon more sturdy, I used some double sided tape and put some pressure for a few seconds and they held very well together.

The led strip with the led roll holder was put on top of the stand, I pushed the cables from led strip through the stand and connected it to the arduino. I also used some double sided tape to hold it in place.

How the cables are connected:

- Black cable to ground(gnd)

- Red cable to 5v from the arduino

- Green cable to pin 8, the code from the zip file will also use pin 8 + 20 leds.

I did not use any external power supply so i lowered the brightness used to the leds.

The arduino uno is a little big for this stand so i had to pull out the bottom layer on the stand and set the whole stand over a little box with some room underneath the moon.

I just put the moon over the roll, so it is possible to just lift up if that would ever be necessary.

Step 3: Progamming Arduino + Blynk App:

The program is mostly taken from blynk example page:

I used the zebra RGB control and a slider to set the brightness.

When you have set your auth code and uploaded the code onto the arduino, then you can start cmd if your on windows or Terminal on mac or linux link to a guide here:


<p>#include <br>#include 
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YOUR CODE HERE"; //set your code from the blynk app here
Adafruit_NeoPixel strip = Adafruit_NeoPixel(20, 8, NEO_GRB + NEO_KHZ800); // the 20 is for number of leds, 8 in the pin used at the arduino board
// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
  if (WheelPos < 85) {
    return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  } else if (WheelPos < 170) {
    WheelPos -= 85;
    return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  } else {
    WheelPos -= 170;
    return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  int brightness = param.asInt();
  int shift = param.asInt();
  for (int i = 0; i < strip.numPixels(); i++)
    strip.setPixelColor(i, Wheel(shift & 255));
    // OR: strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + shift) & 255));
void setup()
  // Debug console
  // Blynk will work through Serial
  // Do not read or write this serial manually in your sketch
  Blynk.begin(Serial, auth);
void loop()

Step 4: Final Pictures:

You can now control the color and the brightness of the moon with your phone. Also you see a much more detailed moon with the yellow/white lights on a lower brightness. But the colors look really good on the 3D printed moon.

Hope this helped somebody :)

Arduino Contest 2017

Participated in the
Arduino Contest 2017

LED Contest 2017

Participated in the
LED Contest 2017

First Time Author Contest 2018

Participated in the
First Time Author Contest 2018