Electroleaf: Nanoleaf-inspired wall decoration / lamp. Powered by an Arduino and controlled over Bluetooth from a custom Android app

After seeing the 3D print designs from Akyelle on Thingiverse I wanted to see if I could make a version which could be controlled from a smartphone over Bluetooth.

I had code for controlling addressable WS2812B LEDs / Neopixels since from previous lamp projects but in this case that wasn’t enough. Code for controlling the LEDs over Bluetooth (HC-05 Bluetooth module) as well as some info on how to make an app that could talk to it was also needed. In the end I used HowtoMechatronics excellent guide on Bluetooth and Arduino apps for that part and combined it with the lamp code to create the below

The modular lamp parts are printed on a Prusa i3 MK3s in black and white PLA. Each LED is soldered together with its neighbor – laborious work as each has 6 connectors (5V, GND, Signal in/out on each end). Currently 6 panels with 9 LEDs each means 342 soldering points just for this small size version 🙂

Wiring diagram

Breadboard schematic showing the wiring and components

Links to resources

A note on programming the Arduino: Please disconnect the TX and RX leads from the Arduino board when programming it or the Arduino sketch download will fail

Android app

The app is made almost exactly according to HowtoMechatronics guide but with some minor changes. If the code for the Arduino is used without any major modifications it’s possible to simply download and use the app as-is from here: link

However, I’d highly recommend creating your own using MIT App Inventor as it’s pretty easy when following the guide. A couple of screenshots of the process are included below for reference but I won’t duplicate the work done in the HowtoMechatronics guide.

The UI layout

The app logic

That’s it 🙂 Have fun creating your own lamps. As someone said: “Why buy something when you can build it for three times the cost?

Minecraft ore lamp

This is a 3D printed lamp in the shape of a Minecraft ore block. Powered by an Arduino Uno and four Neopixel LEDs. Model from Thingiverse: link

The button on top will step through different ore types:

  • Redstone
  • Emerald
  • Gold
  • Lapis Lazuli
  • Diamond

A final button push will turn it off.

The design on Thingiverse only contained code for RGB LEDs. In case somebody wants to use Neopixel (WS2812B) LEDs instead, the code for this project has been uploaded to Github: https://github.com/jonas-werner/minecraft-ore-lamp

Since the Neopixel LED’s are very bright I made a dome-shaped diffuser of transparent PLA. The sides are made of painted white PLA (brand: Priline) and the “windows” are transparent PLA. To give it some stability and to easily be able to mount / remove from the Arduino I used a prototype board to create a “hat” for the Arduino. That way it can easily be detached if required.


Some more pics of the finished cube