I have a Genuino, a DFRobot 4-channel relay and a DMX-Shield.
I had the three elements plugged together and powered up.
I started creating the program (I had it but needed to change a line of code)
Verified the program but DID NOT upload it.
And bam! the DMX Shield started smoking and died! The Arduino also is dead.
The package was:
Aduino Uno with a DFRobot . 4-channel Relay Shield and a DMX Shield
The USB from the laptop (Macbook Pro running Bootcamp) was plugged in
A 12v 1amp wall pack was also plugged into the Arduino (to power the relays).
The DMX Shield was plugged in but no connection to the laptop. i.e. no dmx cable attached.
I cannot find a schematic, so I don’t know what the element U1 is, that burned out.
The Ardiuno will not register on the laptop, so something on that board has died.
My dilemma is that I don’t know if:
a) it was a power spike
b) my incompetence
c) something shorting the pins on the base of the ardiuno (see b)
d) something to do with the 12v power supply?
e) Is there ANY way code could have killed it?
Any help gratefully received.
Every maker has let the smoke out at some stage! There are a lot of variables with the setup you have described, picking one would just be fun, although I’d lean to either a missmatch of polarity with 12V voltage, or, a mismatch of two low impedance pins between the Uno and the DMX Shield (leading to a short circuit).
The TL;DR is to approach hardware like you do with software. Start simple, test and add features, step by step.
Whenever kicking off with a build; introduce something new, one at a time. Especially when prototyping. Short circuits are the easiest and fastest way to break something, and that’s why a lot of tinkerers would have a small power supply that is configured with a max current that is safe for the circuit (at least low enough to “slam the off button” if something is wrong!).
If you can’t afford something like that, at a minimum, use a multimeter. You can connect it in series with the power, and ensure current being drawn is expected.
I agree with your process.
I tested the polarity of the 12v plug pack: All ok. Center positive.
The really annoying thing is that I have had that combination of shields hooked up AND running.
I was just modifying a bit of the code.
Do you think it’s possible that by crafting a bit of code that forces all the relays to open/close simultaneously and infinitely, would cause a current draw that could fry the DMX shield above it?
Given that nothing other than the three elements tied together and a switch on the relay (turning a 12v LED torch on and off) coupled with the fact that I had created a prototype earlier, leads me to think I must have shorted the base out somehow. I was working on an untidy surface, with a lot of rubbish around.
I’ve used the DMX Shield with two AdaFruit Motor controllers on another device, without issue, and, as I mentioned, I had prototyped the relay version earlier.
I will do what I am loathe to do: put a new Arduino with the Relay Shield and DMX Shield and see what happens! I don’t really have any choice, as I need to have all those elements hooked up for it to work.
Thanks again for the advice. I’ll post the results.
It would appear that I must have shorted out the Arduino base, somehow.
Probably because of an untidy surface and something got under the board.
I have made a new one with the same mix of boards and connections and nothing smoked!
Ergo, a tidy workplace from now on!