Giter Site home page Giter Site logo

lightdrum's Introduction

LightDrum

Have you ever wanted the drum set to be the loudest thing on stage? Well... this won't do that, but it will be extremely visible!


This is my dads christmas present. (I dont even remember how long it's been...) The idea is to lay strings of LEDs on his drum set and control the strings with audio and MIDI signals. With the ability to control more lighting systems through the DMX interface. The other purpose of this project is to learn. To that end, all interface libraries are written by me and are not feature complete or fully tested.

Current Revision: REV12

All revisions before REV8 are early prototypes and are for archival. They are not fully functional or feature complete.

Renders

Main PCB

Render 1

Render 2

Interface PCB

Render 3

Features

Output

  • 8 Individual LED String Channels
  • 1 Amp Rating per Channel
  • DMX (RS-485) Interface

Input

  • 1/8" jack Audio
  • XLR Balanced Audio
  • MIDI
  • DMX (RS-485) Interface

PWM channels

The 8 individual RGB channels are controlled with 3 PCA9634. Providing 8-bit PWM steps per channel with overall brightness and multiplexing.

Bulk Lighting

The new automitive ECU connector has allowed for more pins, hense, some extra features. This includes 3 linear LED drivers for white COB LEDs. These are very bright and can either be controlled through the user interface, MIDI, or audio.

Power Management

Each channel includes current monitoring with a high-side power override. This is all to avoid shorts and over-current conditions on the high current 12V supply. Both barrel jacks will need to be used for the LEDs to be activated. Due the large amount of power required, one barrel jack would probably melt.

Audio Processing

The PCM1821 dual channel 32bit audio ADC handles the audio conversion and is sent to the MCU via I2S. Theres some minor filtering and impedance matching in the analog front-end. However, most of the audio processing will be handled in software.

User Interface

  • 3.2" TFT LCD Display
  • Navigation Hat Switch for menu navigation
  • Bar Graphs for display of audio levels and current load (or anything else I can think of.)
  • 2 Contextual Rotary Encoders
  • AND; a reset switch. For when things go horribly wrong.
  • MicroSD card slot for loading lighting profiles and other options by the user.

The display contains a full menu to select modes, configure options, and IO. I'm using a Nextion display and their GUI editor for all the menuing. Its not the most performant display but it does allow for easy integration of a reasonably high res, full color screen.

In the future, Im planning to upgrade to a faster STM32 MCU, something like an F7, H5, or H7. Taking advantage of the TouchGFX GUI design software and integrate the screen control into the main MCU. Even with the faster MCU, it will be cheaper and increase screen performance, due to the removal of the Nextion display.


Documentation


Firmware installation

Hardware Requirements

The old firmware was built with the Arduino Framework. The new MCU will be using the ST IDE, toolchain, and HAL (Hardware Abstraction Layer) along with the other required libraries. Im using the STLink programmer due to the much better performance and debugging than the ATTiny USB programmer.

OLD PIO Configuration

[env:megaUSB] : Uses the built-in programmer. This is only used for the older revisions. (REV1 & REV2)

[env:megaICSP] : Main programming method. Using the ATTiny USB programmer.

lightdrum's People

Contributors

daxxn avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.