Project in progress
Pátek Show Controller

Pátek Show Controller © GPL3+

All in one DMX, sound and video controller.

  • 750 views
  • 0 comments
  • 3 respects

Components and supplies

770a4970 1 1 1619x1080 mla7tedwjy
Raspberry Pi 3 Model B+
×1
Ard nano
Arduino Nano R3
×1
19p1975 40
XLR Connector, Chassis Mount
×1
MAX485 TTL To RS485 Converter
You can either get this breakout board or just the MAX485 IC.
×1
MAX485
You can get either just the MAX485 IC or the entire breakout board above.
×1
Ethernet connector
×1
40t5129 40
Ethernet Cable, Cat5e
You need only a really small one. like 3 - 5 cm long, but you can route the cable round to fit longer ones...
×1
11026 02
Jumper wires (generic)
×1

Necessary tools and machines

Lasercutter
Laser cutter (generic)
3drag
3D Printer (generic)
Hy gluegun
Hot glue gun (generic)

Apps and online services

Slicer
Really depends on hardware you're using in your workshop...

About this project

Step 1

Building DMX transmitter

For this, you need the Arduino. We used the Nano, but an UNO and a few others should also work. For the conversion to DMX, we use the MAX485 IC. You can use it standalone or, as we did, a breakout board. In both cases, the wiring is the same:

The green input pin is connected to any digital pin on the Arduino. The default for the library we are going to use is D3.

If you want to recreate the breakout board yourself, you can look at the schematics in the schematics section, but we recommend you buy the breakout board as it's not worth the effort.

The code of the Arduino is available in the gitlab repository (linked in the code section here), but it's super simple. We used the DmxSimple library, which makes working with DMX as easy as writing to an analog pin.

Step 2

Preparing an enclosure

Use our files on GitLab to make an enclosure. You can either cut the boards out of wood (we used CNC laser cutter), or print it out. The dimensions are for 3mm thick boards. Next thing you will need are the pillars. They are really small and prepared to be printed on a 3D printer. You need 4 of them to hold the RPi in place. Than you can glue the poles into holes in inner board (the thicker end goes into the board).

Step 3

Flashing firmware

Arduino

You can flash the Arduino from the Arduino IDE, which you can download here. The code can be found here. The easiest way to flash is to:

1. Copy-Paste the code from the above link to the Arduino IDE.

2. In the IDE, click on Tools » Library Manager, search for the `DmxSimple` library and install it.

3. Click on Tools again, but now, select your board type (e. g. Arduino Nano, Arduino/Genuino UNO) and then from the same menu, select your port. If you don't have any other Arduinos or similar devices connected, there should be only one available. If there's multiple, it's usually safe to try the next step with a random port and if it doesn't work. Protip: If you're using the Nano, especially the cheap Chinese ones, and it doesn't work, try changing the Processor under Tools to `ATmega328P (Old bootloader) `. This can save you a lot of torn out hair.

4. Click the round button with a leftwards arrow in the top left. If there's an error, try the tips from the previous step.

5. You're done!


Raspberry Pi

We need to put the latest-ish version of raspbian on an SD card. There's plenty of tutorials on the internet on how to do that. For instance this one, is the first result on google, feel free to do that by yourself.

After the raspberry is up and running, we have to install a few things to make our system work. Get access to a command line (again, there's many tutorials on how to do that) then run these commands:

sudo apt update
sudo apt install docker.io make docker-compose git
cd ~
git clone https://gitlab.com/patek-devs/psc.git

That installs some necessary files. To start up the program, run those commands:

cd ~/psc/backend/src
make run

That second one is going to take a loooong time, but only the first time.

To update to the latest version, run:

cd ~/psc/backend/src
git pull

After this update, starting the program is again going to take a longer time, but hopefully not too much.

The Rasperry now should be ready to rock!

Step 4

Putting parts together

Firstly clip the RPi on the pillars. Connect your ethernet (you can route it through USB hole under the board and through the other hole back up) and USB cable from Arduino to RPi and route it through rectangular hole just in front of the connector under the board. Once you got it, clip on side of the inner board left wall and the right wall (I recommend this order, because you may find it difficult to fit in port holes). After that put the Arduino and chip on the bottom part, put dmx and ethernet connector in place in the front panel and connect them. When you finished this step clip the side walls on the bottom board. Continue with cliping front and back (If your RPi really heats up, you can mount the 60mm fan on the back board) and finish with the top part. You can glue it now, but it is probably good idea to wait for the first mock-up show to check if everything's working fine and glue everything together after that.

Step 5

Preparing a show

Use Markdown extended with our special format within the web app to write your script and add actions. You can copy-paste from Word, the internet, anywhere where Ctrl-C Ctrl-V works.

Format of actions:

<pcs-action module="<module>" command="<command>"> 
{
"foo": "bar",
"baz": "foobar"
}
</pcs-action>

Step 6

Performance

Press the spacebar to advace to the next action. It's that simple.

Code

All needed scripts and parts...
In this repo, you can find directories for the code needed, all svg files you need for the box and stl file for the pillars.

https://gitlab.com/patek-devs/psc

Schematics

Schematics of XLR connection
All those rezistors and MAX485 chip can be replaced with the board in components...
Untitled sketch schem opgrurteqc

Comments

Similar projects you might like

Multi-Dashboard Display with Arduino Controller

Project showcase by Colin O'Dell

  • 28,769 views
  • 6 comments
  • 80 respects

Ardunori RC - Arduino based Tenori-On Remote Controller

Video tutorial by artphrases

  • 2,832 views
  • 2 comments
  • 10 respects

Web Operated DMX Controller

Project tutorial by alphathinktink

  • 2,608 views
  • 4 comments
  • 14 respects

Simple DALI Controller

Project in progress by NabiyevTR

  • 49,319 views
  • 64 comments
  • 50 respects

Arduino Compatible Nano NeoPixel Controller

Project tutorial by Team Whimsy Makerspace

  • 20,333 views
  • 1 comment
  • 24 respects

3D Controller Bot

Project tutorial by 4 developers

  • 15,148 views
  • 1 comment
  • 48 respects
Add projectSign up / Login