USB2DMX
USB2DMX (aka YADA)
The USB2DMX (which also goes by the name Yet Another DMX Adapter, or YADA), is a build-it-yourself project that provides connectivity between DMX controllers and the Vixen 2.1 lighting software. It was designed by Andrew Williams (LabRat) of Ottawa, Canada, in the spring and summer of 2010 and released to the community in September 2010.
Unlike other adapters in the do-it-yourself Christmas lights community, the USB2DMX is not plug compatible with the ENTTEC USB Pro – conversely, it costs almost 50 percent less than other adapters. This is achieved because of a one-chip design, where the main CPU handles both the USB input and the DMX output, simultaneously. Other designs, including the ENTTEC USB Pro, have one chipset handle the USB input and another chipset handle the DMX output.
Andrew's design leverages the work of Microchip Technology Inc. in using its chips for USB communications. The USB2DMX uses the PIC18F2455 and a handful of components to communicate between the user's PC running Vixen 2.1 and DMX controllers. The design supports full electrical isolation so that the PC is not directly connected to the controllers, insuring safety at both ends of the circuit.
In addition to not being ENTTEC Pro plug compatible, there are other compromises that must be made to achieve the USB2DMX's low cost: the device only works (as of its initial release) with the Vixen software; a special USB driver must be installed in the PC; the user is required to take a two-step process to burn the firmware into the microprocessor, and the user needs to make certain that three files are included in the Vixen plug-ins folder.
Schematic & Board Files
To be added
Board building instructions
Step 0 - Bill of Materials (BOM)
Step 1 - Install 470 (R1, R4, R5, R6) ohm resistors
Step 2 - Install 10k (R7), 22k (R3), and 100 (R2) ohm resistors
Step 3 - Install 0.1 (C2,C4) uf capacitors
Step 4 - Install sockets (note PIN 1 orientation)
Step 5 - Install 0.22 (C1) uf capacitor
Step 6 - Install XTAL - 20Mhz resonator
Step 7 - Bend lead on ferrite bead (L1), install vertically.
Step 8 - Install LEDs (note FLAT edge)
Step 9 - Install PROG (Program) and RST (Reset) switches
Step 10 - Install DC/DC converter (power isolation)
Step 11 - Install 10 uf (C3) capacitor (note polarity!!)
Step 12 - USB and RJ35 sockets (may not appear 100% as shown here)
Step 13 - Install programmed PIC 18F2455(U1), SN75179BP (RS485), optoisolator (6N137)
Software and firmware
Firmware Images
Hex files and source code to be uploaded
Setup instructions
- Download the bootloader and the PIC firmware here.
- Using your favorite Microchip programming device (i.e.: Microchip PICkit2 or PICkit3), load the bootloader software into the PIC 18f2455.
- Remove the 18f2455 from the programming device and install it into your USB2DMX device.
- Download the Microchip USB software package here.
- Unzip the package, extract the application and install MCHPFSUSB_Setup_v1.3.exe as you would any Windows application. The software expects to install itself in the c: directory as c:\MCHPFSUSB\ ... if at all possible, please allow the installation here, as it will make the rest of these instructions easier to understand.
- Connect your USB2DMX to your PC using a USB-A/USB-B cable. There will be no "ding-dong" sound (called "USB enunciation") at this time. The DMX LED will be lit.
- The Windows operating system on the PC will acknowledge that a new piece of hardware has been attached to the computer, that a driver is not present and offer you a driver-installer application. (In the event this does not happen, go to Control Panel -> Add hardware and double-click.)
- The Add Hardware Wizard might need some help in adding the USB2DMX: your USB2DMX is probably not going to be listed in "The following hardware is already installed on your computer" list, so scroll to the end and choose "Add a new hardware device."
- In the next window of the wizard, choose "Install the hardware that I manually selected from a list."
- Choose "Custom USB devices" from the list.
- Click on "Microchip Custom USB Device" and then click on the "Have disk" button. Click on the "Browse" button and navigate to c:\MCHPFSUSB\Pc\MCHPUSB Driver\Release and click OK.
- Click "Next" twice; the Wizard should install the driver and you should hear the "ding-dong" of the PC recognizing the USB2DMX on the USB bus.
- Launch the PICDEM FS USB Demo Tool at c:\MCHPFSUSB\Pc\Pdfsusb\PDFUSB
- Choose the "Microchip Custom USB Device" from the pull-down menu and click on the "Load HEX file" menu, navigating to the Yada_v2 file you downloaded in Step 1.
- The PICDEM FS USB Demo Tool will throw up an error window at this point; choose "Yes."
- Push the "Program Device" button and then quit PICDEM FS USB Demo Tool.
- At this point, both the PWR and DMX lights should be lit on the USB2DMX device.
- Go to the directory c:\MCHPFSUSB\Pc\Mpusbapi\Dll\Borland_C\ and copy the file mpusbapi.dll to your Vixen 2.1 plug-ins directory.
- Download the Vixen plugins from here; unzip the files and copy them to your Vixen 2.1 plug-ins directory.
- Your Vixen plug-ins directory should have at least these three files: Vixen_DmxRat.dll, Vixen_DmxRat.pdb, mpusbapi.dll.
- Launch Vixen 2.1 and create a new profile (Profiles -> Manage -> +); click on "Output plugins" and from the window "Available plugins" choose "DmxRat". Give the profile as many channels as you want, up to 512.
- Create a new sequence using the profile you just created. Connect a DMX device to your USB2DMX. Using the "Test channels" feature of Vixen, select all channels and raise and lower the channel intensity. Your DMX device should respond accordingly. The USB LED should flicker dimly.
Troubleshooting
- In development, the most frequent problem encountered was with the USB2DMX working up to the point of driving DMX devices, when it failed. This problem was easily fixed by unplugging the USB cable from the PC and plugging it into another USB port on the PC. Once the "ding-dong" was heard, the device always worked thereafter. If necessary, the USB cable can be moved back to the first USB port with no problem.