Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Sockser
Jun 28, 2007

This world only remembers the results!




This is probably the thread for this
Bit of a seizure warning on the video though

https://www.youtube.com/watch?v=ihJoaqTi790

Context: each set of two digits is a 45 neopixels strip, running approximately right to left, have run it off an Uno, an Adafruit micro, and currently a Metro Mini

I just replaced the strip in digits 6+7 because it was doing the same thing, though I was able to avoid it by turning off the pixel where it looked like things were loving up

I’m running on a 5v, 10A power supply, with power and ground running roughly to the middle of each strip

Possibilities off the top of my head-
1. It’s actually a bad strip in digits 7/8, it’s just cascading to the middle of the next strip instead
2. Maybe I got some 2811s mixed in with my 2812s

E: and it does the same with the neopixel library or fastled

Sockser fucked around with this message at 01:52 on Oct 13, 2019

Adbot
ADBOT LOVES YOU

Spazzle
Jul 5, 2003

Sockser posted:

This is probably the thread for this
Bit of a seizure warning on the video though

https://www.youtube.com/watch?v=ihJoaqTi790

Context: each set of two digits is a 45 neopixels strip, running approximately right to left, have run it off an Uno, an Adafruit micro, and currently a Metro Mini

I just replaced the strip in digits 6+7 because it was doing the same thing, though I was able to avoid it by turning off the pixel where it looked like things were loving up

I’m running on a 5v, 10A power supply, with power and ground running roughly to the middle of each strip

Possibilities off the top of my head-
1. It’s actually a bad strip in digits 7/8, it’s just cascading to the middle of the next strip instead
2. Maybe I got some 2811s mixed in with my 2812s

E: and it does the same with the neopixel library or fastled
I possibly had the same problem. I had a bunch of programable pixels strips running off of a battery which outputs 5v for the LEDs and 12 volts USB to run an arduino that was controlling them. What I think happens is that when enough LEDs turn on, the relative ground levels shift and the data signal no longer works. I had to tie the led ground to the arduino ground to fix it.

Cojawfee
May 31, 2006
I think the US is dumb for not using Celsius
Is there a way you can tap into each digit individually? Seems like it's the 6th digit that's messing up. But if it's something that's cascading further down the line, looks like it would be a bitch and a half to figure out. Neopixels don't look fun to troubleshoot.

Sockser
Jun 28, 2007

This world only remembers the results!




Literally just never lighting the pixel that is a problem stabilizes things more or less completely


It’s just..... weird? That it’s almost in the same spot that the last bad strip I had in there was loving up, like off by... 3 or 4 pixels, I think.

Maybe I should throw a resistor on the data line just to be safe.

Cojawfee
May 31, 2006
I think the US is dumb for not using Celsius
If it happens at a similar distance on a different strip, it could be the signal is degrading.

Splode
Jun 18, 2013

put some clothes on you little freak
I hope you've got an oscilloscope, good luck.

Can you try lowering the transmission speed of your signal? I haven't used neopixels before so I'm not sure what they use for comms, or how much control you actually get from the adafruit library, but adafruit make some of the best libraries out there

mobby_6kl
Aug 9, 2009

by Fluffdaddy
I'm trying to program an ESP32 (the camera module) with a USB TTL dongle thing but it's not working, just fails to connect ("A fatal error occurred: Failed to connect to ESP32: Invalid head of packet (0x00)" or similar). In the serial monitor I can actually see some gibberish when the board boots, but it's not readable at any baud rate I tried. I thought at one point I saw "waiting for upload" or something like that, but couldn't get a readable message again. I'm using a level shifter as the programmer is 5v, but that shouldn't be an issue at these speeds, right?

ante
Apr 9, 2005

SUNSHINE AND RAINBOWS
How are you triggering programming mode?

babyeatingpsychopath
Oct 28, 2000
Forum Veteran


mobby_6kl posted:

I'm trying to program an ESP32 (the camera module) with a USB TTL dongle thing but it's not working, just fails to connect ("A fatal error occurred: Failed to connect to ESP32: Invalid head of packet (0x00)" or similar). In the serial monitor I can actually see some gibberish when the board boots, but it's not readable at any baud rate I tried. I thought at one point I saw "waiting for upload" or something like that, but couldn't get a readable message again. I'm using a level shifter as the programmer is 5v, but that shouldn't be an issue at these speeds, right?

Baud rate on the ESP8266s is 76800 for some reason, so I bet the ESP32 has some arbitrary baudrate that's in the datasheet somewhere.

Sockser posted:

Literally just never lighting the pixel that is a problem stabilizes things more or less completely


It's just..... weird? That it's almost in the same spot that the last bad strip I had in there was loving up, like off by... 3 or 4 pixels, I think.

Maybe I should throw a resistor on the data line just to be safe.

Try injecting power in parallel at the bottom of each digit. I've had long strips brownout in the middle and they get garbled like that before just going solid red at the end.

ante
Apr 9, 2005

SUNSHINE AND RAINBOWS

babyeatingpsychopath posted:

Baud rate on the ESP8266s is 76800 for some reason, so I bet the ESP32 has some arbitrary baudrate that's in the datasheet somewhere.



115200, but what I'm getting at is that I bet he's not properly resetting it to programming mode

Fanged Lawn Wormy
Jan 4, 2008

SQUEAK! SQUEAK! SQUEAK!
I may be misinterpreting, but did you say you have multiple parallel grounds? I’ve never done that - just one ground, even if I’m injecting power in multiple places.

Also yeah the resistor isn’t a bad idea on the data line. I’ve never had issues if it was a single data output, but if I am using multiple pins to control different arrays it would destroy the fist pixel every time.

Sockser
Jun 28, 2007

This world only remembers the results!




babyeatingpsychopath posted:

Baud rate on the ESP8266s is 76800 for some reason, so I bet the ESP32 has some arbitrary baudrate that's in the datasheet somewhere.


Try injecting power in parallel at the bottom of each digit. I've had long strips brownout in the middle and they get garbled like that before just going solid red at the end.

I've got power injected every 47th? pixel, so the point where it fucks up is uhhhh 34 pixels after power, which should be fine
Especially because it's that digit in particular and not anything farther downstream

e: power is bi-directional, duh, so it's actually only 8 pixels away from a power point

mobby_6kl
Aug 9, 2009

by Fluffdaddy

ante posted:

115200, but what I'm getting at is that I bet he's not properly resetting it to programming mode

I have gpio0 pulled down when resetting it. I think this should do it, at the very least this changes the message, which is pretty short (but gibberish). Without the pulldown it prints a much longer message repeatedly.

My assumption was that if something is wrong with communications that I can't read the messages, that it's also preventing it from booting normally, but who knows. I programmed an esp8266 at 5v without. He shifter before, but don't want to risk my only camera board for now.

ante
Apr 9, 2005

SUNSHINE AND RAINBOWS
Do you have anything else plugged into the GPIO of the board? There are four or five pins that can't be pulled high or low on startup, they'll change internal flash settings and stuff.

Uuuusually when you have the correct baudrate set, you can listen in with your UART dongle and see boot up messages. Random ascii kinda says wrong baudrate or wrong comm settings in some way to me

mod sassinator
Dec 13, 2006
I came here to Kick Ass and Chew Bubblegum,
and I'm All out of Ass
And you're using esptool.py to program it right? I wouldn't use anything else, it's the official tool espressif publishes.

mobby_6kl
Aug 9, 2009

by Fluffdaddy
^^^
Arduino, just wanted to get the example going ASAP. I've been meaning to switch to the Espressif IDF but :effort: But the communication issue is obvious with any terminal.

ante posted:

Do you have anything else plugged into the GPIO of the board? There are four or five pins that can't be pulled high or low on startup, they'll change internal flash settings and stuff.

Uuuusually when you have the correct baudrate set, you can listen in with your UART dongle and see boot up messages. Random ascii kinda says wrong baudrate or wrong comm settings in some way to me
Nope, at least not counting the built-in sd card and camera. Today it actually worked better and I can reliably get this at 11520. This is what I probably saw once before, and only complete gibberish afterwards (that clearly looked like wrong baud rate).



I tested the UART adapter with a different ESP board and it worked perfectly fine. I also tried different ways of powering it, but all with the same result. Maybe the board is just hosed?

E: I guess it was the level shifter after all, even though it worked with the other ESP. Today the text looked less messed up but still not perfectly correct, so I got pissed off and hooked it up directly to the programmer, and that worked perfectly fine.

mobby_6kl fucked around with this message at 13:37 on Oct 19, 2019

Cojawfee
May 31, 2006
I think the US is dumb for not using Celsius
Bricked my arduino Mega last night. I flashed it with Hoodloader2 a while ago. I loaded an HID thing to the 16u2 last night and then it just disappeared from my computer entirely. Luckily I had a spare Micro that I could use to flash it back to the hoodloader. Also lucky that the Micro has SPI pins on the side because I couldn't get the ISCP pins to work at all on it. But now I'm back to normal I guess. That's my story. I'm gonna use this Mega as a data logger for my breadboard computer and also maybe an emulator or the breadboard computer I'm designing.

Harvey Baldman
Jan 11, 2011

ATTORNEY AT LAW
Justice is bald, like an eagle, or Lady Liberty's docket.

I am in over my head. I started at a new job a few weeks ago, and did the dumb, basic LED lighting bullshit they needed with Arduino on a few small projects. Now they are asking me to work on something at a much huger scope and scale, and I'm not sure how to do it, but I need to learn.

There's a dance floor that's basically interactive that another company is making. I've got nothing to do with it. What I need to do, though, is make 5 big light-up columns around the dance floor that interface with the program running the floor. They're doing the floor on a PC in Unity. Each column is going to have to have 5 Arduino Uno devices, each of which is going to be driving about 500 WS2812 (Neopixel) LEDs.

In abstract, basically:



Right now, I believe the 'master' uno is going to be hooked up via USB to the PC, which is running the dancefloor program in Unity. They want to be able to send me data telling me which column they're targeting, what color and brightness it should be, and what animation of a set of animations it should be playing.

I have never handled communication between multiple devices like this before. I started doing some digging, and it looks like the distances between the devices involved is going to be a significant factor. Am I right in thinking I should be considering something like these RS-485 modules as the way to handle communication between my Master and Slave arduino? I don't need to get any data from Slaves back to Master, it can be write-only or one-directional, although I guess having them send a confirmation is probably not a bad idea either?

Having not done communication between multiple arduino devices like this, is there a library or something that would simplify this process that you guys could recommend? The guys doing the Unity programming were talking about sending their data to my columns through a 'SLIP Protocol', which I have no familiarity with. Is this the easiest way to get information from them? It looks like the PacketSerial library here is maybe a way to do that, though I don't know how I'd use that to address data received at the Master arduino to specific Slave arduinos.

I don't feel like I know enough about what I'm doing to even ask the right questions, honestly.

jmzero
Jul 24, 2007

Harvey Baldman posted:

I don't feel like I know enough about what I'm doing to even ask the right questions, honestly.

Doing this as a daisy chain seems like you'll end up with something fragile. That's not to say it won't work here - but if this is your job, you want an answer that's rock solid and you can reuse for different (potentially wackier) scenarios.

Spend a bit more and get boards with network ports. Now you can support any number of modules in any topology - and you can do the next job using the same tools (and cheap consumer hardware for switches and what not). On the software side, you won't have to keep fiddling with communication problems, even if later you need wifi or remote stuff for your next project.

It's overkill here.. but I think it'll end up working better.

Ambrose Burnside
Aug 30, 2007

pensive
some thoughts from someone else who isn't too confident in their electronics knowledge:

1) ~This Project Can Kill You Exponentially More Dead Than Your Previous Ones.~ It'll also be a lot more 'fun' to safely power.
Adafruit's ballpark for neopixel average power draw @ 5V is 20mA per LED, but each can draw up to 60mA, which you should absolutely be planning for and then some as a safety factor, given that the public is interacting with this. 20mA x 500 is 10A, so full draw per strip is 30 amps. TIMES 25. 5V doesn't make for a particularly big electrocution risk, but high current trades that for overheating and fire hazards. Give this v short primer a read, for starters, if you haven't already: https://learn.adafruit.com/adafruit-neopixel-uberguide/powering-neopixels

Pursuant to 1, and this one really should be the first thing you read,
2) If there isn't a ton of worked-out detail you haven't left out for brevity's sake, and that's actually where you're at irt the design, I'm gonna go ahead and say that you really should not even attempt this, given the liability and potential hazard involved with this project in its specific application; I'd actually be surprised if this installation doesn't require design/approval from some sort of actual engineer or electrician in most municipalities.
here's the adafruit blurb about this sort of project from the above link:

quote:

Even larger (and scarier, and much more expensive) are laboratory power supplies with ratings into the hundreds of Amps. Sometimes this is what’s needed for architectural scale projects and large stage productions. And occasionally we get requests for help…

Please note that projects of this scale are potentially very dangerous, and the problems of power distribution are fundamentally different than hobby-scale projects. As much as we enjoy helping our customers in the forums, they are for product technical support and not full-on engineering services. If you’re developing a project of this scope, hire a professional electrician with experience in high-power, low-voltage systems such as photovoltaics or large RVs and boats. This is no charade.

telling your boss "i'm in over my head but i have safety concerns and I really don't want my best try to backfire and hurt this establishment or its patrons" isn't fun, but it beats the hell out of a nightclub fire + nightclub fire-level body count may or may not lie directly on your shoulders.

3 seems sort of superfluous after 1 and 2, but hey,

3) why Unos? And why have each strip driven by its own Uno? They're good to learn on and have lots of documentation but there are a wealth of microcontroller options out there with significantly more I/O pins, a faster processor, built-in wireless networking, etc, all stuff that should let you significantly pare down the number of microprocessors. And most of the other, far superior options will work out much, much cheaper than an Uno will (look into, for example, the Arduino IDE-compatible ESP32 microcontroller, compare the specs and features side by side to an Uno, and then google the price. then price out an Uno plus the shields/modules it'd take just to give it comparable wireless networking capabilities. i'll wait.)

Ambrose Burnside fucked around with this message at 19:38 on Oct 25, 2019

peepsalot
Apr 24, 2007

        PEEP THIS...
           BITCH!

Not sure the situation is all that dire.

I mean, yeah its going to be a LOT of total power, but its not like you have to power everything from a single supply.

To mitigate the ZOMG Amps issues:
1) Run each strip of its own PSU
2) Choose a reputable brand PSU like Meanwell.
3) Those LED strips come in different voltages, not just 5V. A 12V version would use less overall amps for the same power, while still being reasonbly low voltage. Pretty sure you can even get them in 24V.
4) Measure how much power the strips actually draw at full output (all LEDs max white brightness), it can vary depending on the exact led chips used in your strips. If you need to, test current draw on a smaller section of strip and multiply to get the total per strip.
5) You will probably need to supply power at multiple tap points along the strips to mitigate voltage sag (power from each end at the very least), this will also reduce the current going through any given power wire pairs.
6) Based on points 3, 4, 5, determine the current going through each pair of supply wires. Choose appropriate gauge wiring with some safety factor. Get wire from a reputable source, not the cheapest ebay special (which could leave you with inferior/dangerous CCA wire)
7) Sum up the total power draw per column. Then determine mains current per column, and ensure that any power cords going into PSUs, and the outlets / breakers they are plugged into are sufficiently rated.
8) Use properly crimped spade connectors on all power wires going in/out of the PSUs.
9) Tie down/strain-relief power wires so that connection points are not physically stressed.
10) For extra precaution, after setting up an individual strip, you could use a thermal camera to verify that no part of the system (particularly power connection points which may have contact resistance if done improperly) are not getting hot & melty-like. Alternatively verify resistance between psu terminal and each power tap point while unpowered.

But yeah if that still sounds scary, or over your head definitely defer to a professional lighting guy or something.

peepsalot fucked around with this message at 20:12 on Oct 25, 2019

Dairy Days
Dec 26, 2007

If he's in the US he can't even have all of these plugged into the same circuit even if it is a dedicated 120v 20a, to run them all at full brightness would probably need a dedicated 240v 20a circuit. There's a variant of RS485 called DMX512 that is specifically for stage lighting, and you can find suppliers of addressable LED strips that use this and are powered by 24v, in fact you can probably find a supplier to sell you nearly the entire system where your diagram would simplify to that PC plugged into a specialized controller. Also I'm pretty sure the NEC specifically dictates some type of separation between 240/120v power and lighting control signals as described above, and with the amount of wire spaghetti and failure points that method would generate I would be worried about the liability of ignoring that if you choose that method.

VictualSquid
Feb 29, 2012

Gently enveloping the target with indiscriminate love.
I feel like the only sane way to set this up would be to have each column separately powered. Then run the communication separately over BT or WIFI or maybe CAN.

Ambrose Burnside
Aug 30, 2007

pensive

peepsalot posted:

Not sure the situation is all that dire.

I mean, yeah its going to be a LOT of total power, but its not like you have to power everything from a single supply.
...
But yeah if that still sounds scary, or over your head definitely defer to a professional lighting guy or something.
yeah i'm definitely being overcautious here, and i probably wouldn't be so leery if it were a private installation, but nightclubs/any packed venue are loving nightmare applications for hobbyist-kludged low-voltage/high-current projects with an unusually-high heat/fire hazard component, one that's very easy to cause simply by not understanding or anticipating basic stuff like sizing wire gauge to drawn amps or whatever.
Your rundown is good + thorough, fwiw, and I can't think of any improvements. But this whole project still screams "do not go anywhere near it if you are not totally comfortable with the circuit and project scale, and if you insist, consider a free legal consultation about liability in your specific employment situation" to me.
Not a direct comparison, but for consideration: I do blacksmithing and have gotten multiple inquiries about shop signage or other installations for businesses. I will not touch them, no matter what the client pays. I can do the work easily and am confident in my work, but I am still liable for injuries sustained if that thing rusts through and falls on someone's head 20 years down the road. Did I get an engineer to sign off on the nonexistent prints? Of course not, it's impossible to do business profitably if you treat small projects like big ones. But the liability factor doesn't really change. It's just not worth it. I can't say confidently that this situation maps 1:1 onto a light installation, but... proceed with caution, you know?


Dairy Days posted:

in fact you can probably find a supplier to sell you nearly the entire system where your diagram would simplify to that PC plugged into a specialized controller.

I strongly suspect this is the winner irt lowest combined cost + liability + hassle, yeah. venue-scale programmable light installations are a mature thing with local suppliers in every city, you can re-invent the wheel yourself instead of buying one off the shelf to save a buck, maybe, but even that assumes you're a capable wheelwright to begin with, if i may mangle the metaphor a bit

Ambrose Burnside fucked around with this message at 21:14 on Oct 25, 2019

TTerrible
Jul 15, 2005
As someone that does both arduino fiddling and event production you should absolutely do this with DMX and a lighting desk.

Look at Avolites Titan or Chamsys MagicQ for control. They can be controlled via OSC, MIDI, etc over a network. Getting Unity to spit out OSC is very easy.

Any lighting hire house will have LED RGB battens you can hide in the columns.

Splode
Jun 18, 2013

put some clothes on you little freak
That is not really a high power project at all and a hobbyist level person can attempt it. It's about the same level of danger as wiring up a car. Just buy an off the shelf power supply for each column and do not attempt to power them all together. If it catches fire it'll catch fire in testing. You should have a fire extinguisher and or blanket handy if you're doing electronics work anyway, mainly for the soldering iron.

I agree with the recommendation previously posted to switch away from Arduino unos. You can stick with the Arduino environment but the uno is not adequate for you this time. A teensy is going to be better for a number of reasons, but you'll need to do some research and design work to work out your exact needs (types and numbers of communication, etc) before making a choice.

I also recommend having a single master device for each column, so your tree gets one extra middle layer. If you change from the uno, this may even let you have just one controller in each column, if you choose something that can handle more neopixels, perhaps as it has multiple I2C busses or whatever neopixels talk.

For inter column communication, rs485 (or rs232) isn't a bad choice for distance, but it's not a bus so you'll need a separate serial link for each column (assuming you took my advice and gave each column it's own mid level manager board. Otherwise you'll need 50 serial links, which is insane). Ethernet might be better, or CAN bus (used mainly in cars). You want a bus designed for long distances, and there are plenty of those, but you also wasn't one with Arduino libraries and easily sourced boards. You could send just one serial link to all columns, but that will prevent any columns from replying, and may also cause weird signal issues.

This is a crazy project and it'll take a few months. It's also going to end with a version of the device that is considerably more expensive and complex than it has to be. If your company intends on making more than a handful, it would make more sense to hire a design consultancy. Which will mean it takes years, but you get custom dedicated electronics.

Hope this was helpful!

JawnV6
Jul 4, 2004

So hot ...

Splode posted:

If it catches fire it'll catch fire in testing.
:stare:

mod sassinator
Dec 13, 2006
I came here to Kick Ass and Chew Bubblegum,
and I'm All out of Ass
I'm with everyone else--I would buy what you don't understand or can't anticipate. If that means hiring a real professional, then do it. Or if that means buying off the shelf DMX controlled lights that have CE and UL ratings, then do that.

Even just a single strip of 500 pixels is a lot of pixels. That's 500 * 0.06 = 30 amps of current alone when lit up full white/bright. You have 5 strips per column so 150 amps per column... that's intense levels of power and you're probably going to have to get electricians in to beef up the circuits going to the columns. And we haven't even started to think about the heat generated by 150 watts of full bright pixels per strip and 5 strips strapped on each column (750 watts! that's like a space heater).

But really all these concerns make me step back and say... put the pencils and soldering irons down. Are neopixels even the right way to approach this? Do you _need_ individual control or can the entire strip light up the same color and intensity (i.e. just a bunch of RGB LEDs with much less current consumption than neopixels). Or better yet, what off the shelf DJ/stage lighting can you buy that's already engineered itself to be used in the environments you're planning and to handle the kinds of effects you want?

Also with that amount of neopixels you _will_ have failures and random broken pixels. Neopixel strips suck because one bad pixel kills the entire chain (they data output of a pixel feeds the data input of the next, if one pixel fries you have to replace it to fix the rest of the strip). Even just someone putting their hand on the strips could nerf one and take out a whole column. Again, I'd step back and wonder... are these really the right tools for the job.

And don't downplay the difficulty of synchronizing animation and effects with dozens of arduinos strewn about. A serial connection like SLIP might work but you're going to be running more and more cables around and you still need to figure out some tricky stuff like the topology of the network--would you do a star with one big controller (something with a million serial ports so it can talk to each arduino... which I don't know if it even exists) or try to daisy chain/mesh something up in a weird/complex (read, difficult to debug) way. If it's not fast or super real time animation a wireless option would be a lot easier.

But IMHO the easiest thing is to go talk to a real stage production company with DMX / lighting experience and have them walk you through exactly what to do with real off the shelf lighting tech. If it costs $10k more now, that's a hell of a lot cheaper than $10m in liability when the whole place burns down.

TTerrible
Jul 15, 2005
The safety angle aside I think it'd be easier and cheaper to go with DMX gear.

Ambrose Burnside
Aug 30, 2007

pensive

Splode posted:

If it catches fire it'll catch fire in testing.

* unless one of the hundreds of possible unanticipated, installation-specific, act of God, and/or age/fatigue-related failures occur


(this attitude has gotten a lot of people needlessly-killed through negligence over the years. when you are legally-culpable for something risky that the idiot public will be subject to, you always plan for the unexpected and the unpredictable and the unlikely, as opposed to "i have definitely anticipated every possible problem through my extremely limited knowledge and experience base so nbd")

Harvey Baldman
Jan 11, 2011

ATTORNEY AT LAW
Justice is bald, like an eagle, or Lady Liberty's docket.

This has all been super helpful. Thanks dudes.

Re: The power issues, I totally understand the concern there. We are submitting a bunch of stuff for engineering stamps and approvals. I think the electrical setup is going to end up being part of what gets signed off on. I don't really know, but the liability part is less my job at the moment as much as the programming / light animations side of things is. All I mean to say is that there will be some kind of oversight on that part, so right now my focus is more aimed at 'how do I get all of these things to communicate properly'.

I've been using Unos right now because they're what we have around, and I was initially thinking I could do this with some of the stuff we have to-hand. My employers would look on that a lot more favorably, but I am getting the impression we're going to face reliability issues if I keep trying that from the responses I was getting. I would much prefer getting something with bluetooth or similar connectivity like the ESP32 that was mentioned. I've worked with Teensy before, too, but I've never had to make them communicate with each other, or with a PC.

I have about two weeks to sort this all out and get a working solution. :shepface: As much as I would like to tell my bosses to go find a venue-scale programmable light installation supplier, I know that's not going to fly. I did look at the Avolites Titan and Chamsys MagicQ that was mentioned, but those seem more oriented towards stage lighting? And I have no idea how to set that up, and we end up having to go back to square 1 with programming the sequences, which is no good for the situation I'm in right now. I think the best I can do at the moment is try and come up with something that can still use the majority of the Arduino IDE programming that has been done. Is it crazy to consider switching over to those ESP32 things, setting up a wifi router at the venue, and using that to control the various lighting elements? How hard would it be to use that kind of device to get information from the PC running unity (color, brightness, etc). Is there a similar option that can run multiple LED strip sequences but that has a hard-lined communication option like ethernet, instead of wi-fi, for a simpler setup?

mod sassinator
Dec 13, 2006
I came here to Kick Ass and Chew Bubblegum,
and I'm All out of Ass

Harvey Baldman posted:

This has all been super helpful. Thanks dudes.

Re: The power issues, I totally understand the concern there. We are submitting a bunch of stuff for engineering stamps and approvals. I think the electrical setup is going to end up being part of what gets signed off on. I don't really know, but the liability part is less my job at the moment as much as the programming / light animations side of things is. All I mean to say is that there will be some kind of oversight on that part, so right now my focus is more aimed at 'how do I get all of these things to communicate properly'.

I've been using Unos right now because they're what we have around, and I was initially thinking I could do this with some of the stuff we have to-hand. My employers would look on that a lot more favorably, but I am getting the impression we're going to face reliability issues if I keep trying that from the responses I was getting. I would much prefer getting something with bluetooth or similar connectivity like the ESP32 that was mentioned. I've worked with Teensy before, too, but I've never had to make them communicate with each other, or with a PC.

I have about two weeks to sort this all out and get a working solution. :shepface: As much as I would like to tell my bosses to go find a venue-scale programmable light installation supplier, I know that's not going to fly. I did look at the Avolites Titan and Chamsys MagicQ that was mentioned, but those seem more oriented towards stage lighting? And I have no idea how to set that up, and we end up having to go back to square 1 with programming the sequences, which is no good for the situation I'm in right now. I think the best I can do at the moment is try and come up with something that can still use the majority of the Arduino IDE programming that has been done. Is it crazy to consider switching over to those ESP32 things, setting up a wifi router at the venue, and using that to control the various lighting elements? How hard would it be to use that kind of device to get information from the PC running unity (color, brightness, etc). Is there a similar option that can run multiple LED strip sequences but that has a hard-lined communication option like ethernet, instead of wi-fi, for a simpler setup?

ESP32 vs. Arduino is the least of your concerns right now.

The way I see it you can spend the next two weeks in a couple ways:

- Start sending out resumes. These folks don't know WTF they're doing and you're going to be the fall guy (you're the FNG anyways) when it all falls apart. This is _not_ the kind of project you throw someone with no experience on and give them 2 weeks to figure it out. There are serious, serious management issues you might not even see yet. Big time warning signs... get out.

- Start convincing your bosses this needs a professional. Go out and get some cost estimates of real DMX-based stuff. Tell them it's either weight the cost of doing it the right way or the cost of the project failing. Two weeks is an impossible deadline, you won't even have enough time to figure out the things you don't know yet (which are probably immense unknown-unknowns).

mewse
May 2, 2006

Sagebrush
Feb 26, 2012

I was kind of with you until you said this has to be done in two weeks. No way that is happening. Two months would be more realistic for a project of this scale. Possibly much more than that if it's not your primary duty and you've never done it before.

Tell your bosses that they'll have to scale back, or turn it down entirely.

Harvey Baldman
Jan 11, 2011

ATTORNEY AT LAW
Justice is bald, like an eagle, or Lady Liberty's docket.

Just out of curiosity, and again, this is because I don't know well enough to know the answer to this, what is the part that makes this untenable to do in two weeks time? Knowing the answer to that would probably help me explain to the people above me

Splode
Jun 18, 2013

put some clothes on you little freak
Lmao @ 2 weeks. Impossible.

Also I was clearly joking about catching fire in testing but you guys do a whole lot of pearl clutching for what is really not a lot of power. You must all be terrified of kettles.

JawnV6
Jul 4, 2004

So hot ...

Harvey Baldman posted:

what is the part that makes this untenable to do in two weeks time?

Harvey Baldman posted:

this is because I don't know well enough to know the answer to this

mod sassinator
Dec 13, 2006
I came here to Kick Ass and Chew Bubblegum,
and I'm All out of Ass
Arduino and maker stuff (products, tutorials, etc.) can get you making pretty animations with 20-200 neopixels in 2 hours. Unfortunately it does _not_ scale up to 20k pixels in 2 weeks. You're in a whole new ball park of problems that maker oriented stuff never even considered. High current, high watt, _lots_ of wiring and complexity are just some of the challenges you'll face. Like it's easily 2 weeks of time alone to figure out how to just wire everything up. It might even be two weeks of time to figure out and test what are the right lights to use given your constraints. Remember this is a thing that needs to work and be reliable.. you need to design it to swap out and replace components, wiring, etc. as they fail--that's the kind of design and planning Arduino and maker stuff never considers.

mod sassinator
Dec 13, 2006
I came here to Kick Ass and Chew Bubblegum,
and I'm All out of Ass
But if you need a concrete example, go read post mortems and build blogs of huge burning man art cars. They use 10k+ pixels and it takes them a year alone to build those things.

Adbot
ADBOT LOVES YOU

Dairy Days
Dec 26, 2007

Harvey Baldman posted:

Just out of curiosity, and again, this is because I don't know well enough to know the answer to this, what is the part that makes this untenable to do in two weeks time? Knowing the answer to that would probably help me explain to the people above me

It will take a week to get your parts in, and on the first day of week 2 its going to catch fire and you then have 4 days to start from pieces. That's probably somehwat hyperbolic but its not that absurd given what you're trying to do here. If you really only have 2 weeks then you absolutely want to be ordering prefab components from stage lighting distributors because it might take you a week to figure out how to get those to play nicely together. You can run into a million problems with the setup you've drawn up, add "I have never handled communication between multiple devices like this before." and it doesn't exactly inspire confidence when you then immediately begin expressing desire to use SLIP, which i thought was a dumb trick that died 10 years ago and practically sees no use outside of the most edge of edge case scenarios. Despite what someone already posted, rs485/dmx512 is actually capable of being used as a bus and is specifically designed for this use case, so much so that when you buy the prefab components it is what they will use to communicate. If you had more time and you were really sure your job description included a indigenous and not impractical or fire prone implementation of this project you're describing, you would be looking into large channel count LED drivers that have integrated buck regulators, fast microcontrollers like PIC32/AVR32 to split your dmx signals into the many i2c signals you'll need to drive each strip, and spinning up some custom pcbs to tie it all together.

Splode posted:

Lmao @ 2 weeks. Impossible.

Also I was clearly joking about catching fire in testing but you guys do a whole lot of pearl clutching for what is really not a lot of power. You must all be terrified of kettles.
I'd like to know what your definition of high power is when nearly 4kW does not quite make the cut

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply