Posts Tagged Repairs


When I plugged the LCD into the RAMPS board, the USB current jumped from 70-ish mA to about 700 mA, which seemed odd. Eventually the problem followed the “Smart Adapter Board”, which has no active components and simply rearranges two pin headers into two ribbon cables, so what could go wrong?

This stared me in the face for a while until I recognized it:

RAMPS 1.4 - Smart Adapter - solder mask failure

RAMPS 1.4 – Smart Adapter – solder mask failure

Yup, that trace is supposed to run around the corner without merging into the ground plane and, of course, it carries the +5 V power supply to the LCD board. Just another production goof and, I’m certain, the boards don’t get any testing because they’re so simple.

Two cuts, a bit of scraping, a snippet of Wire-Wrap wire, and it’s all good:

RAMPS 1.4 - LCD panel

RAMPS 1.4 – LCD panel

The white-on-blue display is reasonably legible in person, even if it’s nearly invisible here. Might have something to do with polarization vs. the Pixel’s camera.

Everything else on the LCD board works fine. I set the beep to 50 ms and the tone to 700 Hz, which suit my deflicted ears better than the defaults.




1 Comment

Streaming Radio Player: OLED SPI Speed Fix

The OLED displays on the streaming radio players have SH1106 controllers supported by the Luma library, which works just fine. Digging into the source shows the default SH1106 setup (see the class spi() at the bottom) uses an 8 MHz clock:

    def __init__(self, spi=None, gpio=None, port=0, device=0,
                 bus_speed_hz=8000000, transfer_size=4096,
                 gpio_DC=24, gpio_RST=25):
assert(bus_speed_hz in [mhz * 1000000 for mhz in [0.5, 1, 2, 4, 8, 16, 32]])

Alas, the SH1106 doc suggests a maximum SPI clock of 2 to 4 MHz, the latter only with fair skies, a tailwind, and a stiff power supply:

SH1106 OLED Controller - SPI timing

SH1106 OLED Controller – SPI timing

The display doesn’t get updated all that often, so there’s no point in rushing things:

serial = spi(device=0,port=0,bus_speed_hz=1000000)
device = sh1106(serial)

They’ve been ticking along without mysterious blanking or mirroring for a bit over two weeks, so I’ll call it a fix.


Leave a comment

Bathroom Sink Stopper Rod

After swapping the corroded steel rod end-for-end twice, I expected this would happen:

Bathroom Sink Stopper Rods

Bathroom Sink Stopper Rods

So now we know a chrome-plated steel rod will survive 16 years in a bathroom drain, at least if you’re willing to coddle the fool thing far more than seems reasonable.

I eased a slug of epoxy into the brass tube to seal the wet end. Given how little use the stopper gets, I hope it lasts forever …



SRAM Shift Indicator Repair: Polypropylene Sheet

Over the course of a few weeks, both of the indicators in the SRAM grip shifters on my bike snapped off. Having recently touched my parallel jaw clamp assortment, it occurred to me I could mold snippets of polypropylene sheet (saved from random clamshell packages for just such a purpose) around the nose of a clamp and come out pretty close to the final shape:

SRAM Shift Indicator - shaped replacements

SRAM Shift Indicator – shaped replacements

A hot air gun set on LOW and held a foot away softened the polypro enough so a gloved thumb could squash it against the jaw. Too much heat shrinks the sheet into a blob, too little heat lets the sheet spring back to its original shape.

The flat tab of the original indicator is about 1 mm thick. I found a package of 47 mil = 1.2 mm sheet with one nice right-angle bend and ran with it.

Because I expect sunlight will fade any color other than black, that’s the Sharpie I applied.

They don’t look as awful as you might expect. The rear shifter, minus the cover:

SRAM Shift Indicator - rear detail

SRAM Shift Indicator – rear detail

The front shifter, with cover installed and HT PTT button below the still-good Kapton tape:

SRAM Shift Indicator - front assembled

SRAM Shift Indicator – front assembled

The transparent covers press the OEM indicators down and do the same for my homebrew tabs. I expect the Sharpie will wear quickly at those contact points; next time, I should tint the other side.

They’re rather subtle, I’ll grant you that.

Now, to see if they survive long enough to make the worry about a brighter color fading away a real problem…

Leave a comment

Epson R380 Continuous Ink Supply: Tubing Failure

After 4.5 years, one of the silicone tubes on the Epson R380’s continuous ink supply system broke:

Epson R380 - broken CISS tube

Epson R380 – broken CISS tube

The yellow smudges in front of the tubing clamp and across the top suggest the total mess lying in wait between the cartridges. Donning my shop apron and wielding damp paper towels cleaned things up well enough.

I cut through all the tubes a few inches back from the clamp, pulled the stubs off the elbow connectors, reinstalled the fresh ends, and re-repaired the clamp with a new cable tie:

Epson R38 - CISS tubes

Epson R38 – CISS tubes

Although the failing yellow supply surely contributed to the problem, the printhead seems to be on its last legs after nearly nine years. IIRC, I got the printer for $15 after rebate, spent maybe four times that on CISS tanks, and perhaps $200 on good-quality ink in pint bottles, it doesn’t owe me much.

Maybe I shouldn’t buy ink in pint bottles any more.


Glass vs. Epoxy: Divot!

The WS2812 RGB LED atop the Bowl of Fire Floodlight

Reflector floodlight - purple phase

Reflector floodlight – purple phase

failed in the usual way after a bit over a year of constant use.

I’d done an unusually good job of epoxying the ersatz heatsink in place:

Reflector floodlight - finned LED holder

Reflector floodlight – finned LED holder

I wrapped the bulb in a towel with only the heatsink sticking out, whacked the side of the heatsink parallel to the glass with a plastic-face hammer, and it popped right off:

Epoxy vs glass - divot

Epoxy vs glass – divot

The missing piece of the epoxy ring turned out to be a divot ripped out of the glass, which I didn’t notice until I’d chipped the fragment off the aluminum, so no pictures.

Given the relative strengths of epoxy and glass, pulling a divot seems impossible, but folks doing 3D printing on glass platforms have been reporting exactly that failure for years. The prevailing theory seems to involve small scratches and defects in the glass surface, with subsequent weakening, and stresses applied to the epoxy perpendicular to the glass surface pulling the cracks apart.

Replacing the RGB LED will require drilling it out and probably a complete rewiring, because I seem to have made liberal use of epoxy inside the heatsink and brass tube.



Amateur Lock Picking

For reasons not relevant here, I was called upon to open a bulletin-board lock with a complete lack of keys:

Bulletin Board Lock - locked

Bulletin Board Lock – locked

It’s obviously not the highest security lock you’ve ever seen. Armed with a small screwdriver and an old darning needle, this took the better part of 30 seconds:

Bulletin Board Lock - opened

Bulletin Board Lock – opened

Actually, I devoted a few minutes to verify none of my collection of random keys would suffice.

Replacing the lock not being within my remit, I improvised a simple retainer from available materials:

Bulletin Board Lock - improvised strap retainer - front

Bulletin Board Lock – improvised strap retainer – front

Yes, the nylon cable tie will surely pull out of the latch:

Bulletin Board Lock - improvised strap retainer

Bulletin Board Lock – improvised strap retainer

And I admit the installation’s security has taken a definite downward step:

Bulletin Board Lock - push pin security

Bulletin Board Lock – push pin security

Some day, I’ll tote a wrench to the site, remove the lock, and improve the improvisation.

Replacing the lock seems mired in an intractable budgetary wrangle. Similar locks being five bucks on Amazon, I’m tempted to just make it happen, but doing so would apparently roil the decision-making stratum. I’m perfectly happy to remain an on-call techie devoid of political ambition.

Leave a comment