Skip to content

Latest commit

 

History

History
51 lines (26 loc) · 12.4 KB

File metadata and controls

51 lines (26 loc) · 12.4 KB

Bullshit

Choked By Bullshit - a light-up necklace

This was made for the 4th Annual Wednesday Maker Chat Holiday Gift Exchange. Congrats to Luna, who ended up with this!

Pix and video will be coming soon. Wanted to write it up while I still had it fresh in my mind!

Background:

After making Glowies (individual LED "filament" pendants and earrings each powered by a small lipo battery), I wanted to make something bigger, which used several shapes. I thought about doing a bracelet, maybe making a custom flex PCB, maybe a bunch of stars and lightning bolts or something, and I'm not sure exactly what the course of events was, but I ran across my filament letters which I had gathered to make certain words like "FUCK" and "SHTI", and settled on making a choker-style necklace that spelled "BULLSHIT". I tend to like swear words and bold statements, so it just felt right. Plus, "Choked by Bullshit" is how I feel about the world right now.

Bezels:

I knew I wanted to obscure the letters with translucent grey acrylic, like I do on the FUnicorn. I didn't want diffusion, so I purposefully did not use "LED acrylic". Each letter needed to be a separate "link" so that the choker as a whole could curve around a neck, so I got to designing a letter bezel. I printed it out of TPU so that it was flexible enough to snap over the acrylic and also so that it would be warm and comfortable against the skin. There are small holes at the right and left sides of the bottom of each bezel, for the wires to route through. The letter T was annoyingly 3mm wider than all of the other letters, and the letter "I" is a skinny serif-less straight vertical line. So "I" got a narrower bezel and "T" got a wider one. Kerning is important, yo.

Hinges:

Each letter also had to move, so the choker would curve around your neck. I got these tiny little jewelry hinges and thought I would use them, but there wasn't a great way of attaching them to the bezels that didn't add a bunch of space between each letter. Plus so many little screws, even with Loctite, each would be an opportunity to fall off and get lost. I looked at just using jump rings, but even the smallest ones would still require a bunch of space between each letter, because there needed to be an "ear" feature with a hole to put them through. I went back to the hinges and thought about gluing them into slots in each letter, so that only a pin's width would be added between each one. This worked on a small sample, but I was going to have to glue a bunch of these in, make sure I didn't get glue in the hinge, and it would alos make it really hard to replace a letter if I needed to. But the pin style of hinge was a good idea, and I figured the TPU would hold a brass pin pretty tightly. So I designed little hinge bosses into the bezel, two on the right and two on the left of each letter and made them interlocking. A 0.8mm brass pin goes through all 4 bosses on each side and holds them quite snugly.

Wires:

Onto wires! I wanted them to be understated and the most understated wire with the thinnest insulation is magnet/motor/enameled wire. Plus it looks classy as shit. This solid core wire has a thin layer of enamel insulation, has a cool metallic look to it, and the 30AWG I used almost disappears when viewed from a few feet away. It's also small, so the wiring doesn't take up a lot of space. However, because it's solid core, it tends to work-harden and break easily when it's repeatedly moved back and forth, which is bound to happen around solder joints. So I put little service loops e-v-e-r-y-w-h-e-r-e, which allow the wire to move in different planes and expand/contract the loop instead of working back and forth at the solder joint. The other cool thing about enameled wire is that you can easily strip it in the middle with a soldering iron and some solder. So I cut one long red wire, about 4x the length of the necklace. I fed it through the left side of the B, made a little service loop by wrapping the wire 2x around a drill bit, stripped a portion of the wire, wrapped it around the current-limiting resistor's a couple of times, and then fed it out the right side of the letter. Repeat 7X. The letters are wired in parallel, each with its own 100 ohm resistor on the + pin which limits current to roughly 12 mA each when powered directly from a lithium ion battery. I did the same for the GND side of the LEDs, this time putting the service loop on the right side of the bezel, and feeding the GND wire through the hole in the - side of each letter 2X.

Battery and Holder:

The battery was a relatively easy choice - I had a 16340 with integrated USB-C charging port. It had 900 mAh capacity so BULLSHIT would last for 9 hours fully on. It was a nice compact size (about 2/3 the length of an AA). But how to hold it? Off-the-shelf holders were either big and clunky, or were minimal and intended for PCB use so didn't hold the battery as snugly as I wanted. I guess it's time to make a custom one of those too! I found individual battery contacts on amazon (meant to solder into a PCB I think), so had a nice negative spring-side and positive nub side pre-made. I designed and printed a battery holder out of TPU, with cutouts to be able to insert the contacts. I also rotated the contacts so that the solder ends stuck out on opposite sides of the battery holder, and were off to the side instead of straight down (and therefore poking into your neck). I wasn't sure how well this was going to work and they came out remarkably good after only a few iterations.

Clasp:

The final piece of mechanical design was the clasp! I took a page from Debra Ansell / GeekMomProjects - on the Lux Lavalier she used a magnet straight to the battery, so the clasp transferred power and acted like an on/off switch. This is great for a wearable necklace - if you're wearing it, you want it to be on, if you're not wearing it, you want it to be off. But I didn't want to do quite the same thing and have the magnet make direct contact with the battery - this forces the battery to lie horizontally, and I wanted the battery to be vertical so it would take up less space, and also conform to your neck better. I got some magnetic jewelry clasps and really liked how one that used bar magnets felt, so I modified the design to have a different shape, keying holes in different places, and have the magnet be solderable from the back. This was some tricky modeling - I used symmetry/mirroring a lot, splines were involved, and Fusion really likes to ignore constraints when these two things coincide. But I really like the result. I even wrote "BS" in the clasp with a fancy script font. The clasp is made out of PETG because I wanted it to feel clicky and solid, and BS is actually printed out of 2 layers of orange PETG. It looks a bit brassy/brown because it's only 2 layers and PETG colors tend to have a bit of translucency to them, which worked well. This filament also fluoresces under blacklight, which is fun!

Whew! After all was said and done, I had designed 4 different letter bezels, 2 clasp pieces, 1 microcontroller holder/bezel, and 1 battery holder for a total of 8 custom mechanical parts.

Adjustability:

This was a bit tough and still something I don't have a perfect answer to. I wanted to separate the letters from the microcontroller/battery/clasp so that they'd stand out a bit more. I wanted the m/b/c to be in the very back and the latters as much in the front as possible. Eight letters is a bit much, they do wrap around your neck and you can't see all of them from the front. Six letters would be more visible, but gives you a lot less to work with in terms of message. I mean, you need 8 letters for "FUCK YOU" which I would consider the minimum viable message. I used a short chain of brass jump rings to either side of the m/b/c to make the collar a size that fit around my neck snugly. I looped the enameled wire around the jump rings on either side multiple times, thinking that if someone with a bigger neck got this gift, I could probably unwrap it a little and add some jump rings without having to redo any wiring. I'm not sure if this would have worked out well, and fortunately, the recipient is a little smaller in size than I am, and this is much easier to shorten than lengthen. I like the way the brass rings look, but I'm not sure if the enameled wire is going to hold up there or if the rings will rub it. I think a magnetic clasp extender might be a better option for being able to make it longer by more than a ring or two.

Microcontroller:

Did I say microcontroller? I added one because you never know what you might want to do with something like this - maybe do different flicking or flashing patterns, or....sound-reactive? Oooooooh, not sure if I have enough time for that, but I do have a small DFRobot analog microphone board lying around for a rainy day. A single TO-92 transistor can handle switching GND to the letters. And maaaaybe eventually someone will want to make a remote button to stick in their pocket to turn it off and on? So the procesoor better have WiFI which basically means an ESP32-C3 these days. I got some XIAO boards from Seeed Studio, but it turns out the external antenna they need is kind of big (for this purpose). Isn't there a small dev board for the C3 with a built-in antenna? There is! So I got an ESP32-C3 Super Mini in on the Saturday before the exchange, which was the following Wednesday. I was still designing and printing mechanical parts on Saturday and Sunday, I started the wiring on Sunday and found that while the red enameled wire I had stripped nicely with a soldering iron, the gold DID NOT. Boooooooo. I really wanted a different color on GND so I quick ordered some gold that advertised self-stripping off of amazon, to be delivered on Monday afternoon, and crossed my fingers. Monday morning I spent writing some code!

Software:

I don't have much experience with ESP32s, and I generally like to look at manufacturer's dev environments, header files, datasheets, etc and get real comfy and familiar with a processor. So while I wanted to dive into ESPIDF, I ain't got time for that. This project is due in 48 hrs! So I loaded up the Arduino platform on PlatformIO and wrote super simple code that got the job done. I opted for an analog mic for two reasons - one is that it required the smallest number of wires (3), and the other is that reading an ADC is generally pretty easy. Plus, it was just going to get turned into a PWM anyway, and analog reading -> PWM duty cycle is pretty darned simple if both use the same number of bits. I first just used the raw data from the mic, was confused as to why the LED was both dimming and getting brighter, then remembered that a mic gives me an actual sound wave, not a volume reading. I quick looked up an example, was reminded that max and min functions were a thing, and quickly had a volume reading. A little bit of tweaking to determine ambient noise and put in a dead zone so it would stay off unless you talked, and I had a pretty darned good sound-reactive BULLSHIT detector!

Fortunately the wire that came in on Monday did self-strip (although not as nicely as the red wire I already had), so I was able to wire up the GND on Monday, finish wiring the mic to the Super Mini, wire the LED drive transistor to the Super Mini, and got everything hooked up and working. I wasn't 100% happy with the clasp, so I ended up tweaking that on Tuesday with one day left. Of course, Fusion 360 started to barf on my splines & constraints and crash, my X1C stopped recognizing my AMS briefly and thought the filament from the AMS was from an external spool and was stuck, and then when I finally got all that straightened out, I glued in a magnet with the wrong polarity so it repealled the opposite side of the clasp. And I was down to the wire playing filament chicken! Fortunately it all worked out, I did not screw up the second print of the clasp, and had a fully working gift at 8:30PM the night before the exchange!

Summary:

I'm truly happy with how this project turned out. There are of course a few minor details to button up and things to do differently next time, but damn, does this look hot as shit. I've got a lot of ideas for custom boards, etc, to be able to make one of these more easily, with far less finicky wiring. But in the meantime, if you want one that says "FUCK YOU", "FUCK ME", "SLUT", or "BITCH", that'll cost you $1000 and you'll fucking like it you dirty little whore.