Propeller Chip Gets Smoking Hot, But Still Works?
Mahonroy
Posts: 175
Hey guys,
I have a real simple design that I have been using for a while for small batch PCBs (using the QFN version of the propeller chip). I finally decided to organize the design into an array panel and have an assembly company do a small test run and assemble 48 boards.
Well sure enough, only 60% of them will take a firmware flash.
A third of those are missing part of their functionality.
The interesting part is the small amount of boards that do work, half of them the propeller chip gets hot as hell (like it will burn you hot), but still seems to work for some reason. These boards are using a RECOM R-78E3.3-0.5 for the voltage regulator, and when the propeller is hot this part is also hot.... so this seems to imply there is a lot of current getting pulled for some reason?
Do these symptoms seem to point towards anything in particular? Unused GPIO pins on the propeller are either tied directly to ground, or directly to the 3.3V voltage rail with no resistors in-between. From what I have been reading on the forums, this is ok since its a production board, the firmware pinout does not change, and on bootup the GPIOs default to inputs.
I'm trying to find out which of these possible variables might be the case? These are just ones that come to mind, but I have no idea.
I have a real simple design that I have been using for a while for small batch PCBs (using the QFN version of the propeller chip). I finally decided to organize the design into an array panel and have an assembly company do a small test run and assemble 48 boards.
Well sure enough, only 60% of them will take a firmware flash.
A third of those are missing part of their functionality.
The interesting part is the small amount of boards that do work, half of them the propeller chip gets hot as hell (like it will burn you hot), but still seems to work for some reason. These boards are using a RECOM R-78E3.3-0.5 for the voltage regulator, and when the propeller is hot this part is also hot.... so this seems to imply there is a lot of current getting pulled for some reason?
Do these symptoms seem to point towards anything in particular? Unused GPIO pins on the propeller are either tied directly to ground, or directly to the 3.3V voltage rail with no resistors in-between. From what I have been reading on the forums, this is ok since its a production board, the firmware pinout does not change, and on bootup the GPIOs default to inputs.
I'm trying to find out which of these possible variables might be the case? These are just ones that come to mind, but I have no idea.
* Board house incorporated a mistake into some or all of the PCBs
* Board house ordered incorrect components for some parts
* Board house created shorts during the solder reflow process
* Board house used too hot of a reflow process which damaged some components (using lead free solder so it requires hotter temp)
* When I panelized my design into an array panel I incorporated a mistake into the PCB before submitting to board house
* Its a bad design (but I have been using this design for a while now?)
* Board house ordered incorrect components for some parts
* Board house created shorts during the solder reflow process
* Board house used too hot of a reflow process which damaged some components (using lead free solder so it requires hotter temp)
* When I panelized my design into an array panel I incorporated a mistake into the PCB before submitting to board house
* Its a bad design (but I have been using this design for a while now?)
Comments
Check that everything that should be connected is and correctly.
Check that everything that should not be connected is not.
Check that your have all the right R's and C's in the right place. Diodes and electrotytics the right way around etc..
Perhaps a preliminary inspection with a Jewler's Loupe first.
Of course do this inspection un-powered.
If all looks good, power it up and check you have all the right supply voltages in the right place. And not where the should not be!
Good luck!
Some boards working and so many not working suggests a common cause. Perhaps bad components or PCB's.
At one point I had a panel of 4 layer serial comm boards arrive with about half the boards having a short between the power and ground layers. Another time a batch of bad electrolytic capacitors drew so much current the capacitors and copper traces overheated and the regulators ran so hot they were switching on/off at nearly 100Hz.
-Phil
That's a nice turn of phrase!
I'd suggest grab a meter and doing a quick table of
Vdd, and Current in, with Prop held in RST, and Not in RST
and check you have a reliable reset.
The fact some do work, suggests it is not a design-wide issue.
Can you download to RAM on more ?
Could be time to do a simplest POST pgm (internal clock), that is a minimal pin-wiggler, to confirm PCB assembly has no undesired shorts/opens.
However you should always be prepared to sacrifice at least one board on your bench where you can cut tracks etc while you measure currents and check voltages. Did you have a test program that the assembly house could load to check the circuit? I normally add the I2C pins to my programming header so that I can supply a programming "dongle" that directly loads the EEPROM when it is connected thus avoiding any setup and handling problems with PC loaders.
I think that looking at the circuit alone to diagnose this problem is a waste of time, what is needed is the artwork itself and good photos of a blank pcb as well as good photos of an assembled but faulty pcb.
btw, if it's smoking but still works then it's only a temporary condition, soon it will settle down to begin dead cool
I haven't checked your 4 power pin and 4 ground pin and BOE ground PIN numbers.
I agree with others that directly connecting I/Os to power or ground is asking for trouble.
3K3 pull-ups on the EEPROM are a bit on the low side. I always use 10K Although I have seen some specs also recommending 5K.
Your EEPROM is only 8KB (32Kb). While they will work, you have to do some tricks to program them correctly. I posted a how-to a few years back.
Photos of your board would help.
A 3k3 for the SDA is not too low at all, in fact the datasheet calls for 2k when operating at 400kHz or more which is about right, besides the open-drain lines are designed to sink a bit of current.
I think the EEPROM numbering on the schematic is really only the library part that was used to cover a family of capacities but if it really is a 24lc32 then I wonder just what other little things would show up in some photos.
Just remove C7 and C8, DC-DC converters already have an output capacitor on-board.
That max capacitive load is interesting... I had spoken to RECOM tech support a long time ago, and their engineer said that if you want to reduce the output ripple more, that you can add a 100uF capacitor to the output. The 220uF capacitor is for the nRF24L01+ module, and I have since been using 470uF & 1000uF instead since it seems to work better this way. Do you think this could be a problem?
I understand completely that when making prototype stuff its good practice to put a resistor between the GPIO and ground/VCC. If there is only 1 firmware that will ever be loaded to the device during production, then its just extra components that are taking up space and increasing cost (slightly) for really no reason isn't it?
Peter was correct about the EEPROM, the schematic label was just the part footprint I'm using. I am using 24LC256-I/SN for the EEPROM
-Phil
The best best best way to get rid of ripple is not with big bad electros and although tantalums have better high frequency response I just switch down to 5V then use LDO(s) to 3.3V. That way you get not only a nice clean 3.3V but also a better line/load transient response. I can't imagine why anyone would put a 220uF electro on the supply line just for a low-power nRF24L01+. If Nordic says to use a "large" capacitor then this is what they mean:
So by large they mean 4.7uF large but never "electrolytics" as they have poor high frequency response which is why they specify a ceramic cap (in parallel with the 10nF and 1nF which should be on the module). The chip btw never draws more than 15ma typically so a big slow electro skyscraper'ing next to the little 4x4mm smd makes even less sense.
"A capacitor" ain't "the capacitor", and bigger doesn't mean better. Notice too in the datasheet how they parallel 1nF and 10nF to get the desired "decoupling" in very close proximity to the chip.
So, did you find out a bit more about why so many of your boards are smoking?
Thanks for the heads up on keeping the pins floating, I will definitely do this for future revisions.
Yeah its been challenging to find the best combination of practicality, component count, component cost, etc. Some of the designs I use the 5V RECOM and then a linear vreg MCP1700 for the 3.3V rail, but if nothing needs 5V on the board then I just use the 3.3V RECOM. Maybe there are better ways of doing this, I just don't know any better.
The Nordic nRF24L01+ modules have been a nightmare to get working properly. Most people have to put a 220uF capacitor across the power & ground pin to get them to work properly (lots of people posting in online forums about this). Supposedly they are susceptible to power noise and the capacitor helps.
I am actually using a nRF24L01+ PA LNA chip, so it has a power amplifier on it. If I use a 220uF cap at full power it has transmission problems and will only work if I lower the transmission power settings. However, if I swap it out for a 470 or 1000 uF cap then it transmits ok. Honestly I regret ever using the nRF24L01+ chips because they are so finicky but I am stuck with them for the time being unfortunately.
I am planning on spending tomorrow to see if I can figure out whats going on with the boards, I will definitely post an update. Thanks again for all the help!
btw, I don't know why you even mention cost when you mention resistors, aren't they less than a cent? Frequently I use resnets with 4 individual resistors at a cost of a cent. Anyway if you allow for components on a pcb that are optional then it's always possible to put them on if need be.
btw, what's the deal with having two LEDs in parallel? They really need their own resistors as they won't share current evenly. (or are you saving a cent?)
As for the nrf chip, probably requires its own isolated supply. This can be via an inductor and then the 4.7uF - I would use a tantalum here since there are obvious power problems and tantalus are better than ceramics.
On cheaper PCB orders they don't plate slots. Because of this the DC connector would only get connected on one side. What I have been doing is adding multiple vias to bring power to the other side of the board. Its a really weird shaped board, and has to fit in this small awkward spot, thats why its designed the way it is with the connector on the back side.
So a last minute change I made was I added an additional via to the DC power connector trace, and I forgot to fix the overlap (look at the red arrow in my attachments). So this basically shorts 12 volts directly to pin 9 of the propeller (and the other end is puled down to ground with a 10K resistor.
Why any of these boards are working is a mystery to me.
So trying to decide if I want to make a modification/patch so I can run the remaining blank PCBs through assembly, or if I should just fix the problem and re-submit the entire batch over again.
Thanks again for the good troubleshooting advice!
Images:
-Phil
When I was a "green horn" and the project was failing miserably my old boss would call a meeting, look at me and say "Heater, what did you change last?"
Sorry, I don't mean to gloat. But I think we have all been there before.
Anyway, good you found the problem.
You should post your layout so others can look at it.
Do you remember if you might have done any other last minute changes?
Do you by chance a previous layout that you can compare against to see what else you changed?
Also, what kind of voltage and current readings are you measuring.
Have you traced your layout using the schematic and verifying the connections with your meter.
And what's the quality of the PCB and soldering workmanship.
If the Props still get hot then something bad has happened to them.
Why assemble a panel? Just assemble one.
What else is on the Board ?
12V to a PropPin, likely pulled 3v3 rail to 10V region, so whatever else was connected could be fried too.
Is that a rhetorical question ?
Why would you not make the change before powering them up ?
A good idea is to find the highest Series power resistor that allows the PCB to boot, and test using that.
But never have a panel assembled before you have made up one yourself, however inconvenient that is, it is a lot less inconvenient than trying to fix or throw away many more.
btw, I still use Protel99SE for my PCBs but even if I start off a design with a basic pcb layout I still do a proper schematic and finish off the pcb that way. Many times I will have to go back and forth between pcb and schematic to make the schematic match up with the pcb but it's worth it as then it can report on any design rule errors etc. Of course it can't tell you it will work because that depends upon the design itself but it can tell you that you implemented it properly.
I still use Protel 3.0 from around 1994. I always have a net list so that I can run a DRC.
I would build one board after making the pcb mods to check it works, and then get new boards made. I don't understand your comment about no thru hole plating - are these not plated thru. Get boards with thru hole plating as they are not that expensive any more.