GithubHelp home page GithubHelp logo

jevans3142 / adc-bar-lx Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 3.1 MB

Bar lighting controller for the ADC Theatre

CMake 0.43% Makefile 0.27% C 99.29%
adc-theatre cambridge-university dmx lighting-controller

adc-bar-lx's Introduction

ADC Theatre - Bar Lighting Controller

This repository hosts the software and hardware design for the ADC Theatre's bar lighting scene controller. The system is based around an ESP32 chip (using a development board typicaly found online as the DOIT board - 30 pin version, though as we are not using WiFi or Bluetooth etc the hardware could be easily adapted to another chip version) with DMX input and output, audio input for sound-to-light mode, and a remote scene set control panel.

Features

  • Provides seven reprogrammable scenes which can be faded between from the easy to use remote control panel
  • DMX input for programming scenes with highest-takes-precedence merge function for operating a more complex show without recabling
  • Sound-to-light function for parties with four analogue filter channels to replicate an older system. Party functions can be enabled and disabled per scene
  • Small OLED screen and menu system on the central rackmount controller for configuration
  • In the event of power being disconnected the DMX input is directly connected to the output using relays to make bypass easy
  • All scenes and settings are stored on an SD card

Build

The microcontroller used is an ESP32. After standard installation of the esp-idf FreeRTOS toolchain, currently building on v5.1.1 as a stable version with the configuration included in the src folder (ie. when building do not run the idf.py set-target esp32 command as directed in the esp-idf Getting Started instructions to set up the default build config - just go straight to idf.py build)

Hardware

PCB files in KiCAD format:

  • Power supply
  • Mainboard
  • Sound-to-light
  • Buttons (front panel)
  • Remote control panel

In addition there are files for Schaeffer AG's FrontPanelDesigner application covering:

  • Case including front and back panels
  • Remote control panel

There are 3DM model files for two 3D printed elements:

  • A bracket to hold the OLED screen to the case frontpanel
  • A bracket to hold the SD card module to the case frontpanel

In addition to the standard components populating the PCBs one ESP32 'DOIT' style devboard, an SD card breakout module, and an OLED screen module are required, all purchased from eBay. Multiple spares are held of each item by John if required for the ADC.

Copyright

Copyright (c) 2019-2022 John Evans and contributors.

adc-bar-lx's People

Contributors

jevans3142 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

adc-bar-lx's Issues

Screen refresh very slow

Total screen refreshes as implemented in screen_refresh() are very visually apparent. Blanking the display during the refresh hasn't made it better, neither has altering the I2C speed.

Possible fixes

  • Implement a partial refresh for only a defined area of the screen (wish to do anyway for live data etc)
  • We're creating and deleting the I2C command link many, many times per refresh. Why did I write it like this? Surely this is stupid...

Front floods control

Control of building front floods and other FOH DMX devices: would require a major rewrite to accomodate second control panel, possibly second DMX output

Up/down button ballistics

When using the up and down buttons in menu screens, holding the up and down button should speed up entry to reduce button hammering

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.