Using Arduino Uno R3 as a Bluetooth DMX Interface


I have an Arduino Uno R3 with which I have done some simple projects for getting into MC programming. I am looking for a way to have my iPad control lights via DMX. The iPad has no possibility for a wired DMX output connection, so I have three other options:

  • Use an iPad MIDI interface and convert the MIDI signal to DMX That's a bit tricky, because MIDI messages have only values 0..127, DMX has 0..128. Besides, I cannot use the Pin connector for powering the iPad, so I would by limited by battery life.

  • Use Arduino for receiving messages over Wifi to convert to a DMX output Complicated and the Wifi shield is quite expensive

  • Use Arduino for receiving messages over Bluetooth to convert to a DMX output That is the solution I am looking for. Is it technically possible to receive Bluetooth messages and simultaneously generate a DMX output signal? I have found some Arduino DMX projects with a MAX485, so output alone should not be a problem.

It’s not that simple. According to Apple itself, there’s no i-Device yet supporting the Serial Port Profile (SPP) which is the only profile supported by most cheap bluetooth boards. So you either have to go with a more expensive bluetooth module that does support one of the Apple-supported profiles and work around the limitations that a HID profile has for example.

Better is probably to choose a WiFi shield or Bee to have a simple web server based interface. This way you don’t need special software on the iPad and the WiFi stuff is in the same price category as the more elaborated bluetooth modules.

DMX uses 0-255 for each of 512 addresses, not 0-128. However, if you use the DMXSimple library with an arduino that has an Atmega168 it will only output the first 128 channels (due to RAM constraints), but you are likely to have an Atmega328 (if you purchased your board any time recently) which supports all 512 channels. You are also not required to transmit all 512 channels.

I have made DMX receiving devices using a SN75176 (same as a MAX485). I haven't interfaced mine to a tablet, but if I were going to do it I would get an Ethernet shield and plug it into my wifi network. Sounds a lot easier than messing with bluetooth, especially since my range would be better.

Sorry, I meant 255. I wanted to point out that there's a conversion necessary from 2 MIDI messages to 1 DMX channel, since MIDI messages (at least Note msg) have only value 0..127.

Ok, so bluetooth-wise that doesn't seem to be that easy. The Wifi solution is too expensive, as well as the ethernet solution, because I would have to have a separate Wifi router for linking the networks.

Maybe the Arduino is not a good choice for that. I will have to look at a raspberry pi, which has more capabilities for just a few bucks more.

Just hook a ethernet shield to your arduino ! And communicate via wifi to you ipad??