Craftsman Garage Door Opener: Rogue Remote

Just before midnight, the garage door opened, but, being early-to-bed folks, it wasn’t either of us. I pulled my fingernails out of the ceiling, padded out to the garage, verified there was nobody (not even a critter more substantial than a spider) inside, closed the door with the hardwired control button on the wall, and went back to bed. An hour later, the door opened again, then tried to take a bite out of me when I walked under it.

I pulled the opener’s plug, yanked its emergency release latch, lowered the door, and returned to bed; it was not a restful night.

The key to the diagnosis came from the little yellow LED on the back of the opener, just above the purple LEARN button:

Craftsman Garage Opener - indicator LED
Craftsman Garage Opener – indicator LED

In addition to indicating various programming states, it also lights when the opener’s radio receives a transmission from one of the remote controls. The LED was flickering continuously, showing that something was hosing the receiver with RF.

We have three remotes: one in the car, one on my bike, and one in the back room overlooking the garage. None of them worked reliably, suggesting the RF interference was clobbering their transmissions.

Disabling the remotes by removing their batteries (which were all good) also stopped the interference. Reinstalling the batteries one-by-one identified the rogue opener:

Craftsman Garage Opener - remote innards
Craftsman Garage Opener – remote innards

The slip of paper let me isolate the battery terminal and stick a milliammeter in the circuit, which showed the remote was drawing about 1.5 mA continuously. I thought one of the pushbutton switches had gone flaky, but swapping an unused one for the main door switch had no effect.

I lost track of which remote it was, but it lived in the car or the back room for all its life, so it hasn’t suffered extreme environmental stress. I have no idea why it would fail late one night, although I admit to not monitoring the LED on a regular basis. For whatever it’s worth, in the weeks leading up to the failure, activating the opener sometimes required two pokes at the remote, but nothing bad enough to prompt any further investigation.

A new cheap knockoff remote arrived in few days and it’s all good.

Protip: different openers, even from the same company, use different RF frequencies. For Craftsman openers, the color of the LEARN button is the key to the frequency; purple = 139.53753 MHz.

Tour Easy: PTT Switch Cleaning

The switch I installed on Mary’s bike a year ago was intended for indoor use only and, without any trace of weather sealing, recently became intermittent. No surprise, as it’s happened before, but, by regarding my vast assortment of little switches as consumables, we get a low-profile / tactile / E-Z push PTT button without forming a deep emotional attachment.

Anyhow, you can see the unsealed square perimeter of the switch actuator:

Tour Easy - PTT button
Tour Easy – PTT button

The light-gray button sits on a post molded into the actuator. Pry the actuator out and the switch dome shows crud worn off the cross-shaped plunger:

Tour Easy - PTT button - dome plate
Tour Easy – PTT button – dome plate

The underside of the dome has a weird golden discoloration that surely wasn’t original:

Tour Easy - PTT button - dome plate discoloration
Tour Easy – PTT button – dome plate discoloration

I have no idea how a liquid (?) could have gotten in there and done that without leaving other traces along the way. The contact bump on the discolored leg had some crud built up around it which responded well to a small screwdriver.

Contrary to what the symmetrical four-legged dome might suggest, only one leg rests on a contact in a corner:

Tour Easy - PTT button - contacts
Tour Easy – PTT button – contacts

So, yes, a bit of dirt / corrosion / mystery juice in a single spot could render the whole thing intermittent.

I removed the obvious crud from the obvious spots, wiped everything down with some Caig DeoxIT, reassembled in reverse order, and it seems to be all good again. Of course, these things only fail on the road, so it’ll take a few rides to verify the fix.

DSO150: USB Serial Output

Taking all those pictures of the DSO150 screen reminded me it has a data dump function: press the V/Div and ADJ buttons to squirt configuration, measurements, and trace data from the TX pad on the main board, just in front of the red-black power wires hot-melt glued in place:

DSO150 USB serial adapter - interior
DSO150 USB serial adapter – interior

The picture shows the “before” stage, while I was figuring out where to carve another hole in the case.

NB: The 113-15001-111 DSO150 firmware version includes the serial output option, so you won’t need third-party firmware. Similarly, current PCBs bring the serial pins to neatly labeled header pads. You should refer to the JYETech DSO150 / DSO Shell product page for the details.

After all the cuttin’ and filin’ was done, it looked like this:

DSO150 USB serial adapter - exterior
DSO150 USB serial adapter – exterior

The power switch on the back of the case (top of the picture) disconnects the lithium cell from the charge controller board (now tucked behind the battery) to eliminate any trickle current discharge. Charging the battery thus requires turning that switch on and turning the scope off with its own power switch (along its front edge). Capturing trace data requires having both switches on (duh), whereupon the scope’s normal operating current convinces the charge controller that the cell hasn’t reached full charge. Turn the scope off and, most likely, the controller will tell you the cell is fully charged.

An intro blurb squirts from the port at 115200 in good old 8N1 format when you turn the scope on:

DSO Shell
JYE Tech Ltd.
FW: 113-15001-111

Pressing the V/Div and ADJ buttons dumps the trace data:

VPos, -2.02V
TriggerLevel,  2.02V
Vmax,  2.85V
Vmin,  0.24V
Vavr,  0.87V
Vpp,  2.61V
Vrms,  1.03V
Freq, 0.441Hz
Cycl, 2.266s
PW, 0.231s
Duty, 10.2 %
00000,0000000000, 0.8518688
00001,0000000008, 0.5273474
00002,0000000016, 0.5273474
00003,0000000024, 0.5476300
00004,0000000032, 0.5476300
00005,0000000040, 0.5476300
<< snippage >>
01015,0000008120, 0.8113037
01016,0000008128, 0.8315863
01017,0000008136, 0.8315863
01018,0000008144, 0.8315863
01019,0000008152, 0.8315863
01020,0000008160, 0.8315863
01021,0000008168, 0.8315863
01022,0000008176, 0.8518688
01023,0000008184, 0.8518688

It’s all in neatly comma-separated-value format, so you can slam it into a spreadsheet and have your way with it. Utilities also exist to capture the data, extract the values, and send them directly to GNUplot, etc.

Like so:

DSO150 test image
DSO150 test image

If I expected to do a lot of that, I’d boldify the traces and embiggen the text, all of which is in the nature of fine tuning.

It’s hard to reproduce the beauty of the DSO150’s display, though:

DSO150 test image
DSO150 test image

The DSO150 remains pretty good for being the worst oscilloscope I’m willing to use …

Tour Easy: Baofeng Radio PTT Cable Glitch

The signal from the Baofeng UV-5R HT tucked behind the seat of my Tour Easy became exceedingly choppy on recent rides. Here’s an earlier version to give you an idea of the situation:

Radio in seat wedge pack in bottle holder
Radio in seat wedge pack in bottle holder

Of course, it worked perfectly in the garage and only failed while on a ride. The clue turned out to be having it fail more on rough roads and crappy scab patches (courtesy of NSYDOT) than on relatively smooth asphalt.

That led me to wiggle of All The Cables while crouched beside the bike in the garage, listening to another HT, and watching the transmit LED. After about five minutes of this, I found wiggling the 3.5 mm connector between the cable from the PTT button on the handlebar and the radio blinked the transmit LED: ah-HA!

The connector had worked itself loose from the straps holding the radio pack in place, pulled some slack in the cable, and was bouncing around in mid-air. A wrap of duct tape now holds the connector halves together, the upper loop passes around the Velco-ish strap, and the lower loop (from the PTT button) goes through the bottom of the repurposed bottle holder:

Tour Easy - Baofeng PTT cable connection
Tour Easy – Baofeng PTT cable connection

No trouble on the next two rides, so we’ll call it fixed.

Protip: it’s always the connector.

Baofeng Bike Helmet Headset Wiring Repair

The audio output wire from the Baofeng UV-5R to my bike helmet headset adapter broke after a year and a half, far longer than I expected:

Baofeng - broken spkr wire
Baofeng – broken spkr wire

It’s the green one, over on the left, pulled out of the heatstink tubing that should have provided some strain relief, having broken at the solder joint to the resistor.

A quick & easy fix, after which I reapplied even more tape to hold everything in place.

Maybe it’ll last two years this time around …

Tektronix Circuit Computer: Layout Analysis

Following a linkie I can no longer find led me to retrieve the Tektronix Circuit Computer in my Box o’ Slide Rules:

Tektronix Circuit Computer - front
Tektronix Circuit Computer – front

I’m pretty sure it came from Mad Phil’s collection. One can line up the discolored parts of the decks under their cutout windows to restore it to its previous alignment; most likely it sat at the end of a row of books (remember books?) on his reference shelf.

The reverse side lists the equations it can solve, plus pictorial help for the puzzled:

Tektronix Circuit Computer - rear
Tektronix Circuit Computer – rear

Some searching reveals the original version had three aluminum disks, shaped and milled and photo-printed, with a honkin’ hex nut holding the cursor in place. The one I have seems like laser-printed card stock between plastic laminating film; they don’t make ’em like that any more, either.

TEK PN 003-023 (the paper edition) runs about thirty bucks (modulo the occasional outlier) on eBay, so we’re not dealing in priceless antiquity here. The manual is readily available as a PDF, with photos in the back.

Some doodling produced key measurements:

Tektronix Circuit Computer - angle layout
Tektronix Circuit Computer – angle layout

All the dimensions are hard inches, of course.

Each log decade spans 18°, with the Inductive Frequency scale at 36° for the square root required to calculate circuit resonance.

Generating the log scales requires handling all possible combinations of:

  • Scales increase clockwise
  • Scales increase counterclockwise
  • Ticks point outward
  • Ticks point inward
  • Text reads from center
  • Text reads from rim

I used the 1×100 tick on the outer scale of each deck as the 0° reference for the other scales on that deck. The 0° tick appears at the far right of plots & engravings & suchlike.

The L/R Time Constant (tau = τ) pointer on the top deck and the corresponding τL scale on the bottom deck has (what seems like) an arbitrary -150° offset from the 0° reference.

The Inductive Frequency scale has an offset of 2π, the log of which is 0.79818 = 14.37°.

The risetime calculations have a factor of 2.197, offsetting those pointers from their corresponding τ pointer by 0.342 = log(2.197) = 6.15°.

A fair bit of effort produced a GCMC program creating a full-size check plot of the bottom deck on the MPCNC:

Tektronix Circuit Computer - Bottom Deck - scale check plot
Tektronix Circuit Computer – Bottom Deck – scale check plot

By the conservation of perversity, the image is rotated 90° to put the 1 H tick straight up.

The 3018 can’t handle a 7.75 inch = 196 mm disk, but a CD-size (120 mm OD) engraving came out OK on white plastic filled with black crayon:

Tek CC bottom - ABS 160g 2400mm-min
Tek CC bottom – ABS 160g 2400mm-min

The millimeter scale over on the right shows the letters stand a bit under 1 mm tall. And, yes, the middle scale should read upside-down.

Properly filling the engraved lines remains an ongoing experiment. More downforce on the diamond or more passes through the G-Code should produce deeper trenches, perhaps with correspondingly higher ridges along the sides. Sanding & polishing the plastic without removing the ink seems tedious.

The Great Dragorn of Kismet observes I have a gift for picking projects at the cutting edge of consumer demand.

More doodles while figuring the GCMC code produced a summary of the scale offsets:

Tektronix Circuit Computer - scale angle tabulation
Tektronix Circuit Computer – scale angle tabulation

Musings on the parameters of each scale:

Tektronix Circuit Computer - scale parameters
Tektronix Circuit Computer – scale parameters

How to draw decades of tick marks:

Tektronix Circuit Computer - decade tick doodles
Tektronix Circuit Computer – decade tick doodles

It turned out easier to build vectors of tick mark values and their corresponding lengths, with another list of ticks to be labeled, than to figure out how to automate those values.

More on all this to come …