Minecraft Ore Lamp - Customizable Size and Pixel Density

Introduction: Minecraft Ore Lamp - Customizable Size and Pixel Density

My seven-year-old kid is obsessed with Minecraft, so I decided to build something related for him.
Looking for options, there's a cool lamp project from Dan J Hamer in Thingiverse, but after tweaking it a bit I decided to start my own project (you know, the "not invented here" syndrome).

The results are really cool! With one button he can switch to all the available ores (except coal, which I told him is just the lamp switched off).


  • 1x arduino board (Uno or Nano are fine)

  • 2x PLA filament (gray for the main body and translucid for the difussers). Other projects are using tracing paper instead of the translucid pla, and looks cool too.

  • 1 push-button

  • 1 300-500 ohms resistor (for the data input pin of the strip)

  • 1x 1000 µF capacitor (to protect the strip from sudden changes in corrent)

  • 1 led strip (a 5v and 1m/144leds in my case)

  • Typical maker materials (glue, dupont wires, self-solder connectors, M4 screws, etc)

Step 1: Download and Upload the Code to Your Board

Download the code from the github repository.

There's only a simple arduino sketch file, but the project has been created using the Platformio IDE.

If you are not using the Uno board, you'll need to change some parameter values inside the platformio.ini file

Step 2: Connect Everything

Couldn't been easier: power the board and led strip with a 5V USB cable, and connect the push-button and the strip input to the designated board ports.

Remember that to avoid damaging the strip, it's recommended to add a capacitor and a resistor to it's connection.

As you can see, the maximum corrent drawn is 1.2A, so you can connect the lamp to any decent usb plug.

Step 3: Download (and Edit If You Want) the Models

You can access the Fusion 360 project files from here or download the STL files from Thingiverse

I've used parameters to make easier for others to modify the models according to their needs, so it should be pretty easy for you to modify the size of the lamp or the pixels density.

For my needs, I made room in the pillar for the Arduino Uno and merged this base to place the board before creating the STL file.

Step 4: Print the Models

Just add supports :)

Also, you'll need to print 5x of the difussers. Two of them have to be cut to make room for the shade lateral supports.

Be the First to Share


    • Anything Goes Contest

      Anything Goes Contest
    • CNC and 3D Printing Contest

      CNC and 3D Printing Contest
    • Lamps Challenge

      Lamps Challenge



    Question 2 years ago on Step 1

    Great idea for a project. Im very excited to make it. I made a couple of changes to the 3D print. Im having problem getting to code to work though. All it does is slowly pulse the Diamond color, press the button, just restarts the same color pulse. Never changes color. Im using a genuine Arduino Uno and an Adafruit NeoPixel RGB 144led 1 meter strip P1507. Any idea as what my be wrong or point me in the right direction? Thank you!


    Answer 2 years ago

    Ooops... my apologies.
    The issue was solved in a hidden branch (along with adding the autosleep feature).

    I've merged it into master, and now your issue should be solved.


    Reply 2 years ago

    Thank you very much!


    Reply 2 years ago

    thx :)