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.

Tag: Improvements

Making the world a better place, one piece at a time

  • Bafang DPC-18 Button Mollyguard

    Bafang DPC-18 Button Mollyguard

    I got the Bafang DPC-18 display for my Tour Easy specifically to put the control buttons on the handgrip, rather than the buttons on the left of the 500C display on Mary’s bike:

    Tour Easy Bafang - display 26 mi
    Tour Easy Bafang – display 26 mi

    The first pass put them on the left handgrip, just behind the thumb throttle:

    Bafang DPC-18 control buttons - initial mount
    Bafang DPC-18 control buttons – initial mount

    This turned out to be a catastrophically bad position, because the “buttons” extend all the way to the edge of the mount and trigger when pressed a fraction of a millimeter: the dark line visible under the light gray top is the entire range of motion.

    My resting hand position on the grip put the edge of my gloved index finger along the buttons, where it would inexorably nudge the + button until I was riding in assist level 9 (Rocket Sled) mode.

    One ride was enough to convince me those buttons needed a Mollyguard:

    PXL_20230321_233854755 - Bafang DPC-18 button Mollyguard - rear view
    PXL_20230321_233854755 – Bafang DPC-18 button Mollyguard – rear view

    It is, of course, a laser-cut piece of 1.5 mil black acrylic, held in place with hot-melt glue. Because the button housing isn’t mounted symmetrically on the handlebar, I cut a few paper templates before getting the position and size right.

    A view from the front shows the lip sticking up over the buttons:

    Bafang DPC-18 button Mollyguard - front view
    Bafang DPC-18 button Mollyguard – front view

    FWIW, the asymmetric mount put the buttons on the rider’s side of the flat handlebars found on contemporary upright city-rider style bikes. It makes perfect sense in that context, but didn’t help me in the least.

    With the Mollyguard in place, I rotated the whole button assembly around the handgrip to allow pushing the buttons with my thumb in its natural position.

    Now the assist level changes only when I want it to!

  • Eyeglass Case Padding

    Eyeglass Case Padding

    The “live hinge” on my overnight eyeglass case shattered when it hit the floor (these things happen), which prompted me to finish a longstanding project of replacing the inadequate / worn out padding in my most-used cases to reduce rattles while in my pocket.

    I’d long ago cut craft foam sheets to fit some of the cases, so I started by scanning a sample:

    Zenni case pad
    Zenni case pad

    Admittedly, black foam on a white background isn’t much to look at, but it did fit one of the cases pretty well.

    Rotate the image to make things simple, convert it into a monochrome bitmask, import it into LightBurn, fair some Bezier curves around it, duplicate and tweak for the other not-quite half of the case:

    Zenni eyeglass case pads - LB Layout
    Zenni eyeglass case pads – LB Layout

    I ended up with several different versions for various cases, but you get the general idea:

    Zenni eyeglass case pads - installed
    Zenni eyeglass case pads – installed

    They’re all cut from 2 mm EVA foam sheets which, despite the “vinyl” in their name, do not contain chlorine and are suitable for laser cuttery.

    Some of the deeper case halves required strips of adhesive sheet to secure the foam, but most sheets dry-fit in place.

    Definitely no rattles!

  • Craptastic Kitchen Scale: Button Sensor Tweaks

    Craptastic Kitchen Scale: Button Sensor Tweaks

    The four control “buttons” on the SmartHeart kitchen scale are copper-foil tabs that sense the presence of your finger though about 5 mm of white plastic and glass:

    SmartHeart 19-106 Kitchen Scale - top view
    SmartHeart 19-106 Kitchen Scale – top view

    The main failure mode seemed to come from the microcontroller locking up and refusing to recognize any of the buttons, most annoyingly the On/Tare button, while continuing to measure whatever weight was on the scale with whatever zero point it chose. Recovery involved waiting until the thing timed out and shut itself off.

    The two buttons on the left select Kilocalories for any of the various foods arrayed around the display. Depending on how it jammed during startup, it might display the Kilocalorie value for, say, sugar, while ignoring all button presses. As the manual does not mention any way to return to weights after activating the Kilocalorie function, other than turning it off, it’s not clear recognizing the other buttons would be much help.

    Because we have no use for those functions, I unsoldered the wires to those sensor pads and it no longer jams in that mode:

    SmartHeart 19-106 Kitchen Scale - PCB detail
    SmartHeart 19-106 Kitchen Scale – PCB detail

    The alert reader will note the PCB legend says I have unsoldered the ON/OFF and UNIT wires. If one believes the silkscreen, the PCB dates back to 2015, so it now carries a reprogrammed microcontroller with functions that no longer match the silkscreen.

    The overall soldering quality resembles mine on a bad day.

    With those out of the way, the scale still jammed and refused to recognize the remaining two buttons. I wondered if it was somehow sensing ghost fingers over both sensors and waiting for one to vanish, so I added a shield ring around the power tab:

    SmartHeart 19-106 Kitchen Scale - shielded sensor
    SmartHeart 19-106 Kitchen Scale – shielded sensor

    That reduced the sensitivity of both sensors to the point where they pretty much didn’t work, without reducing the number of jams.

    So I tried increasing the sensitivity of the power tab by replacing it with a larger copper foil sheet:

    SmartHeart 19-106 Kitchen Scale - larger sensor
    SmartHeart 19-106 Kitchen Scale – larger sensor

    That definitely got its attention, as it will now respond to a finger hovering half an inch over the glass, as well as a finger on the bottom of the case: it can now turn on and jam while I pick it up.

    More tinkering is in order, but it’s at least less awful in its current state than it was originally, so I can fix a few other things of higher priority.

  • Craptastic Kitchen Scale Tinkering

    Craptastic Kitchen Scale Tinkering

    The health plan I use pays $100 toward the year’s over-the-counter healthcare stuff, although with a caveat: you can only buy the stuff from a specific website. As you might expect, what’s available consists of no-name generic products with absurdly high sticker prices and, just to rub it in, the hundred bucks gets paid in quarterly use-it-or-lose it installments.

    Seeing as how it was free, I got a kitchen scale:

    SmartHeart 19-106 Kitchen Scale - top view
    SmartHeart 19-106 Kitchen Scale – top view

    It has two catastrophically bad design features:

    • Terrible battery life
    • Overly sensitive controls

    It runs from a pair of series-connected CR2032 non-rechargeable lithium coin cells. Which would be fine, except that the blue LED backlight stays on for 30 seconds after each button touch and draws about 10 mA.

    The battery lifetime is best measured in days.

    The four control “buttons” on either side of the backlit LCD are touchless sensors using copper foil stickers:

    SmartHeart 19-106 Kitchen Scale - NP-BX1 retrofit
    SmartHeart 19-106 Kitchen Scale – NP-BX1 retrofit

    The alert reader will spot those the empty CR2032 coin cell contacts over on the left and a pair of NP-BX1 batteries in the middle.

    I figured there was no need to keep feeding it coin cells while I played with it, so I conjured a holder from the vasty digital deep. Normally, that would be an OpenSCAD solid model suited for 3D printing, but in this case the lithium cells exactly filled the space between the PCB and the bottom of the case, so it became a 2D design neatly suited for laser cuttery.

    Kitchen scale - NP-BX1 holder - LB layout
    Kitchen scale – NP-BX1 holder – LB layout

    I planned to stick the orange cutout (in 1.5 mm acrylic) as a stabilizer around the pogo pins making contact with the cell terminals from the red cutout (in 3 mm acrylic), but just melting the pins into the acrylic seemed sufficient for the purpose. Strips of adhesive sheet saved from the margins of previous projects affix the holder (not the cells!) to the scale’s upper glass layer.

    As far as I can tell, the scale is perfectly happy running on 7.4 V, rather than 6.0 V. The PCB has two terminals marked +3V and +6V, so it probably depends on which LEDs they use for backlights:

    SmartHeart 19-106 Kitchen Scale - PCB detail
    SmartHeart 19-106 Kitchen Scale – PCB detail

    The alert reader will notice a peculiarity concerning the sensor pad connections along the top edge.

    More on that second bad design decision later …

  • Medium Ricotta Lid Box: QR Code vs. Chipboard

    Medium Ricotta Lid Box: QR Code vs. Chipboard

    Another box from the festi.info box configurator to collect more lids in a kitchen drawer:

    Medium Ricotta Lids box
    Medium Ricotta Lids box

    This was really a thinly veiled excuse for a deeper look at the QR code generator encoding the myriad parameters required to create the box and see what happens when you try to burn such a complex thing into chipboard.

    Spoiler: chipboard has very low contrast and really does not work well with high-density QR codes.

    Although the festi.info box generator can produce QR codes, I used qrencode (available in your Linux distro) on the command line to generate QR code image files with specific settings:

    qrencode --level=M --size=6 --dpi=254 --output='Ricotta Lids 2 lb - chipboard.png' 'http://festi.info/boxes.py/ABox?FingerJoint_angle=90.0&FingerJoint_style=rectangular&FingerJoint_surroundingspaces=2.0&FingerJoint_bottom_lip=0.0&FingerJoint_edge_width=2.0&FingerJoint_extra_length=0.0&FingerJoint_finger=2.0&FingerJoint_play=0.0&FingerJoint_space=3.0&FingerJoint_width=1.0&x=200.0&y=120.0&h=60.0&outside=0&bottom_edge=h&thickness=1.4&format=lbrn2&tabs=0.0&qr_code=0&debug=0&labels=0&reference=0&inner_corners=corner&burn=0.04&language=en&render=0'
    
    

    The key parameters:

    • --level → error correction level
    • --size → size of the smallest square (“module”) in pixels
    • --dpi → DPI of the output image file

    The default file type is PNG. The unusual 254 DPI makes each pixel exactly 0.1 mm wide and a peculiar 169.33 DPI = 0.15 mm came in handy for the first pattern.

    The final parameter is the character string to encode, which you should definitely quote to prevent the shell from wrecking things while trying to help you.

    A pattern with 4×4 pixel modules didn’t scan at all:

    Chipboard QR code - 15pct 0.15mm 4x4 - overview
    Chipboard QR code – 15pct 0.15mm 4×4 – overview

    A closer look shows the modules have ragged edges due to laser timing variations during the engraving scans and gaps between successive scans because the spot size is less than the 0.15 mm scan interval:

    Chipboard QR code - 15pct 0.15mm 4x4 - detail
    Chipboard QR code – 15pct 0.15mm 4×4 – detail

    Increasing the module to 6×6 pixels at a 0.1 mm scan interval :

    Chipboard QR code - 15pct 0.10mm 6x6 - overview
    Chipboard QR code – 15pct 0.10mm 6×6 – overview

    A closer look shows the larger module reduces the relative size of the timing errors, while the decreased line spacing tidies up the blocks:

    Chipboard QR code - 15pct 0.10mm 6x6 - detail
    Chipboard QR code – 15pct 0.10mm 6×6 – detail

    Reducing the power from 15% to 10% reduced the contrast to the point of illegibility:

    Chipboard QR code - 10pct 0.10mm 6x6 - overview
    Chipboard QR code – 10pct 0.10mm 6×6 – overview

    A closer look shows the engraving barely punches through the surface and has somewhat more ragged edges due to the tube’s pulsating startup current at very low power:

    Chipboard QR code - 10pct 0.10mm 6x6 - detail
    Chipboard QR code – 10pct 0.10mm 6×6 – detail

    I also tried 5×5 modules with similar results.

    The laser spot size sets the engraving scan interval, which then determines the DPI value for the QR code image. With all that matched up, you can send the images directly to the laser in Passthrough mode, without having LightBurn resample the pixels and change the module’s shape.

    Looked at from a different angle: given the laser spot size and the module size, the QR code image size is not under your control.

    From another angle: given a QR code image size in, say, millimeters, and the engraving scan interval, the module size is not under your control.

    All this is moot if you print QR codes on a high-resolution / high-contrast printer. It’s just the gritty nature of laser cuttery that limits what you can accomplish.

    And, of course, using a material less awful than chipboard will definitely improve the results.

    If you want a similar box of your own, here ya go:

    Medium Ricotta Lids - chipboard QR code - default
    Medium Ricotta Lids – chipboard QR code – default

    The URL is too ugly to print, but you can copy it from this link.

  • Mini-lathe Chuck Jaw Holder

    Mini-lathe Chuck Jaw Holder

    While swapping chuck jaws I realized I didn’t have to pile them on a shop rag atop the lathe headstock, no matter how neatly cut those rags might be:

    Lathe chuck jaw holder - installed
    Lathe chuck jaw holder – installed

    It’s three layers of MDF cut to hold all six jaws from the 4 inch 3 jaw chuck, stuck together with wood glue.

    You really need only four sockets: one empty for the jaw you just removed, then work your way around the chuck. But, hey, MDF is cheap and I usually remove all three at once anyway.

    When it starts walking away, it’ll sprout silicone feet.

    The LightBurn SVG layout as a GitHub Gist:

    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.

    That was easy!

  • Please Close The Gate Signs: Paint Masking FAIL

    Please Close The Gate Signs: Paint Masking FAIL

    A warm day let me shoot the engraved signs for the Vassar Community Garden gates with rattlecan black:

    Please Close The Gate - masking tape peeled
    Please Close The Gate – masking tape peeled

    The full sheet of orange acrylic arrived with plastic protective film on both sides, which I planned to use for paint masking. Alas, one side also had a wrinkle running its length that ended up on two signs, so I replaced that film with blue masking tape.

    As fate would have it, the first side of the first sign I peeled had masking tape and produced what you see above.

    Things went bad in a hurry. The paint had no adhesion whatsoever to the plastic film and fell off in flakes as I peeled the film away:

    Please Close The Gate - plastic peeled
    Please Close The Gate – plastic peeled

    I assumed the flakes would just fall off the signs, perhaps with a little persuasion, so I peeled and weeded all the signs before cleaning them up.

    Although the paint was fully dry, when the molecularly smooth surface of each paint flake touched the molecularly smooth surface of the newly exposed acrylic, the two instantly and permanently fused together.

    There were a lot of flakes:

    Please Close The Gate - plastic peeled - detail
    Please Close The Gate – plastic peeled – detail

    Removal techniques that did not work:

    • Vacuuming with a brush
    • Gentle rubbing with a soft cloth
    • Firm rubbing after spraying with acrylic cleaner
    • Scraping with a plastic razor blade

    So I deployed a P220 grit sanding block and wrecked the glossy surface of both sides of all six signs. I briefly considered trying to recover the finish by sanding them all up through about 2000 grit, then came to my senses: my sanding arm is weak.

    Careful examination of the last picture shows several places around edges of the circle where the plastic film melted into a blob that blocked the paint, rather than vaporizing. I used enough power to engrave only about 0.3 mm deep (because they’re engraved on both sides), but the transition wasn’t fast enough for a clean edge.

    They don’t look as nice as I’d like, but they’re good enough for the purpose:

    Please Close The Gate - installed
    Please Close The Gate – installed

    The acrylic sheet is more see-through than I expected, at least when backlit by bright sunlight.

    Please Close The Gate - seethrough
    Please Close The Gate – seethrough

    Next: we discover what happens to UV-stabilized orange acrylic and black outdoor paint over the course of a year in garden sunshine.