LEDsign [2020]

Concept

This is my latest project that I began in the middle of 2020 and completed in early 2021 (which equates to roughly 3-4 months of total development time).

LEDsign is a two part project: one hardware and one software.

The hardware is an Arduino controlling five 8x8 matrix RGB LED panels configured to make a cube shape. The LEDs are individually addressable and can be customized by a user using the Bluetooth connected Android application.

This Android application allows the user to customize the hardware cube by having individual control of each side's 64 RGB LEDs. The user can apply all sorts of effects such as scrolling text, color fade, theater chase and more.

Features

The project features an Arduino Uno housed in a frame I built out of a few K'Nex pieces. Connected to the Arduino is an HC-06 Bluetooth module and five WS2812B RGB LED panels. These panels are arranged into a cube shape around the K'Nex frame. I've then written some Arduino code to be able to interact via Bluetooth with the Android application that I've also built. Most of this project's functionality and user interaction occurs with the app and its features are:

    • Simple and intuitive UI for building or editing an effects list

    • Instant effect previewing with the built-in 3D preview (with its own set of touch controls)

    • Save and load the customized effects lists (called profiles) from system storage

    • Quick Bluetooth connectivity between application and Arduino

    • Upload a profile to the Arduino with the click of a button

    • Customizable application preferences

    • Help section with both written and video instructions on how to perform any in-app task

    • About page with list of all external libraries used to create the application

Release

The source code can be viewed on GitHub.

An installable APK can be downloaded from GitHub Releases.

Featured on the official Processing for Android gallery.

Specifications

  • Android/Java for application development (supports Android 9.0+)

  • Processing for application's 3D sketch

  • Arduino Uno for hardware support

  • Bluetooth for application/Arduino communication

Please see the project's GitHub repository README for a complete list of external libraries used.