The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

Category: Electronics Workbench

Electrical & Electronic gadgets

  • DOT-01 NP-BX1 Battery Status

    Back in February, a quartet of DOT-01 NP-BX1 lithium batteries for my Sony HDR-AS30V helmet camera had mediocre performance compared to an older Wasabi battery:

    Dot01 NP-BX1 - new 2019-02
    Dot01 NP-BX1 – new 2019-02

    After eight months of regular use, they’re even further into mediocre:

    Sony DOT-01 NP-BX1 - 2019-10-29
    Sony DOT-01 NP-BX1 – 2019-10-29

    In round numbers, they’re down from 2.8 W·h to 2.5 W·h and now run the camera for about 70 minutes, rather than 90+ when new. Our typical rides go for about an hour, which means I must swap batteries somewhere along the way.

    I still dislike the notion of sticking a 16850 cell next to the camera and powering it from the USB charger running the M20 rear camera requires another helmet cable, but it’s obvious NP-BX1 batteries lack enough active ingredient for the long haul.

  • Kenmore Gas Stove Oven Temperature Control Encoder

    For the last year or so, the oven temperature control on our Kenmore gas stove has been decreasingly stable, sometimes varying by 100 °F from the setpoint before settling down somewhere close to what it should be. Spotting a replacement control board for a bit over $100, I decided the board used an absolute rotary encoder of the open-frame variety, so I took the thing apart:

    Kenmore oven control - PCB overview
    Kenmore oven control – PCB overview

    The encoder was, indeed, an open frame:

    Kenmore oven control - rotary encoder
    Kenmore oven control – rotary encoder

    The red droplet is DeoxIT, the rest of which went inside, just ahead of the contact fingers, and got vigorously massaged across the switch contacts on the wafer by spinning the shaft.

    Some time ago, the membrane over the TIMER ON/OFF switch cracked and I applied a small square of Kapton tape. Having the entire controller in hand, I replaced the square with a strip of 2 inch Kapton, carefully aligned with the bezel marks embossed on the membrane, and now it’s smooth all over:

    Kenmore oven control - Kapton tape cover
    Kenmore oven control – Kapton tape cover

    The MIN(ute) ^ switch required a much firmer than usual push, so I tucked a shim cut from a polypropylene clamshell between the membrane and the pin actuating the switch.

    Reassembled, it works perfectly once more.

    Gotta love a zero-dollar appliance repair!

  • MPCNC: Z-Axis Probed Height Map to Solid Model

    I set up an orthotic shoe insert on the MPCNC and unleashed the Z-Axis height probe on it:

    Orthotic - bottom probing
    Orthotic – bottom probing

    In principle, the grid keeps the object aligned with the machine axes and the blocks put the upper surface more-or-less parallel with the platform. The XY origin, at the G28 location I’ve been using for tool changes, is on the midline of the sole, with Z touched off by probing the platform beside the sole.

    The only interesting part of the orthotic is the rigid white plastic plate, which extends about 20 mm into a pocket in the black foam, so the probe area excludes the bendy part.

    I’m abusing the bCNC Auto-level probe routine to get the height map, because it produces a tidy file of XYZ coordinates with three header lines describing the overall probe area:

    -50 140 39
    -50 50 21
    -2 35 500
    
    -50 -50 0.11
    -45 -50 0.06
    -40 -50 0.005

    The first two lines give the X and Y coordinate ranges and number of samples. The third line is the Z axis range and probe speed (?). After that, it’s just probed XYZ coordinates, all the way down.

    Meshlab can import ASC files consisting of XYZ coordinates, with the ability to skip a specific number of header lines:

    Meshlab ASC file import - header lines
    Meshlab ASC file import – header lines

    If you don’t skip those three lines, then you get three additional points, far off in XYZ space, that will confuse the next step.

    Checking the Grid Triangulation box (the default) produces a nicely lofted sheet:

    Orthotic - R bottom triangulated
    Orthotic – R bottom triangulated

    It is, however, a single-sided sheet, not a manifold 3D object. After a few days of screwing around, I’m unable to find any (automatic, reliable, non-manual) way to solidify the thing in Meshlab, so just save it as a PLY file in ASCII format:

    Meshlab PLY file export - unchecked Binary Encoding
    Meshlab PLY file export – unchecked Binary Encoding

    Import it into Meshmixer, Ctrl-A to select the whole thing, click (Select →) Edit → Extrude, pick Y-Axis and Flat EndType, then extrude a convenient base in the negative direction:

    Meshmixer - Y-Axis extrusion
    Meshmixer – Y-Axis extrusion

    For whatever reason, some 3D programs show machine-tool coordinates with Z pointing upward and others aim the Z axis at your face. Both must have made sense at the time, because Meshmixer defaults to swapping the Y and Z coordinates on import / export.

    The Density slider controls the number of generated faces in the extruded section, so tune for best results.

    I have no idea what Harden does.

    Accept the result and you have a solid object suitable for further modeling.

  • Pride Lift Chair Control Dimming

    For reasons not relevant here, we recently decontaminated a second lift chair, this one in bariatric size (so it doesn’t suffer from fuzz-shaving struts) with a six-switch control pod:

    Pride lift chair control - dimmed LEDs
    Pride lift chair control – dimmed LEDs

    The green LED-lit buttons were so bright I took it apart to see what could be done; the picture shows the considerably dimmed result.

    Start by prying outward on the tab at the USB charging port:

    Pride lift chair control - USB port latch
    Pride lift chair control – USB port latch

    Done right, you can then release the latches along the sides:

    Pride lift chair control - side opened
    Pride lift chair control – side opened

    It’s impossible to photograph the PCB with the LEDs active, but here’s what it looks like without power:

    Pride lift chair control - PCB overview
    Pride lift chair control – PCB overview

    The eight (!) SMD LEDs align with light pipes around the switch openings:

    Pride lift chair control - button keys
    Pride lift chair control – button keys

    The black dots come from Sharpie ink daubed in the shallow recesses intended to nestle around the LEDs. Note that the four switch caps have unique keying, so you can’t put them back incorrectly without some effort.

    While we’re inside, here’s a closer look at the cable entry point, just in case I must replace the industrial-strength coily cord:

    Pride lift chair control - cable entry
    Pride lift chair control – cable entry

    Unfortunately, it has a five-conductor cable, so a cheap phone coily cord (remember when phones had coily cords?) won’t suffice.

    The PCB sports a pair of PICs, one of which seems to handle the buttons. I betcha the cable dates back to the days of hard-wired power switches, with the PIC now handling the intricate logic of deciding which motors to actuate for each function, then controlling MOSFETs as fake switch contacts.

    The other PIC snuggles against the USB interface, which the manual describes as a charging-only port. It might also serve as a programming interface for the main PIC; admittedly the notion of a firmware upgrade for a lift chair seems far-fetched.

    Reassembly is in reverse order with a resounding snap at the conclusion. It works fine and you (well, I) can now look at the control pod without sunglasses.

  • Raspberry Pi vs. eBay Camera: Assembly Completion

    I picked up a pair of Raspberry Pi V1 cameras, both of which arrived unstuck to their breakout board:

    RPi V1 camera adhesive
    RPi V1 camera adhesive

    Requiring the customer to peel off the white layer and stick the camera to the PCB helps keep costs low. They’re $4 if you’re willing to wait two months or $7 from a “USA Seller”.

  • Alead Telecoil Receiver: Magnetic Field Check

    I got an Alead / Nolan HearLinks (many adjectives) Telecoil receiver to boost my ability to hear music & presentations at Vassar, because they recently slotted telecoil loops into the floors of their public venues. It took a few concerts to get the appropriate volume setting, after which I wondered how sensitive the receiver was:

    Alead T-coil receiver - test setup
    Alead T-coil receiver – test setup

    The small T in the upper right corner marks the receiving coil location, with the coil oriented parallel to the body’s long axis. It’s the secondary winding of an air-core transformer with a single-turn (perhaps using Litz wire) primary embedded in the floor, with the induced voltage obeying the usual transformer equation:

    V = 2π µ₀ µr N A f H cos θ

    Definitions:

    • µ₀ – vacuum permeability = 4π×10-7 H/m
    • µr – relative permeability
    • N – number of turns
    • A – receiver loop area, m²
    • f – signal frequency, Hz
    • H – magnetomotive force, A/m
    • θ – angle between windings

    For a given installation and receiver position, pretty much everything is fixed, with the voltage depending only on the H field caused by the primary winding current.

    The induced voltage is linearly dependent on the frequency, but the transmitter equalization filters apparently flatten the spectrum to get equal receiver amplitude between about 100 Hz and 5 kHz.

    The coil in that picture has nine turns, with four passing through the Tek current probe. Applying 10 mVpp to the winding produces a corresponding current:

    JDS6600 10mVpp 1 kHz - 4 turns - 1 mA-div
    JDS6600 10mVpp 1 kHz – 4 turns – 1 mA-div

    The scope sees 14 mVpp = 1.4 div at 1 mA/div = 1.4 mA. Dividing by 4 turns means the coil actually carryes 350 µA. The signal generator has a 50 Ω output impedance, so 10 mV should produce about 200 µA, which seems a bit low. On the other paw, the signal generator sees the coil as a dead short at 1 kHz, so I don’t trust the numbers.

    Whatever magnetic flux it may be produces a 1 kHz tone at a somewhat higher volume (for the same receiver setting) than the fancy Vassar loops, so the flux is in the right ballpark. With a bit more attention to detail, perhaps I can tinker up a current-mode loop drive amplifier.

    The Alead receiver has an internally generated tick audible at the audio volume I need for the Vassar loops, which is 5 to 7 steps down from the maximum volume at 15 steps. It seems related to the internal Bluetooth hardware, although it’s present even when the receiver is not paired with my Pixel phone and, in fact, is unchanged even when 100 feet from the nearest electronic device.

    When I reported the problem, they said:

    Yes, you can hear very minor tick sound on telecoil mode. It is caused by some electronic and current to make those tick sound. Sorry for this defective on the design.

    It had one job that it doesn’t do well, so it’s on the way back for a refund.

    Evidently, I must build an audio loop receiver to get what I want …

  • Cateye Astrale Cyclocomputer Battery Life

    The display on Mary’s Cateye Astrale “Cyclocomputer” had once again faded to gray, so it’s time for a new CR2032 lithium cell:

    Cateye Astrale - battery change 2019-09-22
    Cateye Astrale – battery change 2019-09-22

    The old cell read 2.5 V, well below what it should be.

    The notes scrawled on the cell become readable under better light:

    Cateye Astrale - CR2032 life
    Cateye Astrale – CR2032 life

    Seven years (at 1942 mile/yr) ain’t bad at all!

    To replace the cell fast enough to maintain the odometer reading, just unscrew & remove the battery cover, slam the back of the Astrale on the bench, and pop in the new cell.

    Maybe I should replace the cell twice a decade, regardless of how feeble it might be?