Archive for category Electronics Workbench

Cheap WS2812 RGB LEDs: Continuing Failures

Three more knockoff Neopixels failed in the last few weeks, including one that can’t possibly suffer any thermal stress:

Halogen bulb brass cap - overview

Halogen bulb brass cap – overview

I wrapped the halogen bulb in a shop towel, laid the ersatz heatsink against an anvil (actually, it was a microwave transformer on the Squidwrench operating table), whacked a chisel into the epoxy joint, and met with complete success:

Failed WS2812 LED - ersatz heatsink

Failed WS2812 LED – ersatz heatsink

Having epoxied the PCB and braid in place, there was nothing for it but to drill the guts out of the brass cap:

Failed WS2812 LED - drilling

Failed WS2812 LED – drilling

Which produced a pile of debris in addition to the swarf:

Failed WS2812 LED - debris

Failed WS2812 LED – debris

The brass cap emerged unscathed, which was just about as good as I could possibly hope for.

The base LED in this 21HB5A also failed:

21HB5A on platter - orange green

21HB5A on platter – orange green

Soooo I had to unsolder the plate lead and Arduino connections to extract the bottom PCB; fortunately, that was just a press-fit into the base.

I should mount a 3.5 mm stereo jack on the platter and run the plate lead into a nice, albeit cheap, knurled metal plug, so I can dismount both the tube and the plate lead without any hassle. Right now, the tube can come out of the socket, but the plate lead passes through the platter.

For whatever it’s worth, all of the dead WS2812 LEDs pass the Josh Sharpie Test, so these failures don’t (seem to) involve poor encapsulation.



X10 Transceiver Case Plastic: End Of Life, Redux

Another X10 RF transciever, this one made for IBM (!) a long time ago, emerged from the heap with its case falling apart: the plastic bosses that should anchor the screws had broken off, then cracked radially. Given that I was probably going to toss it anyway, for reasons that will soon be obvious, I tried repairing the bosses just for practice.

Stuffing the boss fragments into close-fitting brass tubes, with a dash of IPS #3 on the broken faces, put them back together reasonably well:

HD501 X10 Transceiver - plastic boss gluing

HD501 X10 Transceiver – plastic boss gluing

More IPS #3 and a pair of clamps stuck the bosses back on the case:

HD501 X10 Transceiver - plastic boss assembly

HD501 X10 Transceiver – plastic boss assembly

Note the dark smudge on the inside of the case. Even though nothing on the PCB looked particularly overheated, Soot Is Sign of Bad Electrical Health.

And it turned out neither the bonds nor the plastic were up to the task. A day after successfully reassembling the transceiver, the bosses failed along new cracks and crumbled into different fragments.

I applied a Kapton tape belly band around the case halves, verified that the transceiver no longer produced reliable X10 commands, and executed ++recycle_pile.

So it goes.

Leave a comment

Proto Board Holders: 80×120 mm

Another stack of proto boards arrived, this time 80×120 mm, and I ran off another pair of holders:

Proto Board Holder - 80x120 - tooling

Proto Board Holder – 80×120 – tooling

Not wanting to, ahem, screw around with the lathe, the screws got themselves shortened the old-fashioned way: by hand, with the screw cutter, then filed and passed through a 4-40 die to clean up the threads.



Leave a comment

Bandsaw Worklight

Having hacked back the end of the USB gooseneck extension, a tweak of the COB LED heatsink mount for my desk lamp produces a smaller version for a 1.8 W LED:

Chip On Board Heatsink Mount - Bandsaw Lamp - solid model

Chip On Board Heatsink Mount – Bandsaw Lamp – solid model

That fits half of a random heatsink, bandsawed just to the far side of the middle fin and milled flat.

Ream out the 5 mm hole with a #8 drill for a snug fit around the gooseneck, jam gooseneck in place, dab epoxy on the corners of the recess, mash the heatsink in place, solder wires to LED, smear epoxy on the aluminum backplate, clamp while curing:

USB Gooseneck - LED assembly

USB Gooseneck – LED assembly

And it looks pretty good, if I do say so myself:

USB Gooseneck - on bandsaw

USB Gooseneck – on bandsaw

The hook-n-loop tape holding the cable to the bandsaw gotta go, but should suffice until I conjure a better mount.

The alert reader may wonder how a 9 V COB LED runs from a 5 V USB cable with nary a trace of a voltage booster to be seen. Well, that’s not really a USB cable any more; I paralleled the red+white and black+green wires for lower resistance, then hacked a 9 VDC power supply into an old USB hub:

Hacked USB hub - PCB mods

Hacked USB hub – PCB mods

I ripped out the upstream USB plug, hotwired the 9 V supply where the 5 V USB wires used to be, soldered jumpers on the downstream sockets to short the outer two pin pairs together, razor-knifed the power leads going into the epoxy-blobbed USB controller, and declared victory:

Hacked USB hub - in use

Hacked USB hub – in use

Admittedly, that “In Use” LED runs a bit brighter now.

I have a few other tools on that bench in need of LED lights; when I build ’em, they can all plug into this hub. No reason to invent new connectors & cables & all that. It may need a power switch.

Turns your stomach, eh?

The OpenSCAD source code as a GitHub Gist:


, ,


USB Gooseneck: Unwinding

The USB gooseneck extension consists of a spring-steel helix with an aluminum filler strip to smooth the outside:

USB Gooseneck - filler unwound

USB Gooseneck – filler unwound

A pin vise holds the intact part of the gooseneck.

The filler unwinds easily, but the spring required several bashes with a drift punch to loosen the first coil. The pin vise can’t apply enough grip to immobilize the spring, so you (well, I) bashed more-or-less radially outward, rather than at a tangent; that’s almost as difficult to do as to describe.

After enough bashing to get a grip with sturdy needlenose pliers, the spring unwound in short sections, again applying force radially to avoid turning the gooseneck in the pin vise:

USB Gooseneck - spring unwinding

USB Gooseneck – spring unwinding

The black helix aimed off to the side seems to be plastic from the USB shell injection-molded around the connector hardware.

Chopping the spring with the tip of a hardened diagonal cutter (don’t do this with a copper-wire dike!) and bashing the tail ends back around the wire core produced a passable result:

USB Gooseneck - reshaped ends

USB Gooseneck – reshaped ends

The black thing sticking out beyond the spring seems to be the jacket around the wires.

All the conductors are the same diameter, which isn’t shouldn’t be particularly surprising.

1 Comment

NESDR Mini 2+ vs. Input Terminator

A tiny handful of known-good-quality SMA terminators arrived from eBay:

KDI T187GS - 50 ohm 1 W SMA attenuators

KDI T187GS – 50 ohm 1 W SMA attenuators

They’re described as KDI Triangle T187GS SMA Female Terminator, 50Ω, 1W, 0-4GHz. A bit of searching suggests MCE (whoever they are) borged KDI quite a while ago (their website, last updated in 2003, has been lightly vandalized) and a datasheet won’t be forthcoming.

In any event, a NooElec NESDR Mini 2+ radio connected to a dual-band VHF-UHF antenna perched near a window shows this for a local FM station:

FM 101.5 NESDR - direct

FM 101.5 NESDR – direct

Zooming to 5 dB/div:

FM 101.5 NESDR - 5 dB steps

FM 101.5 NESDR – 5 dB steps

Installing the terminator at the end of an MCX-to-SMA adapter cable:

FM 101.5 NESDR - 50 ohm terminator

FM 101.5 NESDR – 50 ohm terminator

Haven’t a clue about those tiny little spikes with the terminator in place, but they don’t line up with any of the high-energy inputs and are, most likely, junk brewed up within the radio. That’s with the RF gain set to 49.6 dB and AGC turned off.

The hardware looks like this:

NESDR with SMA attenuators

NESDR with SMA attenuators

The MCX connector on the radio isn’t the most durable-looking thing I’ve ever seen, so strapping the adapter cable to the case seems like a Good Idea. You can get an NESDR radio with an SMA connector for about the same price, which I’d have done if were available a while ago.

The terminated input looks to be about -75 dBFS, about 15 dB below the between-station noise, and the carrier tops out around -25 dBFS, for a “dynamic range” of 50 dB. Oddly, that’s just about dead on the maximum dynamic range you can get from the 8 bit RTL2832U demodulator / ADC stuffed inside the NESDR: 8 bits × 6 dB/bit.

It is not obvious to me the signal from a randomly chosen (albeit powerful) FM station should exactly fill the receiver’s dynamic range, particularly without AGC riding herd on the RF gain. Some hardware tinkering seems in order.

The GNU Radio flow graph:

FM Broadcast - GNU Radio flow

FM Broadcast – GNU Radio flow



Monthly Science: WWVB Reception Sample

Further results from the SDR-based WWVB receiver:

60 kHz Receiver - preamp HIT N3 Pi3 - attic layout

60 kHz Receiver – preamp HIT N3 Pi3 – attic layout

Seven hours of mid-January RF, tight-zoomed in both frequency and amplitude, from 0350 to 1050 local:

WWVB waterfall - N3 - 2017-01-24 1050 - composite

WWVB waterfall – N3 – 2017-01-24 1050 – composite

The yellow line of the WWVB carrier comes out 2 ppm high, which means the local oscillator chain is 2 ppm low. We know the WWVB transmitter frequency is exactly 60.000 kHz, translated up by 125 MHz to the N3’s tuning range; you can, ahem, set your clock by it.

The blue band marks the loop antenna + preamp passaband, which isn’t quite centered around 60.000 kHz. Tweaking the mica compression caps just a bit tighter should remedy that situation.

Given that input, a very very tight bandpass filter should isolate the WWVB carrier and then it’s all a matter of fine tuning…


Leave a comment