0

Pixie 3W Led Flicker
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Pixie 3W Led Flicker

by peterness on Thu Jan 21, 2016 1:37 am

Hi I purchased 106 pixie leds, and to begin testing I created a strand of 4 per the sample tutorial and of the 4 , pixies number 3 and 4 flickered from the start of the Adafruit sample script.
I thought I may have soldered poorly or done something else wrong, so I created a new test chain of 13 new pixies, soldering extremely carefully. But I had the same problem – 5 of the pixies flickered during the test. I am using 16 AWG standed wire for power, 22 AWG for data and an external regulated 5v 90 AMP supply, and an arduino uno for data - everything is setup per the tutorial.
For testing I used both the Adafruit sample sketch (with the rainbow wheel function), and my own sketch - my sketch is simple, a loop setting all pixies in the chain to 0 and then incrementing form 1-255 for each color (red, yellow, green, cyan, blue, purple, red,) then fade back to off . After the spectrum the sketch fades from 0 to full white and back to off. I created this test sketch so I could get a complete viewing of each RGB value per pixel and determine at what point the overheating function would trigger. I tested the sketch with various brightness settings

13 Pixie Chain 10 minute test room temp 72 degrees Results

resultstable.png
resultstable.png (10.39 KiB) Viewed 1244 times


I ran each sketch for 10min and none of the other pixies flickered, and I also ran the above test multiple times, with the same timing give or take a second (2 is always the most sensitive, then 4, etc.)
I think the flickering is related to the overheating shutoff on the pixie, however I am not sure why some pixies are so much more sensitive than others - since they are all assigned the same RGB value and are in the same environment. My thoughts are:
1. Some pixies are just more sensitive than others to overheating or,
2. I somehow made the pixie more sensitive when soldering the wires
I am not sure what I could have done as the temperature indicator is part of the PIC. So I do not think I could have damaged it, my soldering connections are good, no bridges or cold joints.
Do you have any idea if the pixies temperature sensor varies in sensitivity? Should I test each one to determine (LoL I hope not)? I know that the pixies are not meant to be driven at full brightness for any length of time but I am not sure why some would be more sensitive than others.

peterness
 
Posts: 4
Joined: Tue Jul 12, 2011 12:52 am

Re: Pixie 3W Led Flicker

by adafruit2 on Fri Jan 22, 2016 2:39 pm

the temperature sensor inside these chips isnt super precise. we do some minor calibration but its going to have some variation.
A micro heatsink may help?

adafruit2
Site Admin
 
Posts: 18327
Joined: Fri Mar 11, 2005 7:36 pm

Re: Pixie 3W Led Flicker

by peterness on Fri Jan 22, 2016 11:36 pm

Thanks so much for responding - My next testing iteration is going to incorporate a heatsink, but before I proceeded with that test, I wanted to confirm that the temp sensor was varying, and it wasn't something I did. So Onward!

The pixies are really great little things, the tests I ran with fiber optic cable even illuminated the wide diameter (12mm) solid core cable (granted it is a short run of 2-3 feet)

Thanks again

.

peterness
 
Posts: 4
Joined: Tue Jul 12, 2011 12:52 am

Re: Pixie 3W Led Flicker

by peterness on Sun Feb 07, 2016 9:14 am

Hello, I have an update to the flickering issue on some of the pixies I purchased and hope you can point me in the right direction.

Of the 106 pixies, I have tested or used 98 of them (8 are untested) Of the 98, 14 flicker or strobe at very low temps/brightness either immediately on startup or within a few seconds. I think the temperature sensor on these is either extremely sensitive or otherwise flawed in some manner?

Of the 14 flickering pixies, 6 have been processed as described below and 8 are still loose. I tried rearranging the pixies, running them as a single pixie, etc. and it is definitely those specific pixies with the problem. with the pixies. I am going to outline my detailed process as it may be relevant.

My project is to illuminate glass sculptures with the pixies at as high a brightness/duration as possible. To achieve this I first create a chain of pixies needed for the specific sculpture (example 22), test and then replace any flickering pixies (when not warm) with new ones, test again until I have a chain that will not flicker when not warm. I then put a drop of uv epoxy on the top of the 2 capacitors on the back of the pixie to keep them from accidentally shorting on the next step (as they are the highest point on the circuit). At this point I pot the back of the pixie in thermal epoxy and attach the entire back of the pixie to an LED heat sink (I am using Ohmite SV-LED-325E). This was my solution to a shared heatsink for the hot parts of the pixies (the chip and the fets). The blown glass with the pixies are put into a holder and the heatsinks are all cooled by a shared fan and I can drive them at 255 brightness at full white for an almost indefinite time with no overheating (I have not been able to overheat them yet). and I think this is a potential solution to those wanting to drive pixies at a high brightness/long time safely.

In the majority of cases this works great and evens out the variation in the pixies temperature sensitivity as posted in my original post. My problem is those pixies that flicker at any temp cannot be used - the temperature sensitivity is just so sensitive they flicker when turned on and they are not even warm to the touch. I processed 6 of the flickering pixies as above and they still flicker right away even with the heatsink/fan so the issue must be the temperature sensor.

These 6 test pixies are unusable as they have been potted (so the programming pins are not available), but of the 8 remaining flickering ones, the only way I can think of using them is to reprogram the PIC on these 8 to either ignore the temperature sensor, or change the temperature calibration to more accurately reflect the real temperature of the pixies . I do not have a PIC programmer, but it mentions in the Pixie documentation, that the PIC can be reprogrammed with an arduino:

Programming the PIC12 is done through exposed pads featured on the circuit for that purpose (labeled rst/pgd/pgc). A cheap PIC programmer can be used, but the programming protocol is so simple that we’ve implemented an Arduino library that can do that for our testbed.

I would like to do this using Arduino, and I have the Pixie code from github, but I do not know the correct way to wire the arduino to the rst/pgd/pgc to use it to program the PIC12F1571. I also do not know which arduino library is mentioned above (I do not see an arduino library in github?). I think I need to use MPLABX? I think https://github.com/ytai/pixie/blob/mast ... are/main.c is the c program running on the PIC but I am not sure how to get a changed version onto the PIC.

If you could possibly point me in the right direction I would appreciate it. If I can reprogram the sensitive pixies then I will be able to use all of them, and I plan on eventually ordering more for more sculptures, but am a bit hesitant, as of now it seems that about 15% of the pixies cannot be used due to temp sensitivity. If I can figure out reprogramming the pic then I do not have to worry about any being unusable.

I do have a couple of product suggestions for you for future versions of the pixies.

Suggestion #1:
If the Pixies are that variable in temp sensitivity, maybe change the firmware on the PIC and the Adafruit pixie library to include an optional variable modifying the shutoff temp that can be sent via the sketch, similar to how the brightness variable is sent - I plan on doing this myself (if I can figure out reprogramming the pic) - this could lead to trouble for you as customers could fry their pixies if they run them too hot. but you could maybe limit to a small range of set fairly safe values? The temp protection is a good idea, but I feel as is it is not working as it should as it is just too sensitive in some pixies, and this could resolve the problem without requiring reprogramming the pic, by allowing users to tweak the pixies temp sensitivity.

Suggestion # 2
Somehow shorten the capacitors on the back of the circuit - maybe move the capacitors to the led side of the circuit or otherwise somehow use less tall capacitors? By doing this the tallest parts of the back of the circuit would be the hot parts (the nfets and the Pic) which would make shared heatsinking easier and more efficient, as the shared heatsink would be more directly in contact with the hot components and then you maybe you could sell larger heatsinks, which could be easily attached with your heatsink tape?) My current solution of thermal non conductive epoxy works but the heatsink is not resting perfectly on the hot components due to the capacitor height, I used a good thermal epoxy to bridge the space made by the capacitor height but it would be an improvement to heatsink the components directly. I did not want to use a mini heatsink you suggested on the PIC alone as I wanted the extra cooling of a larger heatsink (to drive brighter/longer) Changing the capacitor height/placement would make heatsinking a breeze (it is only the capacitors that are too tall) and would allow use of any size heatsink. I am using the Ohmite SV-LED-325E heastsinks as they are approximately the diameter of the pixies and fit into my mounts, however an even bigger heatsink could be used, maybe not requiring a fan.

If the pixies temp consistency is addressed and they are easier to heatsink they could really be awesome and used in more always on applications. Anyway I would appreciate any pointers in reprogramming the pic via arduino - I can probably figure out the code part but any tips on how to wire the arduino to the rst/pgd/pgc on the pixies would be great.

Thanks!

peterness
 
Posts: 4
Joined: Tue Jul 12, 2011 12:52 am

Re: Pixie 3W Led Flicker

by ytai on Tue Feb 09, 2016 12:09 am

Hi there, Ytai here, the designer of the Pixie.
Thanks for all the information - this is really helpful. I'm sorry you were having issues, let's hope we can get them addressed.

First, here's some background about how the temperature protection feature works:
The PIC has a built-in temperature indicator, which we're using as a proxy for the temperature of the board. Once over some preset maximum (more on that in a bit) the Pixie would turn the LED off. Now, this on-board temperature indicator is pretty inaccurate, i.e. it may vary significantly from chip to chip. Even more, the reading it would give is very sensitive to the slightest variation in the PIC's supply voltage (which, in our case is expected to vary wildly!). To address the latter, we apply aggressive filtering to the supply voltage, hence the two large capacitors. So we probably won't be able to use smaller packages as you've suggested. To address the former, we calibrate each Pixie individually during production. In this process, we're first programming the Pixie with special firmware that emits the internal temperature reading. We then compare this to the ambient temperature as measured by an external sensor. We then derive what would be the internal reading at 70C and write that value to an area in the Pixie's flash called "user space". This user space is nothing more than a 4-byte area that can be individually erased and written to.

My suspicion is that what you're seeing is some mis-calibrated units. For example, if at the time of calibration that Pixie would for some reason be much colder than ambient (or the ambient sensor too hot), we would end up writing a limit value that is actually lower than 70C. If you want to increase the threshold, you merely need to read the (single-byte) value from the first address of user area, increment it and rewrite. Easier said than done if you have no pogo-pin jig like we do and a PIC programmer, but doable.
I've uploaded the Arduino code we're using for the programming for you. I apologize that it is not documented, but if you can't figure it out let me know and I'll try to help: https://bitbucket.org/ytaibt/ic1257x_prog.
For the units you haven't potted yet, maybe the easiest thing to do would be to send them back to Adafruit for recalibration. If you end up doing this yourself, please do make note of the original calibration values you found on them. This will inform me on whether we have some systematic issue.

Last, to address your comment about being able to set the cut-off from the controller. I have two reasons why I think it is not generally a good idea. First, it would complicate the protocol, possibly adding overhead. Currently, there's nothing more hitting the wire than RGB values, so it's 100% efficient. Second and more importantly, since this is a safety feature (preventing people wearing those from getting burned, preventing things from catching fire), I really prefer this to be a value stored in ROM that you can't mess up no matter what bugs you might have in your controller code (well, surely not you, but some people make bugs :D) or what noise you might have on the data lines. If we get the process right, this hard-coded value should never be a problem in all reasonable cases, and for the "unreasonable" cases when someone really knows what they're doing, they can always override with a programmer. Hope this makes sense to you.

Looking forward to seeing what comes out of your project. Do share!

ytai
 
Posts: 8
Joined: Sun Nov 20, 2011 12:15 pm

Re: Pixie 3W Led Flicker

by karlpost on Thu Mar 31, 2016 1:32 pm

Hello Ytai,

Can you describe in more detail how to program the Pixie PIC using the PIC1257x_Prog.cpp and PIC1257x_Prog.h files? How are the Pixie rst/pgd/pgc pins wired? Via a USB-to-TTL cable? Can you post a picture of your pogo pin programming station? Sounds cool.

Thanks for your help and love the product.

-K

karlpost
 
Posts: 9
Joined: Sat Jun 23, 2012 3:33 pm

Re: Pixie 3W Led Flicker

by ytai on Thu Mar 31, 2016 5:05 pm

Those PIC1257x_Prog.* files are intended to be run on an Arduino, which drives the respective pins. I haven't polished it to the point where I feel comfortable supporting people who want to use it, since it's going to be very time consuming. If you're looking into a hassle-free programming setup, get a PICKit3, which is a cheap ($30-ish) PIC programmer.

The programming station is built as an Arduino shield, with pogo pins going to GND/5V/RST/PGD/PGC and a post going to one of the mounting holes for alignment. Those pins are all on a 0.1" grid, so you can build a fixture on a perf-board it you wanted.

ytai
 
Posts: 8
Joined: Sun Nov 20, 2011 12:15 pm

Re: Pixie 3W Led Flicker

by wewinsto on Fri Apr 01, 2016 11:17 am

Thanks for posting this data. I also have the same problem with my pixies, except 2 out of 4 pixies start flickering immediately - even at room temperature with 150 brightness, so these 2 pixies are, for all intents and purpose, useless. Another pixie exhibits similar behavior to your pixie number 2. The remaining pixie works at 200 brightness with no flicker.

I made some design change suggestions to the designer, and he said they are looking into the problem. I am going to reflash my pixies with a settable max_temp threshold, so I can adjust this value so the pixies will work, given the desired brightness of my project. This value will still be burned into the pixie, so it would be very difficult for someone to tamper with it. Another idea is just having a heat sink with a temperature sensitive switch that physically removes the power to that pixie when it overheats.

I'll let you know how my reflashing works out, but not everyone will have the tools (PicKit3 programmer,etc.) to reflash their own.

wewinsto
 
Posts: 48
Joined: Sun Feb 28, 2016 9:05 pm

Re: Pixie 3W Led Flicker

by beckytwo on Sat Apr 02, 2016 1:32 pm

Does this mean that current Pixies still have this flicker problem. Shall I send back to Adafruit for recalibration???
I want to use in my PIXIE optic fiber skirt. I do not have the skill to solve the problem myself. Thanks

beckytwo
 
Posts: 5
Joined: Thu Jun 12, 2014 2:25 pm

Re: Pixie 3W Led Flicker

by adafruit2 on Sat Apr 02, 2016 3:59 pm

heya peterness, can you email support@adafruit to RMA the 14 bad pixies - you have the most that are possibly miscalibrated (or whatever the issue is) so its easiest to debug with a large qty

adafruit2
Site Admin
 
Posts: 18327
Joined: Fri Mar 11, 2005 7:36 pm

Re: Pixie 3W Led Flicker

by karlpost on Tue Apr 05, 2016 10:42 am

@Ytai or @adafruit2

I would love to see detailed instructions/tutorial to program this Pixie and be supported. I intend to purchase a few hundred of them if they work out.

Thanks,

-K

karlpost
 
Posts: 9
Joined: Sat Jun 23, 2012 3:33 pm

Re: Pixie 3W Led Flicker

by adafruit2 on Tue Apr 05, 2016 5:35 pm

OK so we may have figured out the issue - however the pixies need recalibrating so the easiest way to handle is to have us just replace the super flickery ones you've got
so, if you have pixies that 'oveheat' way too fast compared to others, plz email support@adafruit and ask for "Pixie Rev B" replacements. we don't need the old pixies back, you may be able to use them for some other project :)

adafruit2
Site Admin
 
Posts: 18327
Joined: Fri Mar 11, 2005 7:36 pm

Re: Pixie 3W Led Flicker

by ytai on Tue Apr 05, 2016 6:46 pm

First of all, big thanks to Adafruit for offering those replacements!!!

I'd like to elaborate a little about the status:

I've done extensive testing, was able to reproduce the flickering issue on a significant fraction of the units (severity varies). I've done dug up for the cause and have found a definite problem which is a very likely the root cause. It causes temperature readings during runtime to be very imprecise, so occasionally exceed the temperature limit even if the actual temperature is well below the limit. Of course, raising the limit will reduce the likelihood of that happening, but I strongly disrecommend it, since the unit *will* be able to overheat if you do that, possibly damaging itself or creating a hazard.

The fix for the problem it is a minor software tweak (those who are curious can check out the two recent commits on the public firmware repository). After having applied that fix I haven't seen that issue anymore and Adafruit have independently confirmed this observation. I do, however, want to do so more extensive testing before declaring victory, to avoid any further issues. This will take place over the next few days.

For those who are interested in trying to fix units themselves by reflashing the firmware, you're more than invited to try, but be advised that I won't be able to provide detailed guidance on things that are not specific to this product (such as, how to program a PIC MCU). Also be advised that once you put the firmware on the Pixie, there's still a temperature calibration process that needs to take place, which would require you to have some good basic skills in embedded work as well as tools. If anyone is still super-curious about that given Adafruit's offer to replace the defective units, I can provide some very high-level guidance (but no step-by-step tutorials, since this would be very time-consuming).

My sincere apologies for not identifying this issue before shipping the product. I'm hoping that with fixing this issue you'll experience the Pixie as a reliable and useful product. Thanks for all of you who took the time and patience to surface the issue and press on having it fixed!

ytai
 
Posts: 8
Joined: Sun Nov 20, 2011 12:15 pm

Re: Pixie 3W Led Flicker

by wewinsto on Tue Apr 05, 2016 7:44 pm

Thanks so much for addressing this issue so promptly. This is the mark of a great company - to look out after your customers when they have a problem, and to fix defective products quickly when design problems inevitably arise.

Thanks,
Bill

wewinsto
 
Posts: 48
Joined: Sun Feb 28, 2016 9:05 pm

Re: Pixie 3W Led Flicker

by karlpost on Tue Apr 05, 2016 8:17 pm

Totally agree with Bill (wewinsto)! Awesome service Adafruit!!!

karlpost
 
Posts: 9
Joined: Sat Jun 23, 2012 3:33 pm

Please be positive and constructive with your questions and comments.