Showcase of my OSC encoder project! Based off of Druuka's 4enc 5 page sketch, on Arduino MEGA R3 over USB

I was recently tasked with constructing a Light Hack encoder box for my university's theatre. Due to the lack of parameters on ETC's original, I set out to more closely match the encoder bank on the Ion, using Druuka's sketch as a base. It is housed in a 3d printed enclosure, very loosely based on https://www.thingiverse.com/thing:4301818. OUTEMU black switches for the keys, a random LCD from amazon, and other electronics from either Amazon or Mouser Electronics. Total material cost ~$90USD, total assembly time ~6 hours.

Things that I added/changed/discovered

- The sketch specified the use of a teensy 3.5. As this is out of production, I originally got out a teensy 4.1 (the modern equivalent) I had. It had an issue where it would repeatedly disconnect and connect every ~5 seconds unless a channel was selected, and I was also unable to get spoofing the V/PID to work properly. I then switched to an Arduino MEGA R3 2560 (a cheaper repro by ELEGOO), and it functioned over USB with no issue, both on PC and on console (specifically, plugged into an RVi connected to a win7 ETC Ion.)

- The original sketch seemed to have some functionality to display the current channel, it did not work and was not needed for the use case I was preparing it for, So I removed it and reformatted the display. (Admittedly, I did not put much effort into troubleshooting this.)

- I changed the action of holding down the encoders, to match that of the ETC Ion. I now have a course mode, a fine mode (holding down encoders) and a super fine mode (holding shift), at the request of a programmer in the space.

- Was informed that the screen was annoyingly bright, so I added a second potentiometer (the first of which controlling contrast), to include the functionality of brightness control, including the option to turn the backlight off. An encoder may perhaps be a wiser hardware choice for this, however.

- I edited the waiting for connection splash screen at the recipients request, and included a secret easter egg to change the message on said screen if a certain button is held down as the encoders boot. :) 

I plan on refining my CAD for the enclosure (to include screw/port holes, and to fix an alignment issue caused by me not reading the LCD's schematic close enough), and designing a PCB to more appropriately house the parts. The rough texture on the faceplate comes from the glue used to improve bed adhesion on the printer I was using. I intend on reprinting when available. Big thanks to ETC, sstaub, and Druuka for work on this. Let me know if you have any questions!