Comments: SparkFun ESP32 DMX to LED Shield

Pages

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #1425965 / about 5 years ago / 2

    I am not shure, but there must be a mistake in Example4-ArtnetOutput at line 33: I think there should be "WiFiUDP" instead of "WiFiUdp". Now Arduino IDE is compiling only with the error message: "pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"" Now I hope, that I can send DMX messages from my Computer or the lightning-mixer to the ESP32 - that was the reason to buy ESP32 Thing Plus and ESP32 DMX to LED Shield. I will not buy a second pair only for running Example1 or Example2 !!!

    • Hi, this error message is just a warning and nothing to be concerned about. Everything worked for me when sending packets from Resolume over ArtNet.

  • Member #1900781 / about 5 months ago / 1

    I'm doing something wrong but I can't figure out what it is.

    I'm attempting to follow the peripheral example and I keep getting the error "'CRGB' does not name a type"

    I loaded the 'Example2-DMXinput` Then copied the Channel definitions, void setup, and void loop into Arduino IDE.

    #define NUM_LEDS 64
    
    CRGB matrix[NUM_LEDS];
    

    • Member #1900781 / about 5 months ago / 1

      Continuing to bang on things...

      I've loaded the Examples --> Sparkfun DMX Shield Library --> Example3-MovingHead

      I then edited the Pin Definitions section to the following as I am using the ESP32-S2 Thing Plus (WRL-17743)

      #define CLOCK 36 //SCK ESP32-S2 Thing Plus (WRL-17743)
      #define DATA0 37 //CIPO ESP32-S2 Thing Plus (WRL-17743)
      #define DATA1 35 //COPI ESP32-S2 Thing Plus (WRL-17743)
      #define DATA2 11 //GPIO11 ESP32-S2 Thing Plus (WRL-17743)
      

      I've installed all the libraries When compiling in Arduino IDE I get error:

      fastspi.h:157:23: note: '#pragma message: No hardware SPI pins defined.
      

  • Member #1587769 / about 5 years ago / 1

    how can i implement a function or a variable to show me when the cable is disconnect (or not presence)?

  • Member #1587769 / about 5 years ago * / 1

    I have a problem, when compile a simple sketch that result a led blynking when receive dmx data, led not stay on, just blinking; i´ve tested in another ESP32, anothers shields, but result same error. Using DMX input mode:

    include <SparkFunDMX.h>

    SparkFunDMX dmx;

    define LED 2

    define TOTAL_CHANNELS 1

    void setup() { pinMode (LED, OUTPUT); dmx.initRead(TOTAL_CHANNELS); digitalWrite(LED, HIGH); delay(1000 ); digitalWrite(LED, LOW);

    }

    void loop() { dmx.update(); int datadmx = dmx.read(1); if ( datadmx >= 100) { digitalWrite(LED, HIGH); } else { digitalWrite(LED, LOW); } }

    tenting in arduino - Conceptinetics librarie work very well.

    • Member #1587769 / about 5 years ago / 1

      today, i´ve put a delay(50) pos dmx.read e solve, but i think that delay can impar movement of servos (sorry bad english)

  • Kamal_S / about 5 years ago * / 1

    No other processes like > handle web page, configuration and other parallel tasks, only hard coded WiFi configuration
    all other parameters like universe boundary limit , universe number is fixed ip address is based on DHCP(will be fixed in router using of ESP32's mac address) is fixed . So.... . what is maximum number of dmx universes i can handle with 1 ESP32 with fixed settings? signal strength of WiFi is >90%

  • Member #1587769 / about 5 years ago / 1

    hello, first sorry for bad english.

    i´ve tried using EEPROM together to save dmx address, but when "commit" to save, ESP32 reset, and send me that message: Guru Meditation Error: Core 1 panic'ed (Cache disabled but cached memory region accessed);

    i think that EEPROM use core 1, maybe artnet too, but i dont know how to solve.

  • Member #1577143 / about 5 years ago / 1

    Hello, I'm using WS2813 LEDs with this in an effort to have a wifi controlled digitally addressable LED strip. 5v to 5v, clock to c0, data to d0, and GND to G. I was able to get the ESP32 with DMX shield configured and connected to wifi, however, it simply outputs a mess of random colors to the LED strip (and not to the correct number). I'm very familiar with Resolume and correctly outputting artnet data, but the input doesn't seem to be received by the LED strips correctly. Still flashes random colors even when Resolume isn't sending anything.

    • Hmmmm, have you ran any FastLED examples like cylon to ensure you have your strips are hooked up properly? Also, have you tried using a serial print statement to check out the raw artnet data?

      • Member #1577143 / about 5 years ago / 1

        I tested with cylon and it worked great. I'm not entirely sure how to add a serial print for artnet data.

  • Member #1572385 / about 5 years ago / 1

    Hello,

    I preface these questions with a warning that I am extremely new to this world of micro-controllers and arduino chips. I am a theatre technician building an LED illuminated prop.

    Is there a version of this product without the XLR-3 Jacks? What are the physical dimensions of the board?

    The physical limitations of the prop are rather specific.

    We started this build with a Adafruit Circuit Playground Express, due to the many built-in sensors and the need for the LEDs to react to movement from the accelerometer. I now need hierarchical control of the board from a wireless DMX receiver.

    If I follow my logic correctly the setup would look like this:

    Lighting Control Board sending a DMX value change > Wireless DMX transmission > Wireless DMX receiver > SparkFun ESP32 DMX to LED Shield > Circuit Playground Express > Neopixels.

    Am I missing a piece or over-complicating this? If you can provide some dimensions I will order a couple to begin testing. Any and all help or advice appreciated.

    Thanks,

    Christopher

    • santaimpersonator / about 5 years ago / 1

      Hi there, it sounds like you are looking for technical assistance. Please use the link in the banner above, to get started with posting a topic in our forums. Our technical support team will do their best to assist you. (Please note that we do not provide consultation services, but we will do our best to try to get you pointed in the right direction.)

      That being said, your project sounds technically challenging; especially given your "preface". You may want to look for a plug-and-play or consumer grade option, unless you have the time to troubleshoot/figure things out on your own.

      We do not sell a version without the XLR connectors. The approx. dimensions for the board are listed under the Features tab (the tabs are white on white and easy to miss) of the product page as: 2.625 (L) x 2.7 (W) x 1.375 (H).

  • Member #1565587 / about 5 years ago / 1

    Hi,

    dmx.read(HUE_CHANNEL) is returning an erratic stream of values regardless of the fader position and regardless of the channel. I attempted to post a topic to the forums but got a 403 forbidden error.

    I added Serial.println(dmx.read(HUE_CHANNEL)); in the Example 2 loop function, with no other changes. DMX data was sent to the shield from ENTTEC DMX MANAGER with ENTTEC DMX USB PRO. Tested Channel 1 on a moving head fixure, and it performed as expected.

    Serial output was an erratic series of values between 0 and 255. A value would repeat a few times, and then another seemingly random value would replace it and repeat a few times, to be replaced by another. Values were not influenced by the fader position as far as I could tell.

    How can I get the fader level for a channel from the DMX input instead of a random stream of numbers?

    Thanks, Eric

    • Hi Eric, we are currently working on a fix for this, have you given the LXESP32 Library a try? I was only able to write the read function with a DMX device we had in house, so I couldn't test it with 3rd party DMX devices.

      • Member #1571960 / about 5 years ago / 1

        hello I tried with the examples I canceled arduino and the libraries I tried everything but with the lxe library I do not receive any value .... I set the values

        define DMX_DIRECTION_PIN 21

        define DMX_SERIAL_INPUT_PIN 16

        define DMX_SERIAL_OUTPUT_PIN 17

        but nothing if instead I use #include <SparkFunDMX.h> I receive a series of incorrect data how can I do? Thank's Stefano

        ps j use Adafruit ESP32

        • santaimpersonator / about 5 years ago * / 1

          Hi there, based on your other comments, it sounds like you are looking for technical assistance. Please use the link in the banner above, to get started with posting a topic in our forums. Our technical support team will do their best to assist you.

          That being said, you should also double check your pin declarations match up with the board you are using.

      • Member #1565587 / about 5 years ago / 1

        Thanks Andy, the LXESP32 Library worked great!

        • Member #1571960 / about 5 years ago / 1

          hi I have the same problem can you explain how you solved it. I simply have to letter the value of a channel and if zero run pan.write (180); if 255 pan.write (0); can you help me i need it for thursday night and i won't go out if you post the code can you change it? thank you Stefano

          • Hi Stefano, give the aforementioned LXESP32 DMX library a test

            • Member #1571960 / about 5 years ago / 1

              I have tried all the examples if I replace esp32-hal-uart.c with that of the library from errors in compilation while if I use the original one it does not read me anything in input I put

              define DMX_DIRECTION_PIN 32

              define DMX_SERIAL_INPUT_PIN 16

              they are good for reading from xlr. I did not put the resistance can give this problems?

              if I connect the card with a wifidmx it gets even worse.

              can you give me some clarification about it otherwise I have to do the rest (with regret) of the card thank you Stefano

              • Hi Stefano,

                You shouldn't be replacing that one file, but instead you should be installing the LXESP32DMX Library separately from the SparkFun library. Check out the link before for a sweet tutorial https://learn.sparkfun.com/tutorials/installing-an-arduino-library/all

            • Member #1571960 / about 5 years ago / 1

              Sorry Engiandsaurus I tried a bit of everything I read the library I also created the code using basic example 1 but I don't get anything. Can you help me understand where i am wrong i can post the code ... thank you very much you will help me a lot Stefano

              • I'm sorry Stefano but SparkFun does not do code consulting, try using the examples included with LXESP32DMX.

            • Member #1571960 / about 5 years ago / 1

              can you help me thank's stefano

            • Member #1571960 / about 5 years ago / 1

              hello I tried to see .. I also copied the esp32-hal-uart.c file in the folder but by mistake. does the code remain the same? sorry but I'm starting to get closer to this world now and I'm not very practical thank you Stefano

  • Member #1425965 / about 5 years ago / 1

    Its not running for me. I got the follwing error: "# pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"" When I try the example FastLED - Demoreel100, I get the same error. Simple Blink is working, also Adafruit DotStar - strandtest. I can't find any mistake, installed all new for a new user, but nothing changed.

    • That isn't an actual error. FastLED throws that whenever you attempt to drive LEDs without hardware SPI lines, however, it still runs just fine bitbanging on regular old GPIO. Also which example are you trying and what part "isn't running"?

      • Member #1425965 / about 5 years ago / 1

        It is "Example 2 - DMXInput", here the error message: "In file included from ~/Documents/Arduino/libraries/FastLED/FastLED.h:65:0, from ~/Documents/Arduino/libraries/SparkFun_DMX_Shield_Library/examples/Example2-DMXInput/Example2-DMXInput.ino:17: /Documents/Arduino/libraries/FastLED/fastspi.h:115:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output # pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"" But afterwards compiling, I can load up to the ESP32 thing Plus, but nothing happens, when I sendt DMX-messages

    • santaimpersonator / about 5 years ago / 1

      Hi there, it sounds like you are looking for technical assistance. Please use the link in the banner above, to get started with posting a topic in our forums. Our technical support team will do their best to assist you. (It may help to provide a picture of your setup and code you are using.)

  • Member #44005 / about 5 years ago / 1

    It looks like the Artnet library has been updated, and the sample code for the artnet slave over wifi no longer works. Any chance of getting an updated example please?

    • Hello, in what way is your example code not working? Is there any way I could ask you to could you describe your setup and issue in detail in a Github issue?

  • raminf / about 6 years ago * / 1

    I'm new to DMX. Trying to get this shield to connect to a series of DMX PAR lights I got online that had decent reviews.

    The 3-pin XLR cables have a female and a male connector on each end. The DMX-IN port on each light takes a female cable connector. The DMX-OUT port from the Sparkfun board also takes a female connector. Is something backward or should I pick up a female-to-female XLR adapter?

    I've tried all the possible male/female port configurations and run the code that changes brightness from 0-255 but nothing happens. This seems like it would be a pretty common configuration.

    EDIT: got my hands on a 3-pin female-female adapter. So now the DMX-OUT from Sparkfun board goes into DMX-IN of the light. Still no go. The program sets all R/G/B and brightness channel values to 255. Nothing happens.

    Any tips appreciated.

    • LukeW / about 6 years ago / 1

      The two connectors on the SparkFun board are directly connected to each other so it doesn't really matter which you use for input or output.

      Do you have another DMX controller that you can use to test the fixture?

      It is also possible that there is an address on the fixture that can't be above 00 or it will put it in a different mode, etc...or an address that has to be at a specific value? A link to the datasheet/manual for the fixture would be helpful.

      Lastly, eliminate as many connections as possible. Connect a single cable to a single fixture. Try terminating that fixture's output with a 120 ohm resistor.

      • We actually ended up solving this issue over on Github, updating Arduino and recompiling everything seemed to fix the issue if I remember correctly.

        • LukeW / about 6 years ago / 1

          Cool! Thanks for the update. I received my board but an Easter production has kept me away from it. Hoping to play with it over the next few weeks.

  • LukeW / about 6 years ago / 1

    "Typically, the female XLR connector on the slave is the input while the male is the output."

    Incorrect. DMX outputs use a female connector and inputs on a male. https://en.wikipedia.org/wiki/DMX512#Connectors

    • Totally correct, sometimes typos make it through, fixed now

      • LukeW / about 6 years ago / 1

        Thanks! I'm excited about this product. Price/features and from a reputable source...should be a winner!


If you've found an issue with this tutorial content, please send us your feedback!