Fridge water leaks and stuff

We’ve had a lot of instances of water leaking into the basement from the fridge.  This details the latest instance, with what I can recall of others.  All the problems could be stopped dead by disconnecting the water line that feeds the icemaker and the thru-door water, but we use and like both features.

Main water line

The first leak was when the plastic water line to the fridge failed maybe a year after it was installed ~1999.  I might have replaced it with another new plastic line followed by another failure – not sure.  But then I replaced it with copper, like the installer should have done in the first place.  There’s even a sign on the back of the fridge that says DON’T USE PLASTIC WATER SUPPLY TUBING.  IT WILL AGE AND LEAK.  Too bad the installer ignored it.  I left a generous loop in case we had to pull the fridge out again.  Wise move.

Ice maker leaks

In February of this year (2017) there was a leak in the (factory) 1/4″ plastic line from the (outer more) solenoid where the copper line comes in to the icemaker.  I think it was the second time the loop at the beginning of the run – right under the solenoid – had cracked.  The poly tubing was fine for most of its run, but brittle right there by the solenoid.

I think I found enough slack in the line the first time to just cut it back and put it back into the nylon compression nut on the solenoid (date unknown).  The second time (2/17), I replaced the lower couple of feet with new poly, and joined it to the original line with a compression union in the middle of the back of the fridge.  I would have replaced the whole tube, but it’s got a funny crimp connector at the top that I didn’t want to mess with.  I even put a tag dating the repair on the union!

I was very surprised to find that forgotten tag when I pulled the fridge out for this latest leak just 8 months later.  The failure was in exactly the same place: in the tight U-bend right after/below the solenoid.  But how could brand new tubing fail that quickly?

I suspect the fridge has been running way hot for quite a while.  I recall during the February repair that the fan was turning very slowly or would only turn if I gave it a good spin by hand.  I fixed that, too (see below).

For the icemaker tube leak, I decided to replace the bottom foot or so that gets hot with copper tubing.  Unfortunately, both the 1/4″ IPT male threads on the plastic solenoid valve and its mating compression nut are plastic, and I’m not comfortable trying to get enough compression to seal copper.  So I used a short run of new poly tubing from the valve to a compression union on the copper.  That 3″ piece is essentially straight, with the U bend where the failures have all occurred made in copper.  I’m hoping the reduced bending stress on that little piece of poly will let it survive for many more years.  We’ll see.  Here’s the whole copper part of the new icemaker run.

Cleaning the fan motor

I really think the failures – especially the second one – were significantly accelerated by excessive heat.  I doubt the fan has been working at all for the past months.  I’m amazed the refrigeration even worked without the fan.  The fan would turn if I spun it manually to get it started, but it was gummy and slow.  Looking for the part (WR60X187) on eBay gives 2 families of hits: ones for ~$50 with a black wire pigtail, and ones for ~$140 with a 3 pin connector built in – like the one in the fridge has.  I’m not willing to cut and splice wires even to save close to $100 when the right part is available.

But I wanted the fan to work now, and the fridge was pulled out, so I took it out to see if I could improve it.  The motor looked almost monolithic in the videos, but when I had it in my hands, I could see it had aluminum caps pressed on both ends.  It took angled blows with a cold chisel to budge them, but once started they came off fairly easily.  Sorry for no pics of the chisel technique.

The back (away from the fan) had a lot of felt pads.  The shaft was held in with a spring nut.  I brute forced it off, hoping to be able to remove the armature, but even with the nut off it didn’t come apart.  Given that hindsight, I should never have messed with the nut, though its removal did allow the shaft to move farther, which helped clean the old lube out.

I started with normal machine oil, and did a combo of spinning and sliding the shaft in and out, hoping to “pump” old gunk out.  After a little work, I did 2 or 3 applications of Tri-Flow.  While its main benefit is suspended teflon, the base is still a light oil.  That seemed to help a lot in loosening up the old gunk.  I repeatedly saw dark liquid coming out around the shaft, as the shaft moved more and more freely.  After maybe 10 minutes of working it (ending with normal machine oil), it spun nicely as I expected it to, and I put it all back together.

It spun up under power just like it should, but made a little cyclic noise. I figured neither Laur nor I would stand for that for long, and was about to order a new motor.  I was busy (getting music ready for a dance) and put it off.  We’ve both sat in the room with it now, and while audible, it’s probably a noise we’ll get used to.  I’ll probably put off ordering that motor for a year or two – we’ll see.  But I’ll bet the fridge is a lot happier with that fan running again.  The icemaker leak and fan cleanout (and trips to the hardware store) took most of a day, but the fridge is back and functional (except for the door water).

Second leak

There was a slow leak – a drop or 2 a minute sometimes – on the vinyl tubing leading from the door water solenoid (inner more) to the poly tubing disappearing into the innards.  That tube was under inappropriate stress, and the leak was right at the connector.  It looks like that original poly tubing might have failed some time in the past and the cut off bit replaced with vinyl, though I don’t recall doing that.  (But there have been a lot of leaks, and I don’t even remember what I had for breakfast!)  It turned out the fittings were both bad.  The tubing was more like 3/8 (0.35″ OD), but they were 5/16″ fittings.  And there were no inserts in the tubing!  Unfortunately, I thought it was 3/8″ tubing, and got some of that and a compression fitting (with insert).  Wrong.  So I made a capped off stub so it wouldn’t pour water on the floor if I accidentally tried to get water thru the door, and put the fridge back in place for the night.  (I tried to just get the wires off the solenoid, but failed.)

Over the next couple of days I got a 5/16″ compression fitting, spare 5/16″ inserts and both vinyl and poly 5/16″ tubing.  That should be enough to replace the (inappropriate) 3/8″ vinyl with 5/16″ new tube.  Finally pulled the fridge out again and fixed it.  I chose to use a big, gentle loop of vinyl tubing (5/16″, as it should be).  Seems fine, tho with low pressure and only on when water is drawn thru the door, it was probably never a significant part of the problem.

Water sensor

A bigger part of the problem was that I really wanted to put in a water sensor this time, and pulling the fridge out is a real nuisance.  And I didn’t have the sensor yet.  If I didn’t do it now, it wouldn’t get done – exactly like last time.

I had an old sensor PCB (from 2011) that had a transistor on board that didn’t work well.  I replaced the transistor with a good old 2N2222, with a 1K (!?) pulldown on the base that seemed to work pretty well.  It was functionally a normally open switch, with just 2 wires coming out, to be put in series with a battery and piezo (or similar).  I planned to have it local, with battery and buzzer in the kitchen, but ended up fishing the wire thru the water line hole in the floor so the guts would be in the basement.

I knew where the low place was from patting my hand around in the puddle when I first pulled the fridge out this time, and thought I’d put the sensor there.  Unfortunately, that was exactly where the back roller of the fridge sat!

To get a low enough place to be sure it would get wet without getting run over, I cut the flooring out next to the hole.  (Ugly, but c’mon, it’s just behind the fridge!)  The new light colored flooring was apparently just put down over the old much darker stuff.  But after I cut thru the two layers down to the underlayment, I had a perfect nest for the sensor.  I held it down with a 1.7 oz chunk of iron from a disk drive magnet.  While I couldn’t test it in place (as drying would probably take days), I’m pretty confident it will work. (Sigh.)

I’m not sure what the leakage current will be (and don’t have one of Dave Jones’ cool μCurrent low current adapters), and am a little afraid of killing a 9V even when it’s not wet.  Hey – how about just using the 12V bus from the HA net?  No data – just the power lines.  Battery backed – no worry about a fraction of a mA.  But then it hit:  I’ve gone far out of my way to make sure that bus is never referenced to ground.  Yeah, the sort of isolated wet wood’s not ground like wet basement floor cement, but still.  Nice try.  (The plan for water sensors on the floor is to use an optoisolator and maybe a couple of AA cells on the sensor side.  But now I’m worried about those going dead from minor leakage.)  OK, maybe a 12V battery?  And maybe with a low battery alarm?  Or maybe just another dollar 12V wall wart from Goodwill (or some other DC supply with a real transformer).  More hassle, but at least it’s in the comfort of the basement.  So nothing connected yet, but at least the sensor – the hard part – is in place.

Water filter replacement

Not a leak, but this seems like the best place to record it…  I put a cheap inline water filter into the fridge water line many years ago – probably motivated by smelly ice cubes.  (Didn’t help that.)  This isn’t the one, but the layout is the same: horizontal, press-in no-tool 1/4″ fittings on both ends.  Expected lifetime was maybe 6 months; probably stayed there 6 years.

When I wanted to replace it (low water flow?) around 11/29/16, I realized I’d have to turn the water off (or have a small flood).  Boo.  (Yes, there’s a valve, and I used it.  But it’s a clamp on saddle valve and I hate messing with those once in place.)  So I sprang for a more expensive Whirlpool twist-in cartridge job that allegedly can be changed without turning the water off.  Fine.  Here it is finally in place.  Cartridge is a WHARSF5.

But to get the tubing out of the old press-in fittings, you need to press on the inside part of the fitting – which I couldn’t easily do for the old filter.  So I made up a little tool to push on just the part than needed pushing on.  It worked acceptably, and I got the filters exchanged.  Of course the new filter has the same push-in fittings, but with luck I won’t ever need to remove it, especially since I have no idea where the tool is.  🙁

Looking back at the pics I took at the time, there’s a video clip of bubbles coming from a piece of 1/4″ poly tubing in a bucket (but no notes file).  I vaguely recall that I tried to be a good kid and flush the air out of the new filter before putting the outlet side tube in place, but had problems:  With a scrap of old poly tubing going from the filter into the bucket, I ran way more than the volume of water the filter could possibly hold thru it, but kept getting bubbles in steady state.  I think the problem turned out (after a lot of head scratching, cussing, and recording video) to be a small crack in the old poly tubing scrap that entrained air as the water flowed thru.  “But it doesn’t matter if it’s a crappy, cracked old piece of tubing.  All I’m trying to do is direct most of the water into the bucket!”  Wrong.

To facilitate flushing the air out next time (without having it go all the way to the fridge), I should have put a tee with a capped stub in the line from the filter to the fridge.  I suppose I might do that when I change the filter next – if I can find the tool to remove the press-in fitting.

For reference, fridge is GE Profile 24 model TPX24BRBB WW   Ser num: ST200700

And yet another leak

6/12/18: A week or two ago I saw a small puddle on the basement floor in the neighborhood of under the fridge.  I mopped it up; it came back.  Seemed to be dripping from a slightly different place.  I think I had just emptied the ice maker bin, so multiple icemaker cycles had probably been running.  A little later, a towel from the pile under where the leak usually is was damp.  Damn.

While hooking up some kind of alarm to the water sensor – which has been in place for months – has been on the list, the bare wires are still hanging there.  Yeah, I’ve been busy, but the sensor was in place and its wires were right there.  I put a Li-ion battery, 470 ohms, and an LED in series with the sensor wires.  The LED lit one way.  That probably meant the sensor was wet.  No surprise, but probably means the sensor works.  (Wrong.)

So I finally pulled the fridge out (more and more of a hassle as its rollers make permanent dents in the soft vinyl flooring).  I could see white calcium water leak traces on the tubing that supplies the icemaker, but no water.  (Maybe a leak at the plastic compression fitting at the bottom of the solenoid?)  I tried to cycle the icemaker (with Lauren moving the bail and observing in the ice bin), even waiting around a little in case there were some timer cycles, but no luck.  Tried again later, and Laur described the bail being moved slowly up and back down by some motor, but still no water cycle.  Pushed the fridge back part way so we could at least open the door and get thru the kitchen.

A few hours later, I saw a big (3 oz?) puddle on the floor.  Pulled the fridge back out, but couldn’t see any water on the tubing.  (Having my near vision gone after cataract lens replacement didn’t help.)  I pulled the plumbing a little further apart, and after considerable struggle, disconnected the connections to both solenoids.  Excellent: now I could put the water-thru-the-door wire on the icemaker solenoid and cycle it at will.

Lots of water leaked after the first one second cycle.  After a surprising amount of mopping, drying, feeling and cycling the valve, I finally located the leak.  It was in the brass compression coupling connecting the remaining short plastic tube from the valve to the recently installed copper tube beginning the path to the icemaker.  I tightened it all, and it still leaked – quite a bit.  I tightened some more (and further hand tightened the white plastic compression nut under the valve), and it seems to have stopped.  It didn’t feel like the threaded fittings were about to strip, but it was torqued way more than I think compression fittings are supposed to need to be tightened.  But it doesn’t seem to leak. 🙂

Squeezing into the space behind the fridge, I pulled the still unconnected water sensor out of its little below-floor grade home.  Its well didn’t feel wet, and neither did its surface.  I connected the same battery/resistor/LED test setup, this time looking at the board and getting the polarity correct.  The LED didn’t light until I pressed a wet finger to the sensor pad, and then barely convincingly.  When I inverted the leads, the LED did light.  Oops – wrong conclusion earlier.

I scrubbed the cruddy copper surface and wiped it off, so I hope it’s in good shape to sense water if/when it appears again.  I don’t know what I’ll do for electronics to connect to the wires from the sensor, but at least now I have something to go on.  I put the sensor back in place, this time with the whole weight of its hold-down bearing on it.  I hope I do better hooking up at least an audible alarm to it this time.

I’m also considering leaving the back panel off.  The fan exhaust would obviously be happier with less obstruction, so that’s good.  I’m not sure whether the padding behind the compressor is for sound insulation or heat insulation.  Let’s hope it’s sound.

Posted in Home Repair | Tagged , , | Leave a comment

Basement Watchdog Big Dog transformer failure

We got home from Heartland 10/15/17 to BWD beeping.  When I went down to look at it, I saw the red LED for Power Failure on, but my first goal was to stop the damn beeping.  Unfortunately, the alarm wouldn’t reset with either button.  Rats.  Having gone thru a couple of other backup systems, I figured by buying the biggest, baddest $500 system, I was safe for a while.  Wrong.

There had been a BIG rain the day before (6″ in 24 hours).  The HA system reported the sump ran a max rate of ~55 cycles/hr, and thankfully there was no water on the floor when we got home.  Very unfortunately, motivated by wanted the beeping to stop, I noticed the “power failure” LED, but was too distracted to check for others, so I don’t know whether the “pump was activated” LED was on.  So it is possible the main 1/2 HP Zoller couldn’t keep up and the BWD float activated and ran the DC pump and kept us dry (until it failed).  I really wish I knew whether that had happened.

AC was good at the prongs of the plug in the socket.  AC fuse was OK.  Opened unit up.  Got 124VAC at transformer primary, zero at secondary.  Secondary showed < 1 ohm all connections (apparently center-tapped).  Primary was open.  Front panel showed battery at 100%.

There’s some brownish, very slightly sticky residue on the tops of horizontal plastic plates in the transformer, consistent with stuff melting out, though I don’t know whether that’s what it is.  I suppose if the pump were cycling and heavily running on AC that the transformer could have gotten hot, although that’s supposed to be OK and within normal operation.  Nothing was hot when I got there, and it didn’t smell “hot”.

Nominal warranty is 2 years from purchase.  Pics of the installation were EXIF dated 1/23/16, and show the open box.  I can’t imagine I had it around for very long before installing it, but I can’t find ANY evidence of how it was purchased.  I couldn’t find any $500+ purchase from HD (where I suspect I got it) on the Chase bills, and no check in the checkbook (though I have no idea why I wouldn’t have used the credit card).  I found the original manual, with no date or price, and with the warranty card still blank.

What to do next?

With no proof of purchase, even though it should be under warranty, I’m out of luck.  I’ll call Glentronics and hope I can buy a transformer.

There are multiple versions – gray front panel, black panel, 12-120C.  Somebody has a used black panel one they claim is in excellent working order (no pump) for sale on Ebay for $150 free shipping.  There’s also one in the same neighborhood for $150 on Craigslist – probably the same one.

Next step analysis

I called Glentronics to see if I could buy a replacement transformer, and got past the person who answered the phone and said the Big Dog didn’t have a transformer (!?).  Someone in the support department said they couldn’t sell the transformer, but I could bring it in for repair for probably ~$100.

So my choices are:
a) Drive 45 min each way (twice!) to bring unit in and fetch it back, pay ~$100 and be back where I started.
b) Buy the $150 used one.
c) Just buy another whole new frigging system for $500.
d) Just buy another whole new frigging system, (send in the registration!), and if the transformer is the same, swap it, return it after a year or something, and get a new replacement.  Sort of cheating, but only because I failed to send in registration the first time.

Thoughts and considerations:
– The possibility exists that the transformer is not the only problem with the existing unit.  Possibly that problem is what caused the transformer to fail, and a new transformer would be a waste of money.
– Reviews are generally favorable.  Some have complained about the battery water level sensor not working.  The rod in the 12-120 was too long, and I took corrective action, so those might not be relevant if the rod problem is addressed.
– Looks like a nice build when taken apart.  From cost and weight and fact that this is top of the line, I would expect it just work for a long time.  (Which is presumably why I didn’t bother to register it.)  That is an argument in favor of the $150 used option.
– It’s possible it failed doing exactly its job of helping the main pump when it couldn’t keep up, but there’s no way to know. 🙁  Arguing against that is that the controller shows the battery at 100%.  If the backup pump did in fact kick in to help the main pump, the timing would have to have been exquisite to burn out the transformer helping, but not burn at least some of the battery continuing to help after the transformer failed.  After the failure, there was obviously no topping off the battery.
– In the past, the pumps of battery backup units have failed, presumably largely due to salt water in the sump.  If I buy a whole new unit, I get a known new working control head plus a spare pump.  I’ve had trouble sourcing replacement pumps, so that’s an interesting option.  But since the water softener now discharges to the sink and not the sump, pumps may not corrode and fail that way any more.
– If I take either b) or c), I can measure the output voltage of the transformer, and presumably get a replacement from another source.
–  The additional hassle of driving it up there and back was an interestingly strong argument against having them fix the original unit, tho that’s the cheapest way back up.

A DAY LATER:  I decided to get the $150 used one from eBay.  It’s on its way.  (And I replenished Paypal.)

10/20/17:  New used Big Dog arrived, very nicely packed.  (Where did they get that industrial strength bubble wrap?)  It has a black front panel and quite different insides.  Several heat sinks, and I think fewer relays.

Measured transformer output voltage:  Open: 31.5VAC;  with 7.7 ohm load (4.0A): 30.8V .  Don’t know yet if it’s interchangeable with mine, but it looks the same.

Pump connector is the same, and battery lugs have large enough holes for the battery terminals (unlike the last one).  The water level sensor rod (red) is different length than the old one (yellow), both with and without the sleeve I added to put the tip of the old rod where I thought it should be.  Made new sleeve for the new sensor, so it should be same as before, for better or worse.  The protective plastic? tube around the float switches is broken exposing the PCB with reed switches, but that’s not a big deal, as I’m using my old one.  Spliced that in with wire nuts.

Unfortunately, it didn’t seem to work.  Got ready for polite discussions with seller.  Alarms wouldn’t clear; said battery problem with 14.2V on battery.  Tried several orders of connecting power, pump, battery, but no joy.  Left it for a while, but same.  Finally saw a line at the bottom of the front panel about holding test/reset button ’til 3 beeps (~20 sec) after changing battery.  (Not present/needed on gray panel!)  I did that and the alarms stopped.  It went into some test mode for maybe hours (battery discharge/charge cycle??), but eventually settled down and is giving normal looking indications.  It says battery is only good for 6 (of 7 max) hours continuous pumping, but maybe that’s so.  But I have a working, stable system.

I called Glentronics a second time and spoke with a helpful knowledgeable guy.  He said the gray panel units were newer and better, and they didn’t really repair the old black panel units any more.  He also said the transformers were the same, and offered that they were rated at 20A.  I guess I think Glentronics is OK.

The Glentronics call helped me decide what to do next.  I’ll pull the transformer out of the black panel and put it in my gray panel.  Of course the first question is whether anything besides the transformer has failed.  I made up 3 male-female 1/4″ spade lug jumpers and patched the working transformer to the gray panel unit.  It came up and everything seemed to work.  Hooked it to a small 12V battery and it appropriately indicated battery problem.  Pump failure and water level fail LEDs came on appropriately.  Shorting the float wires kicked off a pump cycle.  When I connected it to the real battery it settled down and showed no alarms.  (I did discover that if the “pump activated” LED is on, switching Pump Activated Alarm mode  Off and and back On clears it without invoking a dumb pump cycle.)

All went smoothly until the last connection for the transformer primary.  The old (gray) transformer had one male and one female spade, but the “new” one had 2 females.  WTH?  I cut the male off the old transformer and spliced it onto the new one.  Spliced the float back in and tested it – OK.  The wire nuts I had were a little too big, so I twisted in (and clipped off) an extra piece of stranded wire for a more solid connection.  Seemed to help.

So $150 later, I have a presumably fully working system (with the newer gray panel and guts), plus a carcass that could be pressed into service if I had a 28v? center tapped 20A transformer.  And I didn’t have to drive to Linconshire twice. 🙂

Posted in Home Repair | Tagged , , , , , | Leave a comment

Shapelock protective case for Laur’s Prius fob

We had a quite unpleasant and mysterious problem with the Prius’ alarm sounding (lights and horn) when we parked in a quiet neighborhood front of some friends’ house.  (For a square dance.)  We got stuff out of the trunk, but when I locked it, the alarm went off.  I opened the trunk and it stopped.  Closed and locked and it started again.  Opened it and it stopped.  Lauren had gone into the house by this time.  I snuck around the car and used a touch pad on a door handle to lock it – and the alarm stayed off!

I went in the house and verified that the panic button on my remote clicked and lit the light.  I went out a few minutes later to check it out, but it worked exactly as it should.  I could lock and unlock, and by press and hold, start the alarm.  Another press turned it off.  Uncomfortable, I went back in to dance.

No alarm when we got back in the car later, but when we got out in the garage at home, it went off again.  Lauren went in the house, and I played a little more.  I couldn’t get it to sound again.  I googled and read various posts about false alarms on Prius, but nothing really clicked.

At some point later it dawned on me that while I perceived myself as the driver, and my fob as controlling the car, the car didn’t care whether it was my fob or the one buried in Lauren’s purse.  We took hers out of her purse and the alarm never sounded again.

The fix

I’m quite confident that something got wedged against the panic button of her fob and caused the problems, though I can’t prove it.  She’s carried Prius fobs buried in her purse for many years, and this is the first time there’s been a problem, but I wanted to make sure it would be the last.

A Shapelock case with some kind of dome over at least the panic button should do.  I started out making raised forms over the buttons, cut out of thick cardboard (poor choice), hot melt glued over the buttons.  I cut a piece of paper to what felt like about the right size for the sheet of plastic I planned to form around the fob.  That would provide a visual size guide later.

I merge leftover scraps of SL and press it into thin sheets so it will remelt quickly.  Not that I’m going to pull out a caliper as I’m forming it, but it looks like around 0.050″ thickness flexes nicely but is still sturdy.  I rolled out a blob of SL to about the right thickness with a thick tumbler, and cut it to about the right size rectangle with a kitchen scissors while looking at the paper template.

It was so thin it cooled substantially while I was cutting it, so I dunked it back in the hot water.  It folded over and stuck to itself, and I had to start over.  Not a big deal.  In addition to the large rectangle I planned to wrap around the fob, I cut another smaller rectangle to go over the panic button so its cover would be thicker and stiffer.  A try or 2 later, I had a Shapelock wrapped fob.  I didn’t want to run cold water over the fob, so I stuck it in the freezer for a minute.

 

No cigar

Nice try.  One of the cardboard forms came out nicely, but the SL stuck thoroughly to the other.  Don’t use cardboard for this.  The raised part over the panic button (after I clawed the cardboard out) was perfect: a smooth dome definitely strong enough to do the job.  The cross section was visibly thicker than the rest.  Unfortunately, the case didn’t wrap around enough, and didn’t stay on as I wanted.

I cut the case up and remelted it for another try.  (That’s one of the greatest things about Shapelock!)  This time, I used polyethylene covers for the buttons.  Instead of fighting with two pieces of soft plastic to make a thicker part over the buttons, I just cut a small piece to cover them and pressed it in place.  It cooled off pretty much while I was wrassling the larger piece to wrap around the case, but I think they still welded together OK.

This one was much better.  Although the poly covers came out easily,  the SL stuck to the fob way more than it had the first time.  (Oil washed off?)  By the time I’d pried it off, the SL case was kind of sprung, and didn’t stay on well.  I trimmed it up (the vision of wrapping a neatly trimmed rectangle of soft plastic around the fob for a nearly manufactured looking case remains elusive) and dipped the most sprung part back in the water for only a few seconds.  That let me reform it just as I wanted (if uglier).  When it cooled, it was again seriously stuck to the fob.  Huh?

Anyway, it came out great.  It’s a little bulkier that I hoped, but OK.  The protective domes over the buttons look about perfect, and the case snaps on and off satisfyingly.  And I’ll bet we don’t have any more mystery alarm events.

Posted in Miscellaneous, Shapelock stuff | Tagged , , , , , | Leave a comment

Fixing a krubow RF Remote receiver

The USB cable of Les’ RF receiver broke one of its wires to the PCB inside, and resoldering it was difficult/beyond his skill.  He bought a new one (his 3rd!) and brought me the carcass.

The cable had pulled out so far the shield showed, and it was sort of held in with electrical tape.  The stub of the broken white wire on the PCB was very inaccessible, as it was embedded in what appeared to be epoxy.  Huh?  I broke the exoxy out, cleaned the holes in the PCB and cut off and re-prepped the cable end.

To my amazement, I couldn’t get the shield to accept solder at all.  As I tried to re-implement the clever mechanical approach of splitting the shield in two before soldering the other 4 wires, I realized why it had originally been epoxied:  Without being able to solder the shield, it was almost impossible to keep it in place.  I epoxied it, about as Keith had done originally (though I didn’t embed any of the other wires).  I’m guessing he soldered the other wires first, then put the shield thru the holes and epoxied it.

To provide a strain relief (so maybe I wouldn’t have to repair it again) I planned to embed the cable in Sugru.  And to help keep the Sugru in place, some .030″ baling wire rebar was installed.  (Its inside ends were epoxied in place.)

The rebar provided the additional benefit of a nice clamping place for the second bit of strain relief: casting the stub of the cable inside in epoxy.  (No, the case was not expoxied shut.)

Here’s the finished strain relief.  It looks and feels nice, and with the rebar hidden inside, I expect it will last quite a while.  Oh, yeah – the electronics work again, too.

Update ~10/21/17: Well, it was Les’ fault.  We had a C2 session in Skokie, and for the second time, I didn’t have all the parts for the remote control button.  I even knew it – but couldn’t find my receiver.

I’d forgotten that I’d used the leftover Sugru to make a strain relief (no rebar) for my receiver, and had put them both on top of the stereo receiver in the family room as a warm place for them to cure a little faster.  I picked up Les’ receiver and delivered it the next day, but completely forgot about mine.  Slowly – over a couple of hours’ driving to and from Skokie – I thought I might have done something like this.  And sure enough, there it still was!

Posted in Miscellaneous | Tagged , , , , | Leave a comment

Focaccia slicer

Lauren wanted to made sandwiches out of a round focaccia loaf for an unusually long square dance session.  The question was how to slice it in half neatly.  Plan A was to firmly support both ends a long knife horizontally half a focaccia loaf height above the counter and slide the loaf back and forth past it.  Unfortunately, we didn’t have a knife long enough.

Armed with the “half a focaccia loaf” measurement of 2.6cm and a sturdy Wusthof knife with a flatish handle, I scrounged around in the scrap box and found something with a smooth bottom and just the right thickness.  I drilled the holes for the zip ties at an angle so I’d have less material to remove to recess the zip ties so the bottom would be completely flat.  Here’s the slicer ready to be tested, err, used as designed.

The smooth bottom of the block slid nicely against the counter top, and the knife did its job admirably.  The first loaf was sliced about perfectly; the second showed just the kind of small discontinuity you’d expect cutting thru something with a tool not long enough to cut in one pass.  But it was still completely acceptable.

Here are Lauren’s sandwiches.  They were both beautiful and very good.  She cut each into 8 wedges, with a bamboo skewer in each wedge to hold it neatly.

You can see the shim needed to make up for the slightly curved handle in this “after” pic.  Another successful junkbox quickie!

 

Posted in Miscellaneous, Uncategorized | Tagged , , , | 2 Comments

Kidde P3010CU false alarm

Our Kidde P3010CU combo smoke/CO detector started to beep and speak “Fire” this morning.  A pretty thorough search of the whole house revealed no smoke, no fire.  Still a little spooked, I considered apologetically calling the fire department, but noting that the Kidde i9010 ionization smoke detector mounted right next to it was not alarming, I held off.  (Neither was another P3010K-CO two half-floors down, but I’d forgotten about that one.)

I fought a couple of battles with its alarm “Hush” feature before I could get it to shut up reliably.  IMHO, the user interface it presents is quite flawed.  When you press the button (which does not present a tactile “click” so you know it was pressed), usually nothing happens.  The blaring alarm and voice saying “Fire” continue as if nothing happened.  Hush mode apparently only takes effect after any beep/voice warning cycle in progress has completed.  Only then does it speak “Hush mode activated”, start a 10 sec LED blink cycle and stop making noise.  Of course by then you’ve probably pushed the button several more times, and it may be that an even number of presses toggles hush mode off again.  (Murphy also does his best to maximize the probability of that.)  The spoken info and LED blink pattern are quite helpful, if you can ever get them to start.  On the plus side, the piezo is pretty well sealed to the front of the device, so putting a thumb (or some duct tape) over it quiets it down a lot.  I was pleased that I’d opted to get both this photo smoke detector and an ionization one.  And I was pleased I’d spent the extra 10 or 20 bucks for one that speaks.

It says if both fire and CO are present, the fire notification takes precedence.  I had psyched myself into thinking I might feel a little woozy, so started looking for CO.  The furnace is in A/C mode and has electronic ignition anyway, so shouldn’t be a source.  The only other gas device is the water heater.  Its flue was cool, so I turned on a hot water tap to force it to cycle on.  I was standing in front of the heater when I heard it fire up.  The flue got hot to the touch in just a few seconds.  Seemed to be working, though with CO it’s probably hard to tell.

I took the detector outside in the clear, sunny 60 degree fresh air, but it kept alarming.  I left it on the front step for a couple of 10 minute hush cycles, and it kept alarming.  I took it to the garage and blew it out with compressed air, and it kept alarming.  I considered taking it to the fire house, but by then I was pretty convinced the device was just broken.

I called Kidde customer support, and after an annoyingly long hold, spoke to a pleasant rep, “George”.  After explaining the situation, he took my name and address and said he’d send a new one (10 days or so), and that they didn’t need the old one back.  When I asked how often that happened, he mumbled something not very helpful.  When asked if blowing it out again/some more might get it working again, he replied that it might, but there was probably just something lodged in the photo path.  I thanked him and said good bye.

Hmm – I read the user manual and it said not to put it close to an attic fan – but that’s right where it’s mounted.  Is that because the fan whisks smoke away too fast, perhaps making it less sensitive?  Or because it is likely to blow junk into the detector and cause false alarms like this?

Now what?

I felt a little naked with no CO protection, but at least we still had the ionization smoke detector.  I can’t keep pressing the hush button every 10 minutes for ever.  Should I activate the no turning back death/deactivate switch on the back?  There was one clip visible from the back that looked like I might be able to open it up, so I tried that.  After releasing it and its three brothers, the unit opened neatly.

The cover holds the piezo and speaker.  The lithium cell was unsurprising.  I didn’t know what to expect for the chemical CO detection cell, but this must be it.  The only mildly interesting bits were what looks like a glass diode mounted up off the board and marked “R55”, and the fact that they’d flowed wax over many (but not all) of the components.  I figured I could at least scavenge the little speaker (but fortunately hadn’t cut the leads yet).  While I had it open, the hush cycle ended and it started alarming again.  The click-less spring contact in the middle was obviously the hush/test button, so I pressed it and started a new hush cycle.

And then there’s the photo sensor chamber.  The top is held down with 3 easily released clips.  I opened it up and noticed with interest that the slitted walls were shaped to provide a sort of swirl pattern inside the chamber.  Or are they just light baffles? The LED and photo detector were clearly visible.  That looks like a barrier directly between them, so maybe it works by IR scattered off smoke particles.

It started alarming again as soon as I opened the chamber.  The optical dark provided by the removed chamber top was obviously wildly violated, and each time I’d start a hush cycle, it would abort the hush just as the manual said it would if there were very dense smoke.  That was annoying, and I’d taken my pictures, so I put the chamber’s cover back on.  It clicked in place reassuringly.

Unbroken?

And then it said “Hush mode cancelled”.  And didn’t alarm any more.  Huh?  I ran a test cycle, and as advertised, it played 2 cycles of 3 beeps and “Fire”, and 2 cycles of 4 quick beeps and “Warning, Carbon Monoxide”, and then it was silent.  Had the wildly out of spec light on the detector forced it to reset or recalibrate or something?  I put the main cover back on, and it seated with a satisfying click.

I lit a match (with considerable difficulty: maybe I should get some fresh matches!) and when it went out blew some smoke at the sensor.  It alarmed in seconds, with 3 long beeps and “Fire”.  I pressed the hush switch (only once, having learned that lesson) and saw a little blink.  Though I don’t think I heard the voice message, it did go into the 10 sec blink pattern that indicates hush mode.  I promptly blew the unit out with compressed air.  It continued blinking for a couple of minutes until I pressed the button again.  It said “Hush mode cancelled”.  And it remained silent.  Does smoke detection actually work again?

I started up the 4 stroke Craftsman lawn mower (don’t know how much CO the Prius puts out) and held the detector in the exhaust stream for several seconds, but to my great surprise got no alarm.  I pressed the button for a test cycle, and got 3 long beeps, “Fire”, 3 long, then 4 short, “Warning, Carbon Monoxide”, 4 short.  It ended maybe with one more very short beep.  I held it in the running mower’s exhaust stream again for a good 30 seconds, but nothing.  I used this test on a CO detector before and had no difficulty triggering it.  I can’t believe the mower isn’t spewing substantial CO, so now I have no confidence in the detector’s CO side.  Yeah, I opened it up, but wasn’t aware of doing anything that might interfere with the CO side – and it passed its internal test.

I’ve put this one back up for now, but I’m glad a new one will be here soon!

Update 9/13/17:  As promised, I received the replacement Kidde P3010CU on 9/2, and promptly replaced the old one, using the old mount uneventfully.  Today (9/13) I got around to redoing the CO test, just for the warm fuzzies.  I held the stack of 3 detectors – old and new 3010CUs and the the 3010K-CO from the family room – in the exhaust stream of the 4 cycle mower for a good minute.  To my utter amazement, none went off.

I started the Prius and as quickly as I could, before the catalytic converter heated up, held the 3 detectors in its exhaust stream.  To my further amazement, first one, then a second went into fire alarm mode!  After a minute or so, the engine shut off, as expected.  Between my surprise at fire alarms and a lot of noise (two sets of 3 beeps and at least one saying “Fire!”), I didn’t properly note which detector was doing what.  At some point shortly after the engine shut off, I’m certain I heard at least one set of 4 quick beeps – the CO alert all of them use.

I pressed the terrible “hush mode” buttons, with even less success than expected, and blew all 3 out with compressed air in the garage.  The noise subsided, but the new 3010CU kept up its fire alarm.  Each time I’d press the hush button (well, at least many times:  that button still gives the appearance of being terribly unreliable) it would say “Hush mode activated” and be quiet.  But only briefly: in a few seconds it would go into loud alarm mode again.  That’s consistent with its described behavior in the presence of dense smoke.

It was in the house by then, and I blew it out again with lower pressure air in the shop.  Still the same behavior.  Does the 3010CU have a “stuck in fire alarm” bug?  I whacked it lightly against the heel of my hand.  And it stopped!  Coincidence?  Who knows?  But at least the racket has stopped.

Several minutes later I pressed the button on each to trigger test mode.  The old CU and the K-CO responded with the expected test noises.  But the new CU did not.  I set it next to its elder twin and watched two flashes from the older one and none from the new.  It’s supposed to flash once/min for the first 10 minutes after a test – then once/10 min.  But now I can’t get anything out of the new one.  Major bummer.

The way forward is very unclear, but I put the K-CO back up in the family room and the old CU the the main upstairs hallway location.  Humpf.

Update a couple of hours later: Wow.  Having nothing much to lose, and with the unusual data point that I’d jarred it just before it shut up permanently, I opened the new detector.  I forgot that inserting the pick/release tool outside the foam strip around the outside edge left little/no evidence of tampering.  I hope that fact had been relegated to “should never need this again” status.  Again, I hope to never open one of these again.

I looked first at the power switch.  It was a little to the right of center (as oriented in this picture).  Looking at the label directions on which way to turn to shut it off, it seemed like “to the right” was the off position.  I moved it a little to the left (like by the amount of slop allowed by the white plastic operating dogs flanking the handle) and it beeped!  Maybe it said to press the test button – not sure.  Encouraged, I moved the switch and the white plastic operating mechanism all the way over to the left, which I presumed was ON.  Silence.

There also seems to be interaction with a white tab in the mounting slots that would probably be moved when you first twisted it into place.  A little incredulous, I moved it all so the switch was in the center of its travel (as in the picture above).  It beeped and then for sure said “Press test button” (or close).  I did (using the exposed contacts in the still open device).  It beeped and probably went thru a test cycle of fire and CO.  Great – it looks like it works again!

And then it went into fire alarm.  The first step was to get some duct tape to cover the piezo so I could stand to work on it.  I pressed the hush button (once) several times, and each time that it worked (most) it continued the alarm noise cycle in progress, then finally deigned to say “Hush mode activated”.  A few seconds later it started alarming again.  Bummer.

Now pretty desperate, I recalled that the old one somehow reset after I opened the smoke sense chamber.  I opened that, inspected it (saw nothing), blew at it, and closed it up again.  (All the while pressing the button contacts frequently for a few seconds of quiet.)  No change.  Opened it again, blew it out again, held it more in the light, closed it up.  And hush mode stuck!  I waited a minute or two, put the main cover back on and pressed the button again.  “Hush mode cancelled”.  It’s been quiet ever since.  I ran a test cycle several minutes later, and that performed exactly as expected.

More confident than before that I’d actually somehow fixed it (reset is more like it) and that it was probably working fine again (and relieved of the darned noise), I turned my attention to the unexpected “only center on” switch position.  Fortunately, I happened to have another of the same model of detector which seemed to be working, and whose switch had never been touched. 🙂  I opened that old one back up, and found the switch right in the center of its travel!  That’s the picture above.  Wow.  I wonder if it’s a real 3 position switch, with left=battery disconnected; center=battery connected; and right=detector disconnected and a short/resistor across the battery to render it safe.  Hmm – in not obvious but vaguely appropriate places (for a crowded board) OFF, ON, and DISCHARGE appear in the silkscreen, in support of the 3 position switch theory.

I found a post here (about an i12060ACA) mentioning that Kidde support told her to “… hold the ‘Test’ button down for 2 sets of three beeps, then release. This resets the alarm. ”  I wonder if this is a common undocumented feature?

Terminally infected with the thoroughness bug, I did an actual smoke test on it.  (The matches from the mostly-full carton dated 10/10 that had been sealed in a ziplock bag lit much more reliably than the ones (probably from the same carton) that had been sitting in a parts drawer for some years.)  It took a couple of matches, but it went into alarm, and hush mode activated and shut it up.  I blew it out well with compressed air and hit the button again.  “Hush mode cancelled.”  I’m now confident enough that it works that after I put it back up on the hallway ceiling I’m going to forget about it.  And I suspect the first one is also quite functional.

On CO

The specs for CO detection mention times from 4 to 240 minutes, so maybe my expectation of triggering an alarm in a few tens of seconds was inappropriate.  It seems to me the previous successful testing might have been on a dedicated CO detector that had a concentration display.  Maybe I just noted that the display showed more CO.

In any event, I can get a can of spray CO (!?) designed for testing CO detectors for 12 bucks on Ebay.  I’ve read that each test desensitizes/ages the detector, so testing is a double edged sword.  And I don’t think I’ve ever read anybody saying the detectors last over 7 years (OK, except implicitly in the advertising for the 10 year units.)  But it would at least give some warm fuzzies that these detectors I’d opened up still functioned for CO.

I ordered a can.

Update ~10/25/17: I never received the can of CO, so contacted the seller thru eBay.  Though I indicated I still wanted the product, he promptly sent a full refund.  Yeah, I got my money back, but what I wanted was the CO tester!  Bummer.

Update 11/19/17: I woke up at 6AM this Sunday to “Beep beep beep”.  I followed the noise downstairs, walking directly under the (silent) new replacement Kidde P3010CU in the upstairs hallway, and then directly under the (also silent) 3010K-CO in the family room.  As I got closer to the noise, I could hear it speak “Fire” between triple beeps.  Following the noise led to the old, originally failed P3010CU sitting on a self in the basement.

Dumbly holding the annoying noisemaker in my hand, it soon occurred to me thru the morning fog that I could push the “hush” button.  Of course it didn’t shut up, but then recollections of past experiences came back, and I gave it one firm push at the end of a beep/speak alarm cycle.  I don’t know if it had occurred to me that maybe the button is only polled at the end of each alarm cycle.  Anyway, it said “Hush mode activated”.  Good.

And then it started alarming again.  I played the game with the button again, and eventually got it back to hush mode.  I turned it around ’til I found the black plastic smoke sense chamber and gently blew at it a few times.  I pressed the button again, and got “Hush mode cancelled”.  And silence.

After  it appeared to have come to its senses (and passed a basic match-smoke test) after the initial event, I couldn’t stand to just kill it (with the disable/discharge switch on the back), so it was just literally put on the shelf.  And once again, the device failed with a false positive to some non-olfactible stimulus.  But at least this time it had the decency to (at least appear to) recover with a simple ventilation.

It’s back on the shelf now, silent, future unknown, but trusted less.  Kidde did exactly the right thing by promptly replacing it.  I guess such false positive failures are pretty rare (which is a good thing!).  But at least this one is chronicled here.

Final fail

7/6/18:  The alarm went off with a false positive in the middle of the night – just enough cycles to get me out of bed, but not enough to verify what the heck was making that noise.  Then a couple of nights later, it did it again – but this time I caught it in the act.  Now what?

First, make it shut up!  Using what I’d learned, I pushed the button just at the end of an alarm cycle, and it said “Hush mode activated”.  Good.  Started alarming again.  Bad.  Same dance again – same result.  OK, put some tape over the dumb piezo.  That’s better.  I popped the clips and opened it up.  A little manipulation, and I got the switch back into the OFF position.  Noise stopped.  Good.  Checked cell voltage – 2.95V.  That cell’s blown some of its energy making noise all those time, so it’s probably not worth saving.  Now what?

Went back to bed.

When I got back to it (days later), the plan was clearer:  Scavenge what’s worth saving, toss the carcass.  But what about the cell?  Yeah, the responsible thing is to discharge it.  With sadness, I moved the switch to DISCHARGE, wasting whatever energy was left in the cell.

Here’s the mechanism that manages the switch, with the moving part highlighted.  The dogs that move the switch are marked in red; the ratchet that ensures you can’t ever turn it back on after moving to Discharge is in green.  Left is Off; right is Discharge.

The label with instructions on final discharge is still intact, as I moved the switch by hand with the case open.  The tab that moves the switch from Off (as shipped) to On is just visible under the tabs that hold it on the twist-n-lock mounting bracket.

I pulled the 3 wire piezo, as well as the speaker – with its fragile clear film cone.  It was marked as 8 Ω, but a test with a 1KHz signal showed more like 20-40 ohms.  Go figure.

Anyway, the multiple false alarms sealed its fate.  Since it wasn’t an ionization sensor, I didn’t expect disposal warnings, and found none.  Into the electronic recycle box.  RIP.

 

Posted in Home Repair | Tagged , , , , , , , | 3 Comments

Hot melt glue gun timer

I use hot melt glue a lot, but the warmup time is a problem.  I turn the gun on, go away to do something else while it warms up, and may or may not remember the pending glue job.  I’ve found the gun on 2 days later.  Not good.

I solved the main safety problem a couple of years ago with a mechanical timer.  Now the switch on the gun is always on, but it turns off after 10 minutes or so whether I remember to come back and use it or not.  Of course when I run across the incomplete glue job an hour later, I have to start all over.  An “it’s hot” notification would be very helpful.

While there isn’t easy feedback from the gun when it’s hot (yeah, a current sensor would work), open loop timing is good enough for the task.  Sitting around and observing when the gun was up to temp gave the critical info: a little under 4.5 minutes.

Fifteen lines of Arduino code (plus a couple of #defines) on one of my general purpose ATtiny85s and a little piezo buzzer gave me a timer that beeped once when the gun was hot, twice one minute later, 3 times another minute later, etc.  The dollar 5V wall wart from Goodwill that powers it is plugged into the same outlet as the gun, so the mechanical timer turns them both on at the same time.  OK, wrapping it all in blue painter’s tape is pretty crude packaging, but it works.

Putting the buzzer near the basement door increases the chances I’ll hear it even if I’ve left the basement.  It was put in place 11/14, and works absolutely great.

When I upgraded recently from my drooling old Dremel 1200 glue gun to a Tec 805-12, warmup time dropped to just about 2 minutes.  The old Arduino code was still safely in my sketchbook, so changing one #define and adding a couple of comments, and it was good to go again.  I discovered with pleasure that power to the Tiny was plugged into the unmodified ICSP header, so reprogramming it was trivial.  It works great again, and the reduced time ’til that first beep is icing on the cake.

Posted in Tiny 85 stuff | Tagged , , , | 2 Comments

Repair attempt of Grohe Quick Coupling

While in the middle of repairing the kitchen sink drain plumbing, I noticed a fairly significant leak under the sink.  OK, I’d failed to tighten one of the new plastic drain couplings in between repair sessions.  Fine.

But that didn’t fix most of it.  More observation found that it was coming from the source end of the flexible hose going to the faucet’s pull-out spray head.  Our Grohe LadyLux Plus faucet features a quick-connect (“Quick Coupling”) between the valve assembly and the hose to the spray.  This is a standard Grohe part, and for $30-40 I can get a replacement of the plastic end of the connection.  We have the yellow one (46 318000).  Installation is trivial.  And the leak is still small enough for a tray under the sink to catch it all.

I’m cheap, but not that cheap.  Send in a little money, get the part on the doorstep, 5 minutes work and Done.  I don’t have much problem with that.  Of course as several reviewers have commented, it’s pretty expensive for a plastic part.  And the part’s not damaged, and might be fixable.  It’s worth a try.  (So to be clear:  The motivation is maybe 20% cheap, and 80% “I can probably fix this.”)

The actual seal is an O-ring inside the plastic part.  It’s barely visible in the picture; feeling it with a probe was what convinced me of its existence.  (Just a guess, but that 25 cent part is probably all that’s needed in 90% of the repairs.)  It fits against the smooth outer surface of the male end coming from the valve.  A leak in a seal like that is often due to the crud and lime of the ages.  I’m a little surprised that no one mentions crud on the surface of the male part in discussions of repair by replacing the plastic part.

The repair plan

So the plan is to swab out the inside of the plastic part with Lime Away to get rid of the calcium deposits on the O-ring, clean the outside of the male part, and put ’em all back together with waterproof silicone grease.  Here we go.

Looking inside the plastic part, there was clearly some sort of device, but several commenters said the yellow (and green) versions don’t have a flow restrictor (though other colors do).  I vaguely recall that I might have removed a flow restrictor from the spray head end when it was all new, but I’m not sure.  And I could blow thru the plastic part both ways, so it obviously wasn’t a check valve.  But as I poked around with a Lime Away soaked Q-tip, that inside part seemed to move – and be spring loaded.  After some cleaning, it went from brown and crud-encrusted to pretty blue and white plastic parts.  And once cleaned out, it turned out to actually be a check valve!  A sensible (high end) feature – so the water in the hose doesn’t drain out when you disconnect the hose.  I rinsed it all out well, and called that done.

I scrubbed down the metal male part with a very well worn green scrubbie (couldn’t find a white one) soaked with Lime Away.  I tried to twist around the pipe rather than rubbing along its length, in case I introduced any scratches.  Unlikely, but…  It certainly looks cleaner, but the green ring of crud seems to remain.  I wonder where that hits with respect to the O-ring.

A significant part of the hope of helping it seal is a nice slathering of silicone grease.  Another Q-tip with that (on both surfaces), and it was ready to reassemble.  Done.

Fingers crossed – let’s see how it fares!  A couple of hours and a round of dish washing, and it’s still dry.  An update will follow.

Update 9/13/17: It’s been over a month, and no leaks.  I’m going to call this one a success and Done!

Update 12/13/17:  Well, not done.  It leaked some more. 🙁   I ordered the Grohe part ($34/free on eBay) and installed it 11/28/17.  I did do one more round of cleaning of the male fitting, put silicone grease on again, and the whole replacement was the 5 minute job I expected.

I put a shiny black plastic tray under it with grains of table salt in the low places.  It’s been in place for a couple of weeks now, and the salt says there have been no leaks.  I think it’s really Done this time.  (Of course I thought that before…)

About the only explanation I can come up with for why the new part worked is that the rubber in the new O-ring is newer/more live.  If that’s the case, replacing just that ring should have worked.  I probably could have gotten the old one out, if destructively.  And I could probably have managed to force a new one into place.  But I didn’t want to have to try to spec and source the part.  And with mud on my face from the first failed attempt, the 5 minutes and $34 was an acceptable cost for being Done.

Posted in Home Repair | Tagged , , , , , , , | Leave a comment

Resurrecting Pogo HA server (and replacing a BGA chip!)

I got a watchdog email shortly before we left for the April Adventure weekend (email: 4/20 6:45P) about datafile and camera pic being older than the 1260 sec threshold.  I couldn’t get it running the morning before we left, so didn’t start real recovery efforts until 4/24.

SYSTEM THUMB DRIVE

I couldn’t ping or ssh to the box, so I power cycled it.  (Yeah, that’s a little harsh for a Linux system – but I didn’t have many choices.)  Nothing.  I looked around for backups, and found one – from 6 years ago!

I uncabled the box (power, 485 net, ethernet) and brought it out so I could plug into the 3.3V serial console pigtail I’d installed early on.  It didn’t boot as expected, so I tried to look at the system thumb drive.  The main Win10 PC, jimsdellmini (Ubuntu) and Gparted on the red kitchen laptop all did not detect that there was a thumb drive plugged in.  They did see the USB device (like with lsusb), but no storage drive.

I found a very similar 4GB Microcenter drive (with silver laptop Clonezilla on it) and in desperation decided to try to swap the flash chips to try to recover the files, hoping it was the board or controller chip rather than the flash chip that was bad.

Here are the boards, and the back sides with the flash chips.  Oh no – they’re BGA!  Looks like the boards were set up both to take a second flash chip and to take either BGA or leaded (TSSOP?) chips.  Thanks for these using BGAs, Murphy.  Not.

REFLOW ATTEMPT

All work below was with air:3 and heater:8 and a smallish (0.198″OD) tip on the AUYOE Int 906.  I worked with the chips and boards on a firebrick.

First I unsoldered the good chip from its card with hot air.  Took a couple of minutes, but seemed successful, and gave me a little hands on practice with the hot air.

Then with vague hopes that the bad drive might just have a bad solder joint, I reheated that board, hoping to reflow the bad chip in place on its original card.  When I tried that in jimsdellmini, it still did not show up as a memory device (though it did show up in lsusb).  Nice try.

Then I unsoldered the bad chip from its card.  I put the good chip on the bad card – no prep, no reballing, no cleanup.  I reheated it, purely guessing at the time.  I watched closely, but never saw it move or recenter.

When I plugged the bad card with the good flash into jimsdellmini, the OS found the device and I could see the files from the flash (old clonezilla files).  Plugging it into the Win10 PC, that could see it and its files as well.  Wow – I just successfully resoldered a BGA chip!

Encouraged, I cleaned off the bad chip with flux and solder wick, and ran a ball of (leaded) solder across it, providing what looked (to eyes that had never seen one) like an appropriate reballing.  I cleaned the previously good card with flux/wick, put the reballed bad chip on it, then heated it to reflow.  Watched, but never saw it move.  Did wiggle the board a little a couple of times to try to help it find home.  After I let it cool, the chip seemed well adhered, so presumably at least some solder melted, though I can’t be at all certain all the balls did.  But I’m hoping the extra prep increased the chances of good soldering compared to the first (good chip, bad board) try – which worked with no extra prep.

When I put the good board/bad flash in jimsdellmini, lsusb could see it, but it didn’t appear as a file system.  The Win10 PC could see the device, but no file system as well.  Nice try.  🙁

Despite efforts to take good notes, either I screwed up multiple times or the USB ID moved with the flash chip (which is very unlikely).  Boo on me.  But I eventually did enough retries comparing lsusb output to convince myself I had done what I intended (like not putting the bad chip back on the bad board), and that it really didn’t work.

In any event, I’ve done all the due diligence I know how to do, and so can completely give up on trying to resurrect the files from the old working drive.  Bummer, but with closure.

MOVING ON

OK – I’m now confident I’ll never get the files back from the original thumb drive.  Time to move on.  I had a backup tar from 10/6/11 (!), and with the notes here untarred it to a random 8GB drive from the thumb drive box.  It booted, and thanks to the serial console, I got it sort of running.  I think the ftp password to the Godaddy host had changed, and the IP of the AT&T first router had changed, and probably some other stuff.

But its (6 year!) old 485pollB.pl talked to the existing HA nodes, got data from them, and pushed it to the Godaddy host.  We’re back on the air!

Well, sort of.  All the camera stuff was implemented after that backup, so had no hope of working.  And the graphs didn’t update like they used to.  I feared the data format had been updated somehow, and the parser on the web host was looking for something that wasn’t there any more/yet (and that I had zero recollection of).

Several weeks later (6/20/17), I dug around trying to figure out why the graphs didn’t update.  Between looking at the code and finding and reading the note on “Home Page Speedup”  I slowly realized the poll perl script on the Pogo not only ftp’d update data, but invoked (with wget) the graphs.php script on the host that actually updates the graphs.  After a few stumbles I put that into a new 485pollC.pl and got it working.  Now the graphs update automatically again – yay!

BACKUP

First on the agenda is a workable backup method.  I don’t remember whether I had a backup script on the old drive, but at least there’s a good start in the project notes from the last painful rebuild.

I copied and touched up that script so just running “gobackup” in perl/backup will (presumably) make a backup tar file and put it on the main PC as F:\pogobackup.MMDDYYYY.tar.  If I can just remember to run that when I make a change (or maybe put it in a cron job)!  To that end, I put a banner in the motd saying “IF YOU TOUCH ANYTHING HERE, UPDATE THE BACKUP!”  And after 485pollC.pl was actually running graphs.php, I kicked off a backup. 🙂  A backup file appeared on the main PC, but I haven’t tried to put it on a new thumb drive.

Maybe make a watchdog that checks sums on some main files and sends an email backup reminder if they’ve changed?  What files?  Main perl files, hosts, rc stuff?  Should all data like credentials be hosted in a single file and read by the scripts?  Here’s a first crack at a list:

FILES TO CHECK:
in /perl:
485pollB.pl
pingstat.pl
sendusr1
sprinkler-cron.txt
getusgs
go485
in /etc:
hosts
conf.d
rc.d
rc.conf
rc.local

Update 7/15/17:  Woo hoo!  I think I got a first hack of the camera working again!  A first problem was that the main disk on jimsdellmini – which hosts reading from the camera – was completely full (and I couldn’t figure out what it was full of).  I dug some more and removed several old kernels and the associated stuff in /lib/modules.  Now I can at least work on the machine.  Hmm – that machine’s not backed up at all.  But it’s still running, and the old scripts are still there.  I plugged in an external hard disk, but it didn’t seem to see it.  I plugged in an old 1GB thumb drive and got it mounting to /media/CameraDrive.  Steps 0,1.

Looks like ~/perl/gosnaps reads from the camera, gets snapshots and puts them in /media/CameraDrive, then calls putpic to send latest to the Pogo.  Putpic ftps the latest to <ftproot>/pics with its timestamped file name, removes old latest.jpg, and copies the latest also to that filename.  Of course it needs an ftpd running on the rebuilt Pogo – which it wasn’t.  Got that running, but putpic doesn’t supply any credentials.  Added user jim to the Pogo, and some flag somewhere allowed auto logging-in of ftp.  I made a symbolic link in /srv/http to /srv/ftp/pics/latest.jpg, and I could see it in a browser looking at the Pogo.  It works!  Steps 2,3 done.

The main 485pollC.pl script already has stuff to implement regular (5 min) ftps to the GoDaddy host, so I copied one of those blocks of code, and after way more playing with the autoftp.pl it uses than I cared to do, got that set up to push the latest pic to the real host.  And that seems to work, too!  Of course, the nice go485 script that used to pkill the old 485poll and restart it somehow stopped working, presumably with one of those kernel updates.  I can’t yet see how to pkill it, so must manually kill 2 processes and then manually restart it.  But at least go485 now prints out instructions on what to do.  And I even kicked off a backup with the new 485pollD.pl in it!  Oh, but /etc/rc.local still started 485pollC.pl.  Rats.  But at least now doing the additional backup to capture that was easy.  I suppose I should untar it to a new flash drive and test it.  One more thing on the list.  But now I get pictures!  Steps 4,5,6A,6B done.

And the terrible displays recently on the home page turned out to be 2 instances of 485pollC.pl running.  (The old go485 script hadn’t killed the old one.)  Fixed that.  Wanted to clean out the data in datafile.csv, but decided to just let good data accumulate and fix itself in 5 days.  Cleaning the intermixed data was harder than I hoped. 🙁

But I did hack in an init in the power outage section of graphs.php that should stop the long-standing problem of displaying one phantom outage every time I’d trim datafile.csv.  Seems to work now.

Update 7/19/17:  Looks like the woo hoo on getting the camera stuff working was premature.  Yeah, it worked, but several hours later it stopped, with error messages on jimsdellmini about no space on device.  Yeah, the thumb drive is only 1 Gig – but c’mon, it it can’t be full yet!  And df showed only 4% used!  Tried touch abc – no space on device.  Same, as root – no space on device.  Deleted the 171 pics, and it all started working again.

Turns out there’s a limitation on FAT 16 (with which the 1GB thumb drive was formatted) on number of files in the root directory, and if the file names are long the limit is hit much more quickly.  I guess “snap07-19-23-59.jpg” qualifies as a long name.

I suppose I could have tweaked a couple of scripts and stashed the image files in a subdirectory, but I just reformatted the thumb drive ext2 with fdisk.  Works fine days later.  There’s also a daily cron job that clears out files older than 24 hours, so it should work for plenty long enough.  (Turned out to be older than 30 days.)

Update 8/18/17: The random 8GB thumb drive I rebuilt as a Pogo system disk failed.  This time I schlepped the new HP laptop over with a 3.3V USB-serial cable and plugged it in before I did anything else.  Nothing.  I power cycled it and got a shell from flash – no USB boot.

Put the thumb drive in the main Win10 PC, and with ext2explore.exe copied the very latest 485pollD.pl, which hadn’t been saved to a backup tar yet.  Yay!  Everything else should be OK in the latest tar file.  I hope it works – I’ve still never actually tested it.

Tried fsck on the thumb drive in jimsdellmini, and it gave a zillion errors.  Let it run – twice – but couldn’t read the drive when remounted.  Took 2 tries, but deleted partition table and recreated with fdisk, then put new ext2 fs on with mkfs.  Copied latest tar over, but oopsed and untarred the 2011 tar instead.  Took a LONG time.  Discovered what happened when I tried to replace 485pollD.pl – and it wasn’t there.  Carefully did rm -rf on the thumb drive (another LONG time), then started to untar the right file.  SLOW.  Gave up with ctrl-C.  Jimsdellmini wasn’t happy with that, and never really unmounted the drive.

Put in a brand new 16GB red Microcenter USB3 drive, fdisk‘d a new partition table, new mkfs, and untarred the right file.  Much faster, as expected.  Plugged it into the Pogo, and with laptop still connected, watched it boot.  Success!

No house pic, tho.  Finally killed a days old ftp process on jimsdellmini.  A few minutes later, a good pic had propagated all the way to the Godaddy host.  Yay!  Looks like all the scripts on the Pogo do in fact start on boot – and the backup tar works!

I hope the brand new thumb drive lasts longer than the 8GB fold-flat credit-card drive from some patent law freebie I used last time.  And why do these things always happen the night before I have a long drive to a weekend?

Update 8/30/17:  I’ve been fighting on and off with being out of storage on the “camera drive” on jimsdell mini.  It’s been running that 1GB thumb drive for a while, and just failed again.  Thankfully the “house picture old” watchdog fired and sent email.  Turns out once again the drive was full (but really, this time).  There’s a cron job purging files matching a find -mtime +30 (days), but that wasn’t aggressive enough for this tiny drive.  After I manually deleted several days’ worth of pics, it started working again.  How many days’ worth will the drive hold?  It looks like nite pics (B/W) are ~26KB, while day pics are more like 110KB.  Doing an ls |wc  on /media/CameraDrive gave 10586 files, while df showed 658048K used.  So that averages about 62KB/pic.  At 24*30 pics/day, we burn about 45MB/day, so the 1GB drive should hold around 22 days of pics.  I changed the cron job to -mtime +15, so it should take care of itself now, and run around 30% free.  We’ll see.

Update 1/5/18: Checked /media/CameraDrive and it was at 68% used, just as predicted. 🙂

 STILL TO DO

  • I’d really like to move the camera stuff to the Pogo, if I can.  The old (and newly current)  system uses jimsdellmini to get images from the camera and push them to the Pogo, which eventually pushes them to the host.  I think the two reasons I originally used another machine instead of hosting all that on the Pogo were a) a concern that the somewhat compute-intensive image processing burst might interfere with the serial polling of the HA nodes, and b) not wanting to have the HA system bouncing while I tried to get it all working.  But if I integrated the camera stuff into the main poll script rather than as a separate process, I could avoid interfering with the serial polls.  And I’d get jimsdellmini out of the critical path and more usable for other stuff.
  • And of course implementing a more rational database – like RRD? – has been on the list for a long time, but that’s a pretty big deal.
  • It would often be helpful to have an easy way to add annotations to any of the graphs/data sets to comment on special things that happened.  That will probably wait until a more final database is implemented, but who knows?   Update:  I could make each power outage line a link to a (password protected) page that would prompt for a comment.  Prepending exactly the posted outage line (timestamp and duration) to the comment, maybe with ‘;’ delimiter, the comment line would be appended to a comments file.  When printing the outage lines, I could grep out any matching lines from the comments file.  Maybe.
  • And I’d really like the water meter reader to work again.  I even looked at it a few weeks ago and could see that the optics could still be aligned on the red spinning arrow, providing enough brightness variation that I’m surprised the phototran couldn’t see it.  Maybe it’s just a drift/reset the bias thing.  Update: Looks like the city’s going to replace all the water meters, so the clever-but-not-clever-enough-to-keep-working optical telescope will soon be completely obsolete.  More here.
Posted in Home Automation | Tagged , , , , | Leave a comment

IR comms considerations (for penlift for the Drawbot)

Introduction

I was planning to hold this to be part of a much larger writeup of the Drawbot, but while it started as part of that project, it sort of took on a life of its own as an IR comms optimizing exercise.  I blew a huge amount of time on this, sticking my head in the sand and ignoring other things I really should have been working on.  I kept thinking “just one more test” – but that wasn’t how it worked.

The first version of the pen lift for the Drawbot included a nice servo mechanism driven by a Tiny85, but time forced the major ugliness of a light pair of wires from the main Arduino to carry control info to the gondola.  It worked fine, but those wires were never supposed to be there.  IR communication was the plan.

Finally, using a (20 year?) old 3 pin 38KHz IR receiver still in its Radio Shack bubble pack, I made up a PCB with a Tiny85 listening to the receiver module, driving the servo to lift the gondola and red and green status LEDs (for pen down/up).  I defined a simple pulse position protocol (in DrawbotStuff/DrawbotTinyServo4_IR.ino) on top of the required 38KHz pulses to deliver the 1 bit (up/down) messages, made up a test sender with an Arduino and an IR LED sending alternate state messages every half second and got it working.

A little aluminum bracket glued to the back of the PCB clips it to the gondola.  Servo and power wires were both perfect length to go to the board.  Sometimes we just get lucky. 🙂

Unfortunately, I wondered whether a useful improvement in range could be made by increasing LED current, along with a corresponding decrease in pulse width.  Now, the plan is to use 3 IR LEDs spread across the width of the Drawbot base, shining up at the gondola so even when it’s at the bottom corners of its movement, it will still have a transmitter LED more or less under it (ended up with 6).  And with one LED at 50% duty cycle and 20mA – completely within the LED’s specs – I can get range much greater than to the top of the Drawbot.  So it really doesn’t need any range improvement.  But I just had to go and ask the question.  Bad decision.

Rick S suggested a 50% duty cycle would contain the most energy at the fundamental, thus providing max signal after the receiver’s bandpass filter.  Sounded like a reasonable argument against a range increase.  I tested at the space with 5.5 mA/50% DC pulses and got range (go/no go, with the actual receiver and protocol) of 50″.  Dropping to 25% DC but still 5.5mA, range dropped to 40″.  I can believe that.  Keeping 25% and increasing current to 11mA range went up to 167″!  WTH?

Christine suggested maybe the LED output was nonlinear and at the lower current wasn’t putting out as much as expected.  I tested with a very small 8 cell Si solar panel directly into my bench meter in current mode (~100 ohms), which I think is a good way to test for light energy in.  (I crudely covered the panel to keep out ambient light.)  Results of output current v LED drive current were VERY linear, 1-30 mA.  So I think doubling the current does indeed double the light output.

(A vaguely plausible explanation for the wild range increase  (sorry for no pics 🙁 ):  The test was done with the LED near the end of one of the gray tables at the space, maybe 5″ above its surface, and aimed horizontally.  *Maybe* – energy off axis, which should never have come into play, hit the table top and reflected/diffused off toward the 167″ away receiver over another table.  That effect could be eliminated by mounting the LED out in space, not over a possibly reflective surface.  A subsequent test with similar currents but without the problem table did not show the wild range increase.)

Of course while testing using the actual intended receiver and message protocol provides great “real world” chops, it violates my “No boolean failure indications!” rule.  I should really structure a better test indicator.  Hmm – if I can’t get inside the receiver module to get an analog indication of how close we are to max range threshold, what if I can control the stimulus – LED current – and use that to sneak up on the indicator?  (Interesting idea, cost me lots of time digging into how to get an analog handle on LED current with a bench supply, but never got used.  All I did was suffer along with the go/no go indications of the IR receivers. 🙁 )

A good next test would be another doubling (or more) of LED current (with corresponding decrease in duty cycle to keep from blowing the LED) and testing range.  Maybe simplify the pulse train to eliminate any funnies created by my protocol, and maybe use a newer (and just different) IR receiver module.

Range test approach

Ugh.  The first tests (at W88) were with 2 known resistors that measured a factor of 2 difference in LED current: 5.5mA and 11 mA.  I kept the current low so the range would be manageable.  But the results were just unreasonable.

For the next round, I wanted to compare the range with a known LED current at 50% duty cycle (of the 38KHz pulses) with the range with a considerably higher current and correspondingly lower duty cycle (to not smoke the LED) – for nominally the same energy per pulse.  How hard can that be?

The lowest duty cycle I could easily arrange on the Arduino at 38KHz was 20%:

    digitalWrite(LEDPIN,HIGH);
    digitalWrite(LEDPIN,LOW);
    delayMicroseconds(16);

That gave me a 2.5:1 change from the 50% D.C. (duty cycle) I took as reference.  That should be enough to see whatever effects there are by increasing LED current by a factor of 2.5.

To provide known current pulses, I set the IR LED up with a fixed resistor and an adjustable bench power supply.  Pulse current was gated by a logic level MOSFET driven by an Arduino (or sometimes a bench pulse generator).  I mounted the FDS6670 MOSFET (in its odd SOIC 8 package) with power, logic in, and load connections so it might be reused some time.

By measuring the voltage pulses across the known resistor (with my nice new scope), I made a table of supply voltage v LED current so I could easily produce any desired LED current.  That approach was chosen so changes in the forward voltage of the LED would not affect the results.  The first 2 columns below show the results.

I, mA   Vsupply   Vsup, computed
  2       1.55     1.53
  5       2.16     2.26
 10       3.27     3.36
 20       5.57     5.56
 40      10.6      9.88
 50      11.6     11.9
 80      18.5     18.6
100      22.8     23.0

(In hindsight, the limited accuracy of reading the pulse amplitude on the scope introduced more error than the LED.  Better would have been to measure the LED’s forward voltage at a couple of currents, measure whatever drop there was across the MOSFET (if any), interpolate the LED voltage and compute the supply voltage.  Working backwards and subtracting the drop across the resistor at each current from the required supply voltage in the table above, I computed LED voltages between 0.6 and 1.17V, with no particular correlation with current – awful.  Still close enough to be useful – just not very ideal.  Measured DC LED Vf=1.19V @10mA.  Later I computed the Vsupply based on known Vf (third column above); that’s what I used for subsequent tests.)

Knowing I’d need a long straight shot, I mounted the LED (with Arduino dangling) on a stick hanging out in space so it could see past various obstructions, “up” a small staircase, and along the floor on the next level.  At 50% duty cycle and 50 mA, it worked for the full 44′ shot.  (11′ down the computer bench, 6′ to the stairs, 7 ft “up” the stairs, and 20′ across the kitchen.  View from the LED is on the left.)

Unfortunately, I never got very crisp results.  The go/no go indication of the pen lift receiver was too capricious.  Once again, I could see some decrease at constant current going from 50% to 20% duty cycle.  But when I tried to change current, results were unclear.  (Note that the observation of range decrease going from 50% to 20% DC has no relevance to the tradeoff we’re investigating.  But it’s a very easy test, and can at least give some warm fuzzies when it behaves as expected.)  Hmm – might there have been reflections from the kitchen floor – very analogous to the table in the tests at W88 – confounding the measurements?

Trying to get better results, I made up another simpler receiver, using a different IR module and just an LED.  After verifying that this one was indeed open collector (the RS one wasn’t), and getting past some dumb mistake, I second guessed myself and made it and remade it so the LED would be on, then off, then on when pulses were sensed to make the most usable tool.  (Is it easier to see it stutter off or on at the ragged edge of range?)  Here it is as used, with some random little LiPo cell.

But it’s not that simple.  In reading the datasheet for the common Vishay TSOP devices, I found you can’t just send continuous 38KHz pulses – something about AGC.  It’s designed only for messages, and messages have a maximum length, and dead time is required between messages.  That meant I would have to rewrite my test sender, honoring the gaps, but still giving a ‘mostly continuous’ indication on the receiver.  Yeah, it’s just datasheets and code and design decisions, and yes, I can do it all, but boo.  So I did it.  Boo.

Trying to decrease the range (to make measurement easier) while staying pretty linear, I made a little diffuser/attenuator out of a bit of plastic tube that (when split) fits over the (5mm) IR LED and has a Kleenex cover taped over the emitting end as the diffuser.  I can’t imagine its effects could be brightness dependent.  It might, however, act as much more of a point source, changing the parts of the range behavior related to the narrow beam divergence created by the LED’s lens.  Ugh.

Real test results (finally!)

Using the new supply voltage values, new code on the penlift board, new code on the test driver Arduino, the 3d version of the independent receiver, and clamping the LED on the edge of the bench looking out so  there wouldn’t be any possibility of unintended reflections, I did some tests.  Finally.  To keep from further frying the LED’s resistor (oops), I quit the 50% DC tests early.  (I really need to remember to consider power more consistently in electronics hacks.  As well as thermal  effects in chemical hacks.)

The new sensor (with new “as continuous as I dared” pulse stream) worked, but not great.  Its LED was constant brightness (and blinking at ~10Hz), but gently started to dim as it reached max range.  Then it went out.  I tried to gauge where it just started to dim (what a terrible indication!) and moved just a little closer for the official range.  Uncertainty was a couple of inches.  Ugh.

The penlift receiver exhibited some kind of hysteresis.  I’d move away until it stopped responding, then go closer again so it restarted.  But then if I went away very slowly, I could get an extra inch or five.  This was over the course of several seconds.  Parts of the AGC seem to be very slow.  Again, I moved a little closer than the very furthest I could finesse for the official measurement.  For both the penlift and the alternate receiver, I moved around in space to make sure I was fairly centered on the beam.

The new receiver, tested with the diffuser shows the expected (and unimportant) behavior of somewhat shorter range (~72%) when DC is reduced from 50% to 20%.  For the payoff test of decreasing DC and increasing current by like ratios:  Using the 20mA->50mA points nets a 15% range gain.  Using 10mA->(interpolated) 25mA gives a 32% gain.  That’s probably statistically significant, though hardly a “Hallelujah!”.

Data from the penlift – including its protocols – with the diffuser provides similar range decrease (66%) in the irrelevant dropping DC test.  The payoff tests – two pairs of direct data and one interpolated – gives an average range gain of 8%.  Big whoop.

The penlift with naked, lensed LED – the configuration I had expected to use all along – again gives similar range drop (70%) with reduced DC.  But the payoff tests – real data for 2->5mA and extrapolated for 5->12.5mA (ran out of room to go any farther!) average 62% gain.  But there’s a partial explanation:  Graphs of both data sets covering several points (the ones with diffuser) show a clear curve – with greater slope at low currents.  Since the scant data points we have are at the bottom, steepest part of the curve, one could argue that current increases have more effect there.  But (in a fit of sensibility!) I haven’t done any curve fitting to see if that’s justified.

The bottom line

Results were mixed, but it does look like increasing current and decreasing duty cycle, here both by a factor of 2.5, increased range by 10% – 30%, possibly more in some cases.  Interesting.

But putting my adult hat on for a moment, this was all unnecessary for the case at hand:  At just 5mA and 50% DC, the penlift worked out to 16 feet.  The farthest the gondola can ever get from the LEDs is a little over 3 feet.  But once some dumb question insinuates itself into my head, rational behavior is out the window.  Ugh.

Update some months later:  The actual drawbot pen lift works perfectly with this overengineered comms mechanism.

 Notes on IR receiver modules

For at least my future reference, here are some random bits I learned diving down the IR receiver rabbit hole:

  • The receiver modules are cheap and wonderfully effective.  Just use one!
  • They come with center frequencies from 30-56KHz.  It doesn’t matter which you use, but do be sure your transmitter matches it.
  • There are several quite well documented control protocols used by commercial remotes.  The IR receiver docs often include nice info on them.
  • These things are expressly designed for delivering small (a few bytes max) asynchronous messages, and REQUIRE gaps between them.  They’re NOT designed as general purpose comms links.
  • They will (usually?) detect the beginning of a pulse stream in well under a millisecond.  But their AGC/other internal timing is very much not designed for DC carrier.  Don’t try to use them for a (normally on) beam break application!
  • There are multiple versions of modules tuned for different use cases.  I ran across families supporting “AGC 2” and “AGC 4”.  Presumably there are at least two other AGC classes.  There are versions for “short” and “long” data packets, and something called “continuous”, though it might need gaps as well.  I’d guess they would all work for simple hobby applications.
  • If you can’t get a datasheet for a junkbox/surplus IR receiver and don’t know the pinout, the following is alleged to have worked well and never fried any parts:  With a 1K resistor between the power supply and the device (for safety), just try all the possible pinouts of power/ground/signal out while shining a TV remote at it until you find the one that works.
Posted in Drawbot, Tiny 85 stuff | Tagged , , , | 1 Comment