Learnings from Chameleon Scarf Project--successes, mistakes,

Wearable electronics: boards, conductive materials, and projects from Adafruit!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
doym
 
Posts: 23
Joined: Mon Nov 25, 2013 2:10 pm

Learnings from Chameleon Scarf Project--successes, mistakes,

Post by doym »

My daughter and I are very new to microcontrollers and wearable electronics, but we really wanted to make the Chameleon Scarf. We successfully completed it after a few missteps (which sound a lot like some of the issues others have asked about on this forum), and so I thought I'd share some of the things we learned here, in case our fixes can help others.

We used 12 Neopixel RGB 2 lights and a Flora v3. We ended up doing version 2 of the scarf (where the ground and positive lines at both ends of the neopixel ribbon strip link back up to each other)--with a few modifications (which themselves had pros and cons):

1. CONDUCTIVE SNAPS: Because we wanted the neopixel strip to be removable from the scarf, we didn't sew the two strip ends to each other, but rather used conductive snaps to complete the circular circuit. (ALSO for newbies like us, we figured out that the circular connection connecting the far end with neopixel #12 back to the flora has to link up to the same VBATT and GND pins on the flora as neopixel #1--not to the 3v and GND pins on the flora to which the color sensor is connected. That wasn't explicit in the adafruit video.) Once we got the conductance from the bus lines to the snaps to work reliably, this turned out to be a successful choice.

2. CONDUCTIVE FABRIC TAPE: Because the v2 scarf suggested using conductive ribbon (which is a bit expensive) to increase conductance and reduce resistance (vs conductive thread, we used 5mm thick conductive fabric tape (which is fairly inexpensive) adhered onto the ribbon. We chose to have all 3 bus lines (power, data, ground) on the SAME face of the ribbon, so that the conductive pads on the neopixels can sit with direct contact on the tape (we thought that might help make the connections better). While the conductive fabric tape provided a fairly low resistance circuit, what became complicated were the sewn connections using the conductive thread (we used 2-ply). Will describe a bit below,

3. RIBBON: We sewed all the elements onto 1.5" thick gauzy polyester ribbon (semi-transparent). We chose semi-transparent for the appearance and because it was a light material, but it caused a couple problems--namely it wasn't as insulating between its front and back faces as a thicker ribbon material would have been. The other issue was that we had to be careful when we used nail polish to seal the starting/finishing knots--because the ribbon was gauzy, the polish could seep to the other face, and if it seeped into the conductive fabric tape, it would block the conductance. Will discuss below our attempt at a solution.

4. KNOTS for the CONNECTIONS: These connection stitches and knots ended up being the source for most of our issues.
For each connection, we did as suggested, looping through the neopixel holes 3-4x with a tightening knot for each pass. We started and finished each connection stitch with a 4x knot on the back face of the ribbon. To ensure no nail polish would seep into the bus lines on the other face of the ribbon, we had those knots located away from where the bus lines ran (ie the stitches would start a few mm away from where the bus lines were laid, and then get sewn into the bus lines, loop around the holes, and return back to where the stitches had started). This was each enough for the power and ground bus line connections, but placing the knots for the data line connections was a bit tight (restricted to the ~2mm area between the data line and one of the two flanking bus lines). We tried to tighten those end knots very well, and were careful with the nail polish and also tried to ensure the thread ends were trimmed quite close to the knots, so there wasn't a lot of overhang.

--However, over time, the knots would loosen, so that the overhangs would get longer and wander over close to where the ground and/or power lines were laid (on the other face of the ribbon--but again we were using a very thin gauzy material). THIS caused a lot of problems with the reliability of the neopixels lighting up. Initially, all 12 neopixels worked well. But as we kept handling the scarf, we noticed usually only the first 3 lights would light up the expected color, and then the only other light that would light was light #10 (and it would be some unrelated color, and flickering). This happened regardless whether we were powering from USB or LiPo battery. If we jiggered the ribbon line, then we would get most of the lights to light up the expected color (except the last few--#10 or #11 would be a random color, and #12 wouldn't light). We checked the resistances and conductances of all segments of the bus lines, and there didn't appear to be any issues. And the fact that normally, the first 3 lights plus #10 would light up, meant that power was getting at least to light #10 on a regular basis. Eventually, we were so fed up with how random and unreliable this was, that I soldered all the neopixel connections with silicone-covered stranded wire and Maker Paste (I'm still a bit scared of proper soldering). This should have ensured all the neopixel connections were solid. BUT we still had the flakiness. Which is when I realized that it wasn't the conductance that was the issue, but that something must be shorting the circuits (I think that is the right way to put it). So I checked the knots on the back of where light #3 was sown, and the frayed knot end for the data line was close to where the ground bus tape was (on the other face of the ribbon--but still, we were realizing that this gauzy ribbon didn't block conductance between the two faces of the ribbon). So I cut off that overhang, and then more lights after #3 started to behave properly. I still had some issues with the lights towards the end, but it turned out to be similar issues with knot-overhangs touching the backs of where the power and/or ground bus lines were laid. When I trimmed all of those off, all the lights started behaving properly and reliably. So for those who are having issues with flaky lights, but don't see any breaks in the conductance when you check with the multimeter, the knot overhangs might be something to tame.

5. FLORA:
We didn't have too many issues with the FLORA itself. The only thing is that our onboard RESET button never seems to work when we were powering from a LiPo battery--instead we had to turn the FLORA on and off. And this appeared to be the case with multiple FLORAs, not just one. Not sure why (is there something in the code that can be modified).

6. SOLDERING the neopixel connections:
As mentioned above, I decided to by pass the conductive tape and conductive thread connections on the neopixel ribbon strip, and I used silicone-covered stranded wire and Maker Paste to solder all the neopixel connections. Works reliably.

7. COLOR SENSOR: We had two issues with the color sensor:

(a) Never really could get it to read and display yellow properly. Usually, when we tried to read yellow, the neopixels would light up reddish. The closest we got to yellow was reading a chartreuse green, and the neopixels would then light up something close to yellow. Is there some improvement to the code that someone could suggest?

(b) A few people seemed to have issues with the color sensor not triggering the blinking of the first neopixel and taking a color reading. Other people have smelled something burning. We had both of those two things happen--and it appeared that we were OVER-POWERING the color-sensor. Firstly, the way I tested any color sensor before I sewed it to our scarf was to use an alligator clip hookup of the sensor to a flora to an 8-LED light strip, and run the chameleon scarf code. That always confirmed that the color sensor I was using worked properly.
--So then, we connected the flora to the sensor with the conductive tape (stitching the connections with conductive thread). When we turned the scarf on, the white LED on the sensor would come on, but there wouldn't be a flashing of the first neopixel or any color output. Eventually, I smelled something burning. I eventually had to detach the color sensor, and I tested it again with my alligator clip set up described above. The color sensor didn't work properly anymore--it turned on the white LED light, but didn't send any signal to the LED light strip. Apparently, we must have fried that one.
--So I tried with a fresh color sensor. It worked on our alligator clip setup. So I sewed it onto the ribbon connecting it to the FLORA with conductive yarn (again, with the idea that I wanted a more conductive connection). Again, only the white LED light on the sensor came on, but no flashing of the 1st neopixel. I didn't smell burning, but I never got an LED output with this setting. I removed the sensor and re-tested it with the alligator clip setup--it worked properly. So the issue was with how I was connecting it to the FLORA on the ribbon.
--Next, I tried to connect the sensor with the FLORA via 2 passes of a 4-strand bundle of 2-ply conductive thread (ie an 8-stranded stitch). Same result--white light, no neopixel flashing, no LED output on the ribbon. I didn't smell burning. The color sensor still worked on the alligator clip setup.
--Finally, I decided to only sew the sensor to the FLORA with 2 passes of singled stranded 2-ply conductive thread (ie a double-stranded stitch). Since then the color sensor works fairly reliably.


TAKE-AWAYS:
1. Probably not a good idea to use the gauzy ribbon, due to the potential for conductive connection between the circuit elements on the front and back faces of the ribbon.
2. Conductive fabric tape did potentially have some advantages over thread connections, but also forced the bus lines a bit close together, which created other issues, especially with the knots for the conductive thread connections.
3. Having all the bus lines on the same face of the ribbon was supposed to create more conductive connection with the neopixels--but also required extra effort to make sure that when the ribbon bends or folds up on itself, the bus lines are insulated from each other.
4. Flakiness of the lights could end up being down to the overhangs of conductive thread from the knots--make sure to tame those.
5. Apparently, it seems it is possible to over-power the sensor--so that it doesn't take any readings, and potentially could get fried.

PICTURES:
I've attached some photos:
1. one of the failed connections for the color sensor--it fried the sensor
2. the scarf lit up (with a different test code--not the chameleon scarf code)
3. A few pics of how our conductive tape on gauzy ribbon looked--ignore the stitching--we ultimately redid those stitches). I just included these to show how problematic it was to use a gauzy material that allowed some conductance between the two faces of the ribbon.
4. A few pics of the completed scarf.

QUESTIONS:
1. Can someone provide a really basic nuts and bolts translation of the chameleon scarf sketch? We are trying to understand it better so we can change up how many color readings it takes, so maybe we can mix and match multiple colors on the neopixel strip.
2. Any insights into why our result button on the FLORA (when powered by the LiPo battery) doesn't do anything?
3. Is it possible to attach in series other Flora sensors (eg the accelerometer) and to combine inputs from both sensors into one code?
4. Are we correct in our conclusion that the color sensor can sometimes received TOO MUCH power, which would prevent it from working?
Last edited by doym on Mon May 31, 2021 4:24 pm, edited 2 times in total.

User avatar
doym
 
Posts: 23
Joined: Mon Nov 25, 2013 2:10 pm

Re: Learnings from Chameleon Scarf Project--successes, mista

Post by doym »

SOME MORE PIX
Attachments
front of our ribbon, with side-by-side bus lines (ignore stitching--we removed those)
front of our ribbon, with side-by-side bus lines (ignore stitching--we removed those)
IMG_2579_neopixel_stitch_front.jpg (225.91 KiB) Viewed 507 times
first attempt at connecting color sensor--too much power (fried the sensor)
first attempt at connecting color sensor--too much power (fried the sensor)
IMG_2583_color_sensor_connection.jpg (311.21 KiB) Viewed 507 times
back of our ribbon, with side-by-side bus lines (ignore stitching--we removed those)
back of our ribbon, with side-by-side bus lines (ignore stitching--we removed those)
IMG_2580_neopixel_stitch_back.jpg (191.93 KiB) Viewed 507 times

User avatar
doym
 
Posts: 23
Joined: Mon Nov 25, 2013 2:10 pm

Re: Learnings from Chameleon Scarf Project--successes, mista

Post by doym »

MORE PIX:
Attachments
finished scarf
finished scarf
IMG_2887_finished_scarf2.jpg (200.52 KiB) Viewed 507 times
finished scarf
finished scarf
IMG_2890_finished_scarf1.jpg (146.53 KiB) Viewed 507 times
neo-pixel ribbon strip lit up (with a different pattern sketch)
neo-pixel ribbon strip lit up (with a different pattern sketch)
IMG_0305_scarf_lit_up.jpg (92.77 KiB) Viewed 507 times

User avatar
doym
 
Posts: 23
Joined: Mon Nov 25, 2013 2:10 pm

Re: Learnings from Chameleon Scarf Project--successes, mista

Post by doym »

PS one last note I forgot--the reason I think I was originally OVER-powering the color sensor is that it sometimes got extremely hot. Again, the fix for this was to connect the sensor to the Flora using a stitch of just double stranded conductive wire, nothing more conductive than that.

User avatar
Franklin97355
 
Posts: 23910
Joined: Mon Apr 21, 2008 2:33 pm

Re: Learnings from Chameleon Scarf Project--successes, mista

Post by Franklin97355 »

Thanks for posting, I'm sure this will give somebody a nudge to experiment further.

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: Learnings from Chameleon Scarf Project--successes, mista

Post by adafruit_support_mike »

That's a good writeup of the project. Thanks for posting it!
doym wrote:1. Can someone provide a really basic nuts and bolts translation of the chameleon scarf sketch? We are trying to understand it better so we can change up how many color readings it takes, so maybe we can mix and match multiple colors on the neopixel strip.
The best way to deal with that is to copy the code by hand. It forces you to slow down and think about every line. Do it as a team, talking over each line as you go. Once you've gotten all the way through the code, go back and do it again. You'll probably be surprised how much looks familiar.

I'm not patronizing a beginner BTW.. those are considered cutting-edge strategy for professional coders:

https://en.wikipedia.org/wiki/Pair_programming
https://en.wikipedia.org/wiki/Rubber_duck_debugging

You may still find sections where you need some outside help, but the time you've spent thinking about them will put you in a much better place to understand the missing pieces.
doym wrote:2. Any insights into why our result button on the FLORA (when powered by the LiPo battery) doesn't do anything?
Not offhand.. try double-clicking it, or putting a sheet of paper between the FLORA and the ribbon to see if those have any effect.
doym wrote:3. Is it possible to attach in series other Flora sensors (eg the accelerometer) and to combine inputs from both sensors into one code?
If they're I2C sensors, yes.

I2C is designed to let multiple devices share the same SDA and SCL lines. Each device has an address, and the microcontroller starts each message with the address of the device it wants to talk to.
doym wrote:4. Are we correct in our conclusion that the color sensor can sometimes received TOO MUCH power, which would prevent it from working?
Generally speaking, no. If you connect power at a certain voltage, the circuit will only draw as much current as it can.

If a device draws enough current to cause damage, it probably means power got connected to something it shouldn't. You mentioned having unwanted connections through the gauze ribbon, and that's probably related to the damage.

Even if you don't want to change the ribbon, you can put a circle of paper or cloth under each PCB to insulate it from conductive fabric below.

Locked
Please be positive and constructive with your questions and comments.

Return to “Wearables”