Page 1 of 4
DMX Controller
Posted: Thu Jan 27, 2011 7:51 am
by bitfogav
I actually have another hobby than electronics/microcontrollers/programming, DJ or Disc Jockey - I have my own setup of DJ equipment and also go on the road and perform at special functions (weddings, partys etc).
Ive had this idea for quite awhile now, making my own DMX Controller to help make some amazin Light Displays on my DJ equipment. - the guys at digital-diy have been working together to make some Swordfish (basic IDE) modules for DMX, but the information and modules are for a DMX Dimmer which is basically a DMX Receiver (light unit)
I'm in the process of testing and prototyping, generating DMX packets using the DMX Protocol at the moment so when I have more ill share
heres a pic of my setup equipment.

- Image0044.jpg (54.22 KiB) Viewed 24463 times
Re: DMX Controller
Posted: Thu Jan 27, 2011 5:11 pm
by brad
Very cool setup!
I saw that someone has posted an instructable for a DMX controller and they have entered it into the microcontroller contest, heres the link:
http://www.instructables.com/id/PIC18F- ... ansmitter/
Just so I can understand this better - Can you buy equipment that runs on the DMX standard?
So if you have a DMX controller, you can control anything that is designed around this standard?
Re: DMX Controller
Posted: Thu Jan 27, 2011 6:14 pm
by bitfogav
Yes Brad that is correct, you can buy equipment that runs the DMX standard.
DMX Controllers which transmit the DMX protocol, and then control anything that is disign for the DMX Protocol, eg Lights, smoke machine etc.
Re: DMX Controller
Posted: Fri Jan 28, 2011 9:39 pm
by brad
Did you have to reverse engineer anything or is the standard set out so anyone can create an interface or controller?
Re: DMX Controller
Posted: Sat Jan 29, 2011 3:44 am
by bitfogav
brad wrote:Did you have to reverse engineer anything or is the standard set out so anyone can create an interface or controller?
Well thats a good question, DMX uses 3 connections, 1 Common, 1 data line (+) and 1 data line (-) On my setup I had to reverse the data lines on some of the equipment (receivers/Lights) as some of the DMX receivers on my setup use the reversed type connections, thats the only reversed engineering ive come across. This is easily over come though has you can buy adaptors to put onto the data lines which reverse the data lines for you, for example heres how the standard connections for my 3 pin setup looks like:

- dmxconnectors.jpg (16.46 KiB) Viewed 24449 times
Has I am aware there seems to be a standard DMX protocol which you can see here

- DMX Packet.jpg (30.19 KiB) Viewed 24449 times
Re: DMX Controller
Posted: Sat Jan 29, 2011 4:11 am
by bitfogav
A good explanation of how the DMX protocol works can be found here
http://www.images2.co.uk/Lighting_Equip ... acket.html
Re: DMX Controller
Posted: Sat Jan 29, 2011 6:45 am
by brad
I find it interesting that there is no clock pulse for which to synchronise the data to.
How does each piece of equipment know which channel it is?
Re: DMX Controller
Posted: Sat Jan 29, 2011 8:11 am
by bitfogav
brad wrote:I find it interesting that there is no clock pulse for which to synchronise the data to.
DMX is based on Asynchronous data transmission, data is sent one byte at a time.
Asynchronous devices do not require perfect synchronization and one device functions as the master (the DMX controller) on a network, while the rest function as Receivers (dimmers, intelligent fixtures, etc.). Only the master transmits over the
network, and all Receivers receive the same data (512 channels).
Devices are connected in a daisy-chain fashion, from the controller to device #1, then device #1 to device #2, and
so on.
DMX 512 data is transmitted at 250 kiloHertz (kHz), meaning that 250,000 1’s and 0’s (at a maximum) can be
sent each second. Each bit is measured in 4 microsecond (μs) intervals. In order for the receiving device to
correctly interpret the data, it must be sent in a particular sequence. A single transmission (DMX Packet)
includes synchronizing elements and channel data for up to 512 channels.

- dmx protocol2.jpg (10.12 KiB) Viewed 24446 times
brad wrote:How does each piece of equipment know which channel it is?.
On each Receiver there are 9 switches which are then set by the user using Binary Coding, example: if switch one and three was set ON then this will set the Receiver to the Binary Code of 5.. So then the Receiver will then start to interpret the data on channel FIVE..
At this point I will also point out that some Receiving devices (with intelligent fixtures) use more than ONE channel, Depending on the Functions the unit has.
a Standard unit then uses this standard:
• Channel 1: Pan
• Channel 2: Tilt
• Channel 3: Color
• Channel 4: Gobo
When the devices are connected in a daisy-chain fashion, the amount of channels the device uses as to be noted and then set accordingly on the next device in the daisy chain so that two devices do not share the same channel.
Re: DMX Controller
Posted: Sat Jan 29, 2011 11:15 pm
by brad
Thanks for all that info!
Is one byte of data a full instruction? or does it need to receive multiple bytes to get the full instruction?
Re: DMX Controller
Posted: Sat Jan 29, 2011 11:23 pm
by bitfogav
brad wrote:Is one byte of data a full instruction? or does it need to receive multiple bytes to get the full instruction?
Well it depends on the Device (Receiver) you are using Brad, If the Device only uses One channel which = One byte then that would be its full instruction.
Otherwise if the Device uses more than one channel example:
Channel 1 = Motor position
Channel 2 = Brightness
Channel 3 = Colour to display
Channel 4 = On/Off
Then the Device will need four bytes of data for its full instruction.
Re: DMX Controller
Posted: Sun Jan 30, 2011 6:23 am
by brad
Ahh now I see!
I was just thinking of the lights they have in our church. You can move them in all sorts of directions and colours / patterns etc...
I was just wondering that you would need alot more data than just one byte to drive all that!
Sounds like a very cool project and obviously one that you will get a lot out of since you will certainly make good use of it. I'll have to see how your project ends up and see if we can use it in our church.

Re: DMX Controller
Posted: Sun Feb 13, 2011 9:45 pm
by bitfogav
Just an update:
Im still working on the DMX Controller, I'm happy that I have the transmitting DMX protocol done now but ive been working on another circuit to add to the project. I want to add beat detection to the project so that the Lights can move or change colour on a beat detection, Ive been using an electret mic and op-amp.

- breakout-board-electret-microphone.jpg (11.64 KiB) Viewed 24426 times
Re: DMX Controller
Posted: Mon Feb 14, 2011 11:58 am
by brad
Nice one bitfogav!
Would you need some sort of automatic gain control so that no matter what level of noise the mic receives, the lights still work just as well?
Re: DMX Controller
Posted: Mon Feb 14, 2011 9:31 pm
by bitfogav
brad wrote:Nice one bitfogav!
Would you need some sort of automatic gain control so that no matter what level of noise the mic receives, the lights still work just as well?
Yes Brad I have a pot connected up to an op-amp at the moment which sets the level gain of the mic, my main issue is making a low pass filter so that my op-amp filters out the high Freq so I can beat detect only the Bass notes..
If anyone has any info on this then I would be greatful for any input..

Re: DMX Controller
Posted: Tue Feb 15, 2011 9:12 pm
by brad
capacitive reactance is found by:
1/(2πfc)
You just need to have a simple resistor - capacitor low pass frequency circuit. these are connected in series with the input signal, and the output is taken across the capacitor. at high frequencies the capacitive reactance is low (so you get very little on the output) as you decrease the frequency, the capacitive reactance will increase and you will therefor drop more over the capacitor. This means your ouput will be high(er)
It's a frequency controlled voltage divider
