Coobie V2 - a Web-Controlled 8x8x8 RGB LED Cube

by michaelangelo4489 in Circuits > LEDs

2618 Views, 36 Favorites, 0 Comments

Coobie V2 - a Web-Controlled 8x8x8 RGB LED Cube

coobie.jpg
WhatsApp Image 2024-01-02 at 17.25.20 (1).jpeg
WhatsApp Image 2024-01-02 at 17.25.20.jpeg

Introduction


Greetings, nerds! We are a team of three talented students of BINUS University consisting of Michael Angelo Chandra (2540131481), John Lukito (2540124223), and Johevin Blesstowi (2502036262). We are thrilled to announce our second iteration of ESP32-based 8x8x8 RGB LED Cube by the name of Coobie V2.


Why we create Coobie


These days, three-dimensional representation (3D) is popular. 3D representation can be found in cinemas, digital modelling, AR, and VR. We are currently moving towards a world where the boundary of dimension is increasingly being exceeded. One instance where 3D is not widely implemented is display. The technology behind digital display is steadily developing, moving from cathode ray tube (CRT) to LCD to OLED, where the resolution, colors, and viewing angle is getting better and better. It increasingly blurs the line between virtual and physical world. However, nothing is as mesmerizing as being displayed in more dimensions. Where the world has seen a masterful implementation of 3D display in drone swarm, we aim to develop a more portable, as mesmerizing and showy, albeit less sharper, laymen-controllable 3D display in the form of Coobie V2, the web-controlled 8x8x8 RGB LED Cube.


What to develop


In the last development phase, we developed Coobie V1, an app-controllable 8x8x8 RGB LED Cube. Coobie V1 is larger, has many manually-connected wires, and is not portable enough to be carried around. It is also fragile because the controller PCBs are not being stuck to the wooden platform. All the PCBs are also manually hand-etched, because it is a high-frequency device, it is not possible to avoid signal interference in a manually-manufactured PCB. Do check this version of Coobie in the link below.

https://www.instructables.com/ESP-32-Based-8x8x8-RGB-LED-Cube/


Therefore, in this second iteration, we aim to develop a more portable, more stable, and sturdier version of Coobie V1. It will also be controllable from a proprietary website, where users of all ages can create their own picture, pattern, or animation with imagination being their only limit. To achieve this, the Coobie V2 will have:

  • All double-layer PCBs done by JLCPCB, and connected with headers and spacers
  • Full acrylic enclosure
  • 2-cm LED to LED distance for sharper resolution

Supplies

Components needed:

  • 1 pcs ESP32-S3
  • 1 pcs TXS0108 Logic-Level Converter
  • 8 pcs IRF9540 MOSFET
  • 8 pcs 100 Ohm THT resistors
  • 1 pcs 1k Ohm resistor array
  • 550 4-pin RGB LEDs (+10% in the case of defects)
  • 100 meters of bare copper wire
  • 1 pcs
  • 12 pcs SM16126D SMD IC chip
  • 12 pcs 100 Ohm 603 SMD resistors
  • 1 pcs SN74HC595 Shift Register
  • 1 pcs ULN2803 transistor array
  • 1 kg of PLA+ filament for making jigs
  • Lots of female & male headers

Test the LEDs

Before doing any kind of soldering or connecting, first and foremost, test the each of the LED if each color turns on properly. Any defects such as not turning on or as rudimentary as switched colors are not prohibited. Make sure the LEDs are all correct in light and colors or an excruciating burden awaits.

Bend the LEDs Using Bender Jigs

WhatsApp Image 2024-01-08 at 09.44.04.jpeg
WhatsApp Image 2024-01-08 at 09.40.58.jpeg

Later, we should bend each pin of the LEDs like so. To bend the pins in a structured, consistent way, we need bender jigs. Each hole in the jig should be planted with 1 mm metal stick as a bending reference for the LED pins. Bend each pin carefully and correctly, simple mistake can and will cost a lot of time. Note that the common-anode pin should be bent perpendicular to the other pins, see pictures in the fourth step for better comprehension.

Downloads

Measure, Cut, and Straighten Wires

Measure 20 cm of wire then cut it, straighten the wire using hand drill holding the wire on one end and plier holding the wire on the other end. Do this for as many time as the amount of wires needed. Store mindfully as it can get bent easily with accidental damage. If you want to store the wires for more than three days, it is best to store them in air-tight containers or the wires will get oxidized thus you need to sand it before using it so it can be soldered easily.

Solder the LED Matrix Using Solder Jigs

WhatsApp Image 2024-01-08 at 10.11.15.jpeg
WhatsApp Image 2024-01-08 at 10.11.04.jpeg

First, we create the solder jigs. The solder jigs should be able to hold the LEDs tight enough but not too tight that it is hard to release. It should also have enough gaps for soldering each pin of the LEDs. Print the attached STLs or create your own using Fusion 360 or any app of your preference. As this important step takes long, it is recommended to fit the printer with as many tiles as you can so you can proceed faster. Using more than one printer, if you have the privilege, is also recommended


Second, put all bent LEDs on the solder jig. Common-anode pin should face downward. Make sure it is all in the correct order and placement, then insert the straightened wires into each of the pin. Solder each pin carefully so you do not accidentally melt the PLAs. We suggest using flux-cored solder so you can solder quick without manual flux-ing. There will be a lot of (solder) smokes so you need fan to eradicate the smokes.


Lastly, having done all the soldering, release the LED layer out of the solder jig. Do this carefully so you do not accidentally break the structure. It is very, very recommended to take precautionary measure to check all the solder connections AND the LED colors with power supply. Turn the power supply to 5V and connect the positive node to the common anode of the layer and the ground node with 100 Ohm resistor then check each color wire. Do this step for every finished layer. You do not want to disassemble a fully assembled 8x8x8 cube when the fourth-layer's fifth-column's fourth-row's LED somehow fails.

Prepare the PCBs

WhatsApp Image 2024-01-08 at 16.25.33.jpeg
WhatsApp Image 2024-01-08 at 16.26.14 (1).jpeg
WhatsApp Image 2024-01-08 at 16.26.14.jpeg

First phase in PCB assembly is to test the manufactured PCB. use a multimeter set in continuity mode and with the PCB design files as reference, test for continuity on all traces. If all goes well, we can move on to soldering the SMD components. When soldering the SMD components, it is recommended to use lots of flux and a fine tip soldering iron for better precision. In this phase, please solder the LED Driver ICs first, then the smd resistors on the other side of the board. For orientation and part number refer to the schematic. Next, clean up the board using isopropyl alcohol and a toothbrush then let it dry before continuing to solder the through-hole components starting from the shortest vertical height.


For through hole soldering, just follow the schematic for part number and orientation of the parts. starting from the resistors, transistors, and the capacitors. Before finishing soldering the headers, it is best to test-fit them with your PCB spacers first


After fitting and verifying the headers can make good contact between the boards, proceed to solder the headers in place and re-verify the connection with a multimeter in continuity mode.


Lastly, to finish off the build, mount the LED matrix into the LED driver board and solder it in place while keeping it level


Do check the following link to download the gerber files.

https://drive.google.com/drive/folders/1oLyCkb-l23bH4eG3X1sHvSUWTezAF0uS?usp=sharing

Upload the Firmware, Run the App, Animate on Website!

WhatsApp Image 2024-01-09 at 16.13.38.jpeg

Setting up your computer with Visual Studio Code with PlatformIO extension. Upload the code in this repository.

https://github.com/JohnLkt/Coobie-V2

Do not forget to change the credentials.h to your WiFi's SSID and Password as the ESP32-S3 requires hotspot to connect to the firebase cloud backend.


For the app, make sure to have Flutter and its dependencies installed on your computer to run the mobile app.

https://github.com/michaelAngelo1/ledcubeapp


Connect to USB port of your phone, make sure to turn on USB Debugging on Settings > Developer Mode, then type flutter run on the terminal. The app is configured to run on Android only hence running the app on iOS may require some configurations to be done.


Creating new pattern or animations yourself is also possible through a proprietary website. We created this website using NEXT JS and ThreeJS that connects to the cloud backend. This website is an innovation never done before in the grand scheme of LED Cube. Through this website, anyone can create their own pattern, animation, anything they can think of that is better represented in 3D. Do check this website on link below.

https://led-cube.vercel.app/

Beautify and Finalize

WhatsApp Image 2024-01-09 at 16.08.46.jpeg

As beautiful and astonishing as this cube goes, it still needs an enclosure. Full acrylic enclosure is what we opted to use. We designed our own acrylic case and the standoff which can be downloaded on the attachment. The acrylic case has a thickness of 4 mm and is meant to be laser-cut. The standoff is for holding the acrylic together and is meant to be 3D printed in PLA+ with 20-percent infill. This is the final step and we wish you a very good luck making this.


Attached is a demo video in Indonesian. Do check if you want to see how it performs.

https://drive.google.com/drive/folders/1DClqSqciM4UF_pMfNyYcAcTGUvFzNAN6?usp=sharing