Skip to main content

Cabinet File Generator

Creating your cabinet file

The cabinet file for Addressable LEDs is a little complicated to build, so I have created a simple online helper to generate it for you. Simply enter your specific needs and it will be created. Copy the text from the code created below and save it as cabinet.xml inside your C:/DirectOutput/config directory. Make sure to set the COM port of the addressable LED Controller before copying it over, or you can manually change it in the cabinet.xml file you created. You can find the COM port in device manager or by using the config tool.

Why would you combine names of the same outputs? This can be helpful for high density LED Matrix setups where you might have 2048 LEDs in a set of panels. In this instance, you can create 4 separate outputs that are each 512 LEDs in size, and name each one the same so that in DOF it looks like just one large panel, but you can physically connect each panel to 4 separate outputs on the Addressable LED Board.

Press buttons below to set pre-configured cabinet files (All configurations include L/R side strip LEDs)
<?xml version="1.0"?>
<Cabinet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>AddressableLEDSetup</Name>
  <OutputControllers>
    <WemosD1MPStripController>
      <Name>LED Strips</Name>
      <NumberOfLedsStrip1>144</NumberOfLedsStrip1>
      <NumberOfLedsStrip2>144</NumberOfLedsStrip2>
      <NumberOfLedsStrip3>256</NumberOfLedsStrip3>
      <ComPortName>COM1</ComPortName>
      <ComPortTimeOutMs>300</ComPortTimeOutMs>
      <ComPortBaudRate>2000000</ComPortBaudRate>
      <ComPortOpenWaitMs>300</ComPortOpenWaitMs>
      <ComPortHandshakeStartWaitMs>100</ComPortHandshakeStartWaitMs>
      <ComPortHandshakeEndWaitMs>100</ComPortHandshakeEndWaitMs>
      <SendPerLedstripLength>true</SendPerLedstripLength>
      <UseCompression>true</UseCompression>
      <TestOnConnect>true</TestOnConnect>
      <ComPortDtrEnable>true</ComPortDtrEnable>
    </WemosD1MPStripController>
  </OutputControllers>
  <Toys>
    <LedStrip>
      <Name>Right Side</Name>
      <Width>1</Width>
      <Height>144</Height>
      <LedStripArrangement>LeftRightBottomUp</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>1</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>LED Strips</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Left Side</Name>
      <Width>1</Width>
      <Height>144</Height>
      <LedStripArrangement>RightLeftBottomUp</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>145</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>LED Strips</OutputControllerName>
    </LedStrip>
    <LedStrip>
      <Name>Back Panel</Name>
      <Width>32</Width>
      <Height>8</Height>
      <LedStripArrangement>TopDownAlternateRightLeft</LedStripArrangement>
      <ColorOrder>RGB</ColorOrder>
      <FirstLedNumber>289</FirstLedNumber>
      <FadingCurveName>SwissLizardsLedCurve</FadingCurveName>
      <Brightness>100</Brightness>
      <OutputControllerName>LED Strips</OutputControllerName>
    </LedStrip>
    <LedWizEquivalent>
      <Name>LedWizEquivalent 30</Name>
      <LedWizNumber>30</LedWizNumber>
      <Outputs>
        <LedWizEquivalentOutput>
          <OutputName>Right Side</OutputName>
          <LedWizEquivalentOutputNumber>1</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Left Side</OutputName>
          <LedWizEquivalentOutputNumber>4</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Back Panel</OutputName>
          <LedWizEquivalentOutputNumber>7</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
      </Outputs>
    </LedWizEquivalent>
  </Toys>
</Cabinet>

LED Arrangements (Thanks to SwissLizard)

image