My Argon Seems to Have Died

I have an unresponsive Argon.

I have been using it in a breadboard for quite some time, all was fine…

I had a PCB made up to match the breadboard, and all worked fine for maybe 15-30 minutes…

Now, the Argon is unresponsive, and no status light.

I am guessing my PCB must not be exactly the same as the breadboard, and must have zapped something.

I am wondering if perhaps only the regulator is blown?

I have tried powering from USB, 3v3, and VBUS.

Is it possible that I could bring the Argon back to life?

More importantly, I really want to know what I did wrong, so I don’t burn up another one.

As for this unresponsive Argon… I used my meter to check the voltages on the 3v3, VBUS, and LiPo pins

When powering from:

Bench supply at 3.3 v and Enable Pin Grounded (to disable onboard regulator)

  • VBUS --> 1.2 millivolts
  • LiPo --> 0v
  • No status LEDs.

With Enable Pin Not grounded

  • LiPo --> 2.45 v
  • VBUS --> 2.25 v
  • No status LEDs.
  • Just the orange Lipo charging indicateor flashing quickly

USB with Enable Pin grounded

  • 3v3 --> 1.7 millivolts
  • LiPo --> 5.04v
  • VBUS --> 5.12v
  • No status LEDs.

USB with Enable Pin not grounded

  • 3v3 --> 2.28
  • LiPo --> 4.1
  • VBUS --> 4.41
  • No status LEDs.
  • Just the orange LiPo charging indicator flashing quickly

In all instances, the Board gets very warm/hot… my bench supply shows a current draw of about 1.5 amps.

The voltages seem to change a lot when compared to Enable pin grounded vs not grounded.

I have tried to use the mode and reset buttons to try to reset, but nothing happens.

Is there any hope?

More importantly, what could have happened?

Here is a Fritzing breadboard of my set up.

And here is my EasyEDA schematic as well, if that is helpful. this is the schematic my PCB was made from. I am wondering if maybe there is an issue with my pullup resistors on pins A4 and A5 of the Argon? The idea there is to make sure those pins are high… when my limit switch is activated due to the he stepper moving to the ends of it’s travel, then the pin should go low.


(Edited - I made it easier to read)

I truly appreciate any advice.

Thank you

Is this with the argon on the board or removed ?

In your schematic, the 24V rail appears to be shorted to GND (pins 1 & 2 of STEP1). The power rail signal names are confusing - should VCC be 3V3 or 24V?

Hi shanevanj,

Thanks you for looking at this.

Those voltages were with the Argon OFF the board and nothing connected.

Yikes…

That does not reflect the actual circuit though.

That was just a side effect of moving things around in EasyEDA… sometimes, when moving objects around, the lines don’t always follow.

The original schematic is a little hard to read because some things are just so close together.

I have updated the image of the schematic…

Thanks.

First, I am very new to electronics, and to micro controllers… so I may make newbie mistakes…

I really am very grateful for any reviews or suggestions.

Things that I am not certain about that may be the cause of my Argon issues

  • Are my connections for the 2 Pull Up Resistors correct? (for the 2 limit switches, CN5 and CN7)

  • Do I need pull up or pull down resistors for the 2 buttons I added for RESET and MODE? From what I have read, it sounds like I just need to ground those pins when the buttons are pushed… do I need resistors in there?

  • Am I implementing/extending the MODE, RESET and RGB LED correctly? For the RGB LED, I am using the STARTUP function:

// mirror internal status RGB LED to our external RGB
STARTUP(RGB.mirrorTo(RED_RGB, GREEN_RGB, BLUE_RGB, false, true):wink:

This works fine on the breadboard, and was good on the PCB for about 30 minutes or so…

  • For powering the Argon, I am supplying 3.3v to the 3V3 pin. I have grounded the ENABLE pin to disable the on board regulator. My power comes from a DC/DC Buck Converter that is not part of this circuit… just plugs in via JST XH connector. Should I leave the ENABLE pin alone, and supply 5v to the VSUB pin instead?

  • I do have 2 power supplies coming in… 3.3 V and 24 V… both have the same ground. 3.3v is used for the Argon, LED’s, and the Relay. The 24 V is used to power the EasyDriver Stepper Controller, Stepper Motors and the Fans. I think think I have everything isolated, but maybe I am missing something?

I am not really sure where to start trouble shooting… I am am not even sure if there is an issue with this circuit, as it worked on a breadboard, and seemed to be working fine when I moved the Argon to the PCB… I did notice it took a long time to connect to WIFI… blinking green for a while, each time I powered it up. Seems like there was a pattern of so many blinks and a pause… but I could not find anything online about patterns for green status lights. I did remove the power several times, by unplugging the JST connector on my PCB… not sure if that could cause any corruption on the Argon bootloader, etc.

The only difference between the breadboard version and the PCB that I can think of is that I powered the Argon over USB when on the breadboard, and am using 3.3 v directly to the 3V3 pin with the ENABLE pin grounded on the PCB.

I am really not sure where to start… I ordered 2 more Argons, but am worried about using them, until I know what caused the first one to fail.

Sorry for so much info… I hope I didn’t miss anything important…

Thank you for any suggestions.

Yes, then use the 3v3 as the output to use with your switches and buttons

No resistors needed for operation

https://docs.particle.io/reference/device-os/firmware/argon/#buttonpushed-

Your relays need a snubber diode to prevent voltage spikes when the relay is de-energised.

image

You will also need some capacitors on the power supply lines ( I use 10n and 100uf) physically near to where they enter the PCB.

My one concern is the fans - is the SIGNAL input isolated? will it feed any power back from the 24V lines? Is 3V3 enough on the signal line to drive the fan properly?

Thank you so much for your advice…

OK, I will not ground the ENABLE pin, and will supply 5v to the VSUB, or USB connector.

For the 2 limit switches… do I have the pull up resistors in the right place? I think I have that wired up correctly, but would love confirmation.

As for the MODE and RESET buttons… thank you for confirming that I have those wired up correctly.

Same for the RGB… I was worried that maybe those were not connected properly and maybe slowly fried the Argon. I will leave the RGB and the 2 buttons as is.

For the relay, I am using one of these 3v relay boards… I have not changed the jumper to isolate the signal from the relay vcc as they are both 3v.

1 Channel 3V Relay High Level Driver Module Optocoupler Relay Module for ESP8266 Based Board

Would I still need a diode here?

I will add the capacitors to the power where it comes into the PCB… just curious what this does… is it for “brownout” protection?

For the fans, the positive leg of the 24v goes through the high current end of the relay… I do have 2 pins from the fan that go back to the Argon… SIGNAL (thats the PWM wire right?), and RPM… should I place a diode between those wires and the Argon? (e.g. 1 diode between the Argon pin used for SIGNAL and the SIGNAL wire to the fan, and a diode between the RPM pin and the RPM wire to the fan?)… the other 2 wires are the pos and neg of the 24 v that is controlled via the relay.

I am assuming that the the 3v is enough to activate the relay for the fan, as it is a 3v relay… but I am thinking you may be concerned about the current the relay will draw from the 3V3 pin of the Argon… would it be safer to have a separate 3v supplied to the relay, and anything else on the board? and power the Argon via the USB or VSUB via 5v? and not connect the 3V3 pin of the Argon to anything?

So here is what I think I need to do…

  1. Remove the GND connection from the ENABLE pin of the Argon
  2. Supply 5v either through VSUB or USB Connector (does it make a difference, e.g. is USB better?)
  3. Disconnect the 3V3 pin from the PCB - use separate 3v for relay, buttons, LEDS, etc… or would it be safer to use the 3V3 for all that and NOT use a separate 3v supply?
  4. Should I add a diode to both the SIGNAL and the RPM wires from the FAN to the Argon? or just on the SIGNAL wire? Is there a specific type of diode to use, e.g. any diode, Schottky, Zener, etc?

Again, thank you so much for your help… I hope someday, that I can be as helpful to the community… this has been an excellent learning experience for me, and it is so awesome to have confirmation and suggestions from experienced people.

No difference - just don't exceed the maximum ratings on argon data sheet.

You can use the 3v3 from this pin as long as you don't exceed the max current (see below about relays) - so for your buttons and led's - no issue.

First - you need to check the spec of the fans and see what is the output voltage on the RPM pin. (I suspect it is 5V (but just a guess) and that this may have damaged the argon already. Second, the SIGNAL and RPM lines don't need diodes.
The RPM signal will need a voltage divider to reduce the 5v to 3v (max) - you need to do something like this image
with R1=10K and R2=15K
The drive to the SIGNAL should be 5V - test at 3v3 but the fan speed may be erratic. You may need to implement a level translator - in fact I suggest you get a 4 channel one from here (or similar) link the HV to 5V, the LV to 3v3 and then the SIGNAL and RPM to HV1 and HV2 and then LV1 and LV2 to the argon - this is better than the resistor divider above, although it costs more.

I don't think the 3V3 supply from the Argon will drive these properly. According to the data sheet for these relays, they need ~120Ma to function - I would use a separate 3V power supply for them as it may exceed the Argons 3V3 supply if both actuate at once. A positive about these relay breakouts is that they have the snubbing diode in place already and can be isolated front he Argon.\

So then now we know more about the parts you want to use - run a separate 3V3 supply to the leds, buttons, and relays. power the argon off 5V and

1 Like

OK, I have updated my schematic… does this look like it would work?

I added a Logic Level Converter, and brought in 5 volts to power the Argon. (I thought I may someday need these… so luckily I have a few 4 channel ones on hand… that’s why my schematic show a 4 Channel instead of 2 channels)

Here are the logic level boards I have

I want to make sure my power looks good as well…

Here is the same schematic highlighting the various power routes.

I decided it may be safer to to use the internal 3v3 from the Argon to power LEDs, buttons, etc…, and use the external 3 volts to power the Relay. I will pull the 2 jumpers off the relay, as I believe that is necessary to power the relay with separate power.

I added the capacitors to each of the in coming power pins… 10nf 50v (103) ceramic and 100uf/25v electrolytic… should I also add a set of these caps as close to the VUSB pin as well?

As for the fans… I have not yet (or ever) plugged the fan into either the PCB or the breadboard prior to my Argon not responding… I was using an LED in place of the relay, so the Argon could not have been damaged by that.

I am hoping and suspecting that the Argon issue is related to a power spike, or the like… and my plugging it in and unplugging it quite a few times. I can’t imagine what else could have caused that issue.

I hope I don’t kill the replacement Argon :slight_smile:

I will check the fans to make sure they are 5 volt for signal and rpm… I am pretty sure they are not 3 volt. I hope there is no way the 24 volts can feed back into the system… are there any precautions I should take with the signal line from the fan… or will the fact that I have the logic level converter there be enough?

Again, thank you so much for all of your help.

Yes - nice!

I would suggest changing the RGB resistors to 330E to limit current to 10mA - it should be bright enough.

Seeing as you have spare I/O and spare level shifters, why not connect the RPM and SIGNAL of each fan separately - it will give you finer control of the airflow?

Just check the current limits on your steppe driver vs the motors you will use - can it drive both at full load?

Seeing as you have steppers running in the system - yes it would not hurt to include them in the PCB layout - you can always not populate them if needed.

Yes, unless there is a massive surge (>40V) above the breakdown level of the (probably mosfets) components on the level shifter.

Great :slight_smile:

I can’t wait to actually put this together on a breadboard and give it a try… My replacement Argons arrived today.

I love your idea about using the extra 2 ports on the logic shifter… I will add that in for sure.

I also like the idea of changing the LED resistors as well… that LED does not need to be bright… just visible, since the Argon will be installed in a hard to reach place, I just need to be able to access the mode/reset buttons, and need to see the status without having to directly see the Argon… so reducing the current is an excellent idea.

My steppers are really just very small linear actuators… they extend about 0.75"… I am using those to “slide” a baffle" forward or backward about that distance. They should not use too much current, and they would only be “stepping” for 15 - 30 seconds at most… and probably not very often. When they are not moving, the stepper driver will be in sleep mode, so it will not hold power.

A few days ago, I was very down, and not sure where to start… today, I feel much better, and am excited to work on implementing these changes.

I can’t tell you how much your help means to me.

Thank you so much!!

You could also use a digital servo for this - you don't need a driver board, they run on 5V and the signal can be driven directly from the Argon with a servo library. I have used many thousands in production and they are super reliable.

Let us know if it all works out !

Oh wow, I hadn’t thought about that.

I think I may go that direction… this particular project started out as a bigger project, and has slowly evolved over time… I have scaled a few things back… originally, I was using larger stepper motors to rotate a slotted tube around a fan to direct air.

But for now, just sliding a baffle back and forth is really all that is needed… so this is an awesome idea.

I will update this post as things progress.

Thanks again!!

This is similar to what you need. This one has limit sensors (reed switches) that I use to know if it’s open or closed

Adding a more recent schematic.

I added a couple capacitors to the VUSB pin on the Argon.

Decided to Isolate the power for the relay, so I will remove the 3V jumper… and add the separate 3v from the power in instead of from the Argon… will leave the GND jumper on, since the grounds are shared.

Added a Logic Level Converter… will run the fan RPM and SIGNAL lines through that (it is between the fan connector and the Argon.)

I am considering adding a slide switch to turn the power on/off… but not sure what kind of switch to use… I am looking for 1 position (ON/OFF), that will switch all 3 power lines coming in (3V, 5V, and 24V)

I have most of this hooked up via breadboard and powered up at the moment… the only things I don’t have on the breadboard are the Logic Level converter or the relay. I bread boarded those separate, and they worked, so assuming they should be fine in the final circuit (my breadboard is not big enough for all of the components connected at the same time, so tried those items connected to Argon individually)

Please, if any out there look at this… please comment if you see any red flags, or notice things I have not thought of.

I already burned up 1 Argon… still not sure what happened there… I am assuming my problem was running the power into the 3V3 pin and not having decoupling caps… and possibly power cycling too fast during some testing.

Updated the schematic… fixed an overlapping line.

1 Like

Hi A few comments and questions

What relay is this? and what is the function of the 3V3 and VCC pins? According to data sheet of the relay breakout you posted above you were going to use, there are only 3 pins on the MCU side - not 4? (unless I missed something ?)

image

image

Secondly it seems this relay is activated by D7 (confirm?)

I am assuming here that the VCC of the stepper drive is on 24V and that the enable is on IO D3 - you may wish to separate the nets on the schematic to make this clear?

image

Also the MCU side of the stepper driver is not connected to 3V3 power?

image

As a general comment (and I don’t use EasyEDA so I don’t know if it exists or not) see if there is an option to enable automatic node dots so that in your schematic it will be easier to see junctions vs. crossings?

So you would see this
image
versus
image

Hi…

I am using the relay as show above… That relay has an opto isolator to isolate the relay from the logic part… there are 2 jumpers between the green screw terminals and the blue part of the relay.

I am planning on removing one of the 2 jumpers… the “V+” jumper… and supply 3V to that… I plan on leaving the “V-” in place, as the ground is shared anyway.

So, the VCC and the “IN” are from the MCU… the VCC supplies power to the opto isolator… the separate 3V from my power supply will power the mechanical “latching” part of the relay.

Here are a couple of images…

And yes, the Argon pin D7 will trigger the relay.

Yes, you are correct, the stepper is 24V… and I see what you are referring to… EasyEDA drives me nuts… as it seems you can’t really move anything around without messing up the lines.

The 24V VCC line was overlapping D3… they are not connected… just looks that way… I’ll update the attached schematic after I post this.

The Stepper has it’s own regulator and can output 3V… but I am not using that, as the output is very low current… and the only thing I need 3V for is the relay.

EasyEDA does have that feature. There is a large red dot on my schematic at the junction where the lines connect… if there is no dot, then the lines are just overlapping and not connecting.

So in the image below, the only connections are those with red dots.

Thank you so much for your help.

You have really helped me a lot over the last week, and I am so excited bout moving forward with this.

I am almost ready to have the new batch of boards created from the schematic. but I am worried about burning up another argon.

Again, thank you :slight_smile:

  • Michael Hawk

Oh, I should also explain that the connector on the schematic for the relay is just a JST connector on my circuit board… I plan to have a 4 pin JST XH connector plugged into that connector on the board… and 3 of the 4 wires will go to the screw terminals (VCC, IN, GND), and 1 wire will connect to the “V+_” jumper to operate the “latching” part of the relay…

Thats why the connector on the schematic does not match up with the actual relay.

Here is a picture of the relay on my original circuit board… I removed the V+ jumper on the relay, and added a brown wire… in the new circuit, the new 4th pin from the new JST connector will connect to that same point on the relay.