LED Cube is an application which uses the FastLED Arduino library to create cool lighting effects on the surfaces of a cube. It is available as an Android app on the Google Play Store and as a web app hosted on this server.
Note: I wouldn't classify the LED Cube as a beginners project, so if you're not familiar with WS2812 LEDs, ESP32 processors or electronics in general, you should probably not attempt to make an LED cube. Start with simpler projects to understand the basics, then after gaining some knowledge and experience, tackle the LED cube project. The internet is full of beginner LED tutorials that can help get you started. Get some of those under your belt, then come back to the LED cube project.
<legalese>Caution: Although the voltages and currents associated with the LED cube are generally pretty safe, nothing is foolproof and any number of things can go wrong. I make no warranty that this "how-to" will work for you, and assume no liability what-so-ever if something bad happens if you attempt it.</legalese>
To build an LED cube you'll need a 3D printer or access to one of the many on-line 3D print services, an ESP32 microprocessor, (5) 8x8 WS2812b LED panels and other sundry electronic components.
To wire everything together you just need to connect a 5V power supply (I used an old cell phone charger) to all the components, and connect five of the ESP32's GPIO to drive each of the WS2812 panel's Din pin. I used the sixth 74HTC367 channel to drive a P-channel MOSFET, which controls power to the panels, but that's optional. I also included a tilt switch, which can be used to bring the ESP32 out of deep sleep mode by flipping the cube upside down. Or you can just use a momentary push-button switch for that function. The schematic for the circuit I built is here.
I highly recommend reading the Adafruit Neopixel Uberguide, which has some essential tips for connecting microprocessors to WS2812 LEDs. Be especially mindful of power supply requirements, and the use of decoupling capacitors and noise suppressing resistors on the data lines. It will save you a lot of headaches.
With all the wiring done and tested, glue the appropriate LED panel to each of the cube's five sides (on the inside, facing outward).
This section gives a quick overview of the LED cube's network setup. Please see the User Guide for details.
By default when the LED cube is plugged in it runs a predefined sequence of patterns and color palettes. Each effect runs for 30 seconds and the cube will eventually go to sleep after 30 minutes. Wake the cube by flipping it upside down then right side up, and the process will start over again. If you're satisfied with this default behavior, you don't have to do anything more.
If, however, you'd like more customization or access to the cube's more advanced features, you'll need to go a bit further and connect it to your local WiFi network by telling it your networks SSID (i.e. the network's name) and password. The kicker is, since the cube has no keyboard for input, we can't just type the information into a configuration screen like you would with a computer or cell phone. Hmmm...what to do?
This is the "old" method of configuring the WiFi settings. It works, but it's kind of clunky, involving some network gymnastics that can be a bit overwhelming for a padawan learner. We'll use your cell phone to connect to a special private WiFi network that the cube creates, then enter your home WiFi credentials into a web app on your phone's web browser. Here's what to do:
Whew! That was a lot. Fortunately, the cube will remember your home WiFi credentials, so this is generally a one-time procedure. You won't need to go through this rigamarole again unless your home WiFi setup changes.
This is the "new" method of configuring the WiFi settings. It works, but is also kind of clunky, but less clunky than the captive access point method. We'll use a bluetooth terminal app to enter your home WiFi credentials. Here's what to do:
Whew! That was a lot. Fortunately, the cube will remember your home WiFi credentials, so this is generally a one-time procedure. You can delete the Bluetooth Terminal app from your phone/computer, since you won't need to go through this rigamarole again unless your home WiFi setup changes.
OK, OK, the two previous ways of configuring WiFi were muddled chaos. But in a good way. :) This is the "new new" method of configuring the WiFi settings that was introduced in LED Cube v2. No need for captive WiFi nonsense or bluetooth terminal apps. We'll just use the new "Settings" feature in the LED Cube app. Here's what to do:
Fortunately, the cube will remember your home WiFi credentials, so this is generally a one-time procedure. You won't need to go through this rigamarole again unless your home WiFi setup changes.
Once connected to your home network you can use the accompanying LED Cube Android/Web app to adjust the cube's behavior.
This section gives a quick (but rather old) overview of how to use the LED Cube app. Please see the official User Guide for the most up-to-date instructions.
Now that the cube is connected to your home network, you can use either the LED Cube web app or Android app to control it. You can install the Android app from the Google Play store or simply point your web browser here to use the web app. The app looks like this:
Arrangements let you control the patterns and color palettes that are displayed. An arrangement is a combination of one pattern (the sequencing of the LEDs) and one palette (a set of colors). By default there is one arrangement already created for you, which is the Outward pattern paired with the Rainbow palette. You can add more arrangements by clicking the Add button.
After making changes in the app, you must click the Send button to modify the cube's configuration. This will send the app's current settings over the local WiFi network to update the cube.