In the last few months I have spent a considerable amount of time building my own ETC EOS Nomad setup in a flightcase-style setup to take to theatre or live events and have a setup I am comfortable working with. Although it still cost a considerable amount of money to build, it was considerably cheaper than buying an ETC desk and so far (fingers crossed) no issues.
One thing I have been missing up until now is having a level wheel or encoders – a level wheel is used to control the intensity level of selected light fixtures in the ETC EOS software. Researching existing products and solutions online, they either had just encoders or a level wheel, none which incorporated both together, so I decided to build my own!








This product incorporates 4 fully flexible encoder wheels which can control any parameter, can be clicked to change between fine and coarse mode and also a level wheel with adjustable speed. I designed and 3D printed the casing myself, it consists of a shell with a detachable lid which is then screwed in to the top. As this is just a demo proof-of-concept unit it is very barebones and done in a DIY style, but it has proved to myself that the concept is effective and solves a gap in the market for me when programming shows on my nomad setup.
The device runs using an ESP32 connected via USB to the PC running nomad, I don’t regularly use Mac devices so unsure if it would work due to driver compatibility. Currently, you first have to install a driver to get the ESP32 to communicate with the PC. I have managed to get the ETC EOS software to recognise the device communicating via something called “USB SLIP drivers” which is effectively serial over a USB connection, and then enable “USB Serial” in the ETC software. At first I was going to incorporate the device into a network using Ethernet but this would have complicated the device further, required more space and cost more to build!
I think it cost me around £25 in parts (including printing costs) to build. Obviously, for future builds I would solder the connections as well to make things tidier and more reliable. Also as you can see, I had a few measurement issues in building the casing as I messed up the spacing between the screw holes on the KY-040 encoders and forgot a hole to allow the usb connection! Instead of wasting the print, I took a drill to the casing and solved the problem; at the end of the day, this was just for myself!
Feel free to let me know any changes you would like to see done and I will take on board all feedback (good or bad!) to try and improve it, and let me know if it’s something you would be interested in purchasing for yourself! Get in touch, I will always try and help where I can.
Dawson

Excellent – I’ve been building something a little similar based on LightHack. How are you selecting what the encoders control, without a display on the unit? Is the wheel absolute or relative?
Hi, thanks for your comment, my project is based on LightHack too, at the moment the encoders have been hardcoded to control certain parameters over OSC, but i am trying to make currently either a web interface or a desktop application that changes what the encoders do, as as far as I can tell at the moment there is no way to gather info on what the onscreen encoders are currently displaying in order to replicate them, which is fustrating, however I will look into this further again. The wheel is just relative at the moment, it sends a OSC positive value when you spin it in one direction and a negative value when you spin it in the other. Thanks!