Design wireless DMX

Pink

Member
Hello guys,

I am currently working on a project for building a wireless DMX controller.
I have my DMX signal generated either from a laptop (I am using FreeStyler software) or from an Mbed microcontroller.
I need to send this DMX signal wirelessly and I need to design and build a circuit to do that.
Do you have any suggestions of what to use or how to do it?
(I know that xbee is not really working, isn't it?)

Thank you for any help!
 
The way the question is asked sounds like homework.

Try Googling "Arduino RF transmitter receiver". You will see there are a number of options for building a wireless link. You'll have to decide what solution fits your needs. For instance, what baud rate do you need to send a full DMX universe of data at a rate that the device you are trying to control needs in order to behave properly. Maybe you don't need a full universe. Maybe you need more than one.

There are plenty of other design considerations to think about like range and interference that need to be factored in. Debugging a wireless circuit is difficult without the right tools.
 
Don't forget that you have to comply with FCC Part 15 rules, assuming you are in the United States.
 
The way the question is asked sounds like homework.

Try Googling "Arduino RF transmitter receiver". You will see there are a number of options for building a wireless link. You'll have to decide what solution fits your needs. For instance, what baud rate do you need to send a full DMX universe of data at a rate that the device you are trying to control needs in order to behave properly. Maybe you don't need a full universe. Maybe you need more than one.

There are plenty of other design considerations to think about like range and interference that need to be factored in. Debugging a wireless circuit is difficult without the right tools.


Thank you for your help sk8rdad,

Actually I do not need a whole universe and the baud rate is 250kbits/s.
Can these RF modules transmit a "break" signal or do I need to modify my DMX signal before sending it through the RF transmitter?
Can you maybe suggest one of these RF modules that may be suitable, or maybe tell me more about the factors I need to consider? :)
I am sorry, I really don't know anything about wireless systems..
 
Last edited:
Thank you for your help sk8rdad,

Actually I do not need a whole universe and the baud rate is 250kbits/s.
Can these RF modules transmit a "break" signal or do I need to modify my DMX signal before sending it through the RF transmitter?
Can you maybe suggest one of these RF modules that may be suitable, or maybe tell me more about the factors I need to consider? :)
I am sorry, I really don't know anything about wireless systems..

In general, the answer is no: you can't get rf modules to transmit the break as described in the DMX specification.

Plus, that break looks a lot like what happens if your rf signal if briefly interrupted, which is unavoidable in the real world. The DMX spec for wire is completely unsuitable for wireless transmission. You must encode the channel data in a manner that is more robust, then decode your signal at the other end, and regenerate wired dmx packets.

This is what I do for a living. :)

James Smith (Jim)
Product Designer
RC4 Wireless
 
In general, the answer is no: you can't get rf modules to transmit the break as described in the DMX specification.

Plus, that break looks a lot like what happens if your rf signal if briefly interrupted, which is unavoidable in the real world. The DMX spec for wire is completely unsuitable for wireless transmission. You must encode the channel data in a manner that is more robust, then decode your signal at the other end, and regenerate wired dmx packets.

This is what I do for a living. :)

James Smith (Jim)
Product Designer
RC4 Wireless


Hello Jim,

Thank you for the information.
So if I use a microcontroller to encode the signal at transmitter side, and another microcontroller to decode the signal at receiver side, should work.
Have you used Xbees before, or can you suggest me any other RF module?
Should I still choose one which has the same baud rate as DMX (250kbits/s), or it doesn't really matter?
 
A lot of hobbyists have built solutions around the RFM12B (434MHz) or NRF2401L+ (2.4GHz) module.

Baud rate depends on how much data you are planning on transmitting. 250kbits/s allows for a full 512 frames at a refresh rate of 44 Hz. If you don't need to refresh that frequently, or don't need the full 512 frames, or use a different encoding method than straight transmission of the serial stream, then you can use a lower baud rate.
 
Hello Jim,

Thank you for the information.
So if I use a microcontroller to encode the signal at transmitter side, and another microcontroller to decode the signal at receiver side, should work.
Have you used Xbees before, or can you suggest me any other RF module?
Should I still choose one which has the same baud rate as DMX (250kbits/s), or it doesn't really matter?

Full agreement with sk8rsdad.

I've used XBee many times, they are easy to get going and there are numerous forums where you can find help with them.

The raw data rate of XBee radios is 250kbps, but you can't actually pass your own data through them at that rate. More than half (yes -- *more* than half) of that bandwidth is used up by the transport protocol that the rf modules "wrap" around the data you send and receive.

For best results, I recommend sending the fewest channels you really need. If you do 64 channels, for example, you have more than enough bandwidth to deliver good-as-wire performance for that subset of the dmx universe.

Jim
RC4 Wireless
 
Over in the animated Christmas lighting world, there are a few common solutions:

- Xbee transmitting Renard protocol at 115kBaud. This is just a simple serial data stream without any break.
- 802.15.4 transmitting a proprietary packet for DMX. This pushes an entire DMX universe, but not at full speed.
- NRF24L01 transmitting a proprietary packet.
- Infrared (like the hats at Disney or the Headblinker project at DIYC)
- WiFi

In all of these cases, the DMX data is packaged in a proprietary packed format, and they use either a reserved byte (ie, don't allow 0xCC in the real data so it can be used as a start-of-packet indicator), or a fixed/counted length packet and checksum instead of a break.

Transmitting a smaller number of channels will get around the bandwidth problem.

If you really want to push full universes wirelessly at speed, look into implementing E1.31 over WiFi. If you are looking for the cheapest solution, grab an ATMega328 (or an Arduino) and an NRF24L01 module from eBay.

Pop over to www.doityourselfchristmas.com, www.doityourselfchristmas.org, and www.diylightanimation.com and have a look around.

/mike
 
Thank you for all the help guys,
I am going for the XBee solution (Series 1 - 802.15.4). Does anyone know if it includes any kind of error checking?
 

Users who are viewing this thread

Back