LumiVoxel

Project Functional Description:

Project Overview

The goal of this project is to develop an 8×8×8 RGB LED Matrix Cube capable of displaying 3D triangle meshes imported from an iPhone application. The LED cube will consist of 512 individually addressable RGB LEDs, controlled by LED driver ICs that communicate with a microcontroller via a serial interface. The microcontroller will receive 3D model data and transformation commands from the app via Bluetooth Low Energy (BLE), process the data, and then drive the LEDs to display the transformed object.

This system will allow users to interact with the displayed 3D model through software-based transformations in the iPhone app and hardware-based controls using physical knobs. The microcontroller firmware will handle rasterization, voxelization, and affine transformations before rendering the object on the LED cube.

Key Components

1. Microcontroller & Firmware

  • Handles Bluetooth communication, 3D model processing, and LED control.
  • Converts 3D triangle mesh data into a voxelized format for LED visualization.
  • Uses matrix transformations to apply rotation, scaling, and translation in real-time.
  • Communicates with LED driver ICs to control individual LEDs.

2. RGB LED Cube (8×8×8 Matrix)

  • Contains 512 RGB LEDs, controlled using PWM for color blending and brightness adjustments.
  • Driven by LED driver ICs communicating with the microcontroller over serial protocols.
  • Displays voxelized representations of 3D models.

3. iPhone App

  • Allows users to import 3D models (STL/OBJ) and preview them before sending data.
  • Sends Bluetooth commands to the microcontroller to load models and apply transformations.
  • Provides sliders and UI controls for real-time adjustments (rotation, scaling, brightness, and hue) and sends the transformations to the microcontroller.

4. User Input (Knobs & UI Controls)

  • Physical rotary knobs enable manual brightness adjustment of the displayed object.
  • Sliders and buttons in the iPhone app provide fine-tuned controls over hue, brightness, and scale.

4. Bluetooth Communication (BLE)

  • Uses BLE GATT services to send 3D model data and transformation commands.
  • Ensures low-power wireless communication between the iPhone and the microcontroller.

5. Power System

  • The system operates on a 12V DC input, which is stepped down using a DC switching regulator.
  • The power supply provides three distinct voltage domains:
    • 3.3V for the microcontroller and Bluetooth module.
    • 3.8V for the blue and green LEDs.
    • 2.8V for the red LEDs, which have a lower forward voltage.

3D Model Processing & Transformation Pipeline

The process of rendering and transforming a 3D model involves multiple computational steps. The pipeline is as follows:

1. Model Import & Transmission

  • The iPhone app allows users to select a 3D model (STL/OBJ) from files.
  • The model is parsed and voxelized into an 8×8×8 matrix using grid-based sampling.
  • The model data is transmitted via BLE to the microcontroller along with any transformations.

2. Data Reception & Processing

  • The microcontroller receives model data and performs additional transformations if required.
  • It maintains an active state machine to handle different operational states, such as:
    • Idle (Waiting for data)
    • Processing (Transforming the model)
    • Rendering (Updating the LED display)
    • Standby (Power-saving mode)

3. Rasterization & Voxelization

  • Since the LED cube operates on a voxel-based grid, the triangle mesh must be converted into a voxelized representation.
  • The microcontroller computes intersections between the triangle surfaces and the voxel grid, determining which voxels should be illuminated.

4. LED Cube Rendering

  • After transformations, the microcontroller updates the LED matrix by communicating with LED driver ICs over a serial protocol (SPI).
  • The LED brightness and color are controlled using PWM signals.

Computational Challenges & Optimization Strategies

Microcontroller Processing Limitations

  • 3D transformations (rotations, scaling, translations) require floating-point arithmetic, which can be computationally expensive for a microcontroller.
  • To optimize performance:
    • Reduce BLE transmission size by sending only transformation parameters rather than entire voxelized models.

App-Side Processing

  • The iPhone app performs initial 3D model parsing, voxelization, and transformation previews before sending model data and transformations to the microcontroller.
  • This ensures both the app and the device are displaying the same thing.

Power Management & Voltage Regulation

Input Power Source

  • The system is powered by a 12V DC input from an external power adapter.
  • This is stepped down to required voltages using a synchronous step-down converter.

Voltage Domains

  • The following voltage levels are required:
    • 3.3V – For the microcontroller and Bluetooth module.
    • 3.8V – For the blue and green LEDs.
    • 2.8V – For the red LEDs.

Mechanical & Structural Design

  • The LED cube must be structurally stable while ensuring minimal light reflection and refraction.
  • Initial plans considered using acrylic layers but were discarded due to excessive light refraction.
  • Instead, we opted for solid, dark-colored plastic rods to maintain light clarity and structural integrity.
  • The cube will be soldered to the base PCB, with all LEDs, ICs, and wiring integrated for compactness.
  • The PCB will be enclosed in a 3D printed box to contain all the electronics

iPhone App Interface

  • The app will be designed using SwiftUI for a modern, responsive UI.
  • Core functionalities include:
    • Importing 3D models (STL, OBJ).
    • Bluetooth pairing and connection status display.
    • Real-time model transformation controls.
    • Sliders for adjusting brightness, hue, and scale.
    • Reset and home navigation buttons for user convenience.

Conclusion

This project aims to seamlessly integrate hardware, firmware, and software to create an interactive 3D visualization system. By leveraging Bluetooth connectivity, real-time 3D transformations, and efficient LED control, we will provide users with an immersive and dynamic LED display experience.

Project Specific Design Requirements (PSDRs):

  1. PSDR #1 (Hardware): The microcontroller must be capable of individually controlling all 512 RGB LEDs in an 8×8×8 LED matrix using an LED driver IC and a multiplexing scheme to efficiently manage power and data transmission.
  2. PSDR #2 (Hardware): The microcontroller must communicate with a Bluetooth Low Energy (BLE) module over a Serial Peripheral Interface (SPI), allowing for reliable wireless transmission of 3D model data and transformation commands from an external device. The communication must be bidirectional, enabling both command reception and status feedback.
  3. PSDR #3 (Hardware): The system must take a 12V DC input and step it down into three distinct voltage levels using a DC-DC switching regulator. 3.3V for the microcontroller, Bluetooth module, and logic circuits. 3.8V for the green and blue LEDs. 2.8V for the red LEDs, accounting for their lower forward voltage.
  4. PSDR #4 (Software): The microcontroller firmware must be capable of performing affine transformations (rotation, scaling, and translation) on 3D triangle mesh data received from the BLE module. The transformed mesh must be rasterized into a voxelized 8×8×8 grid.
  5. PSDR #5 (Software): The iPhone application must provide a graphical user interface (GUI) that allows users to import 3D models, apply transformations (rotation, scaling, translation), adjust brightness/hue, and send commands to the microcontroller via BLE. The app must ensure that transformations performed on the phone are replicated in real-time on the LED cube by sending transformation data to the microcontroller, providing users with interactive feedback.