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.

Month: July 2023

  • SJCAM M20 Camera: Car Mode Battery Hack

    SJCAM M20 Camera: Car Mode Battery Hack

    The last lithium cell (a.k.a. battery) for the longsuffering SJCAM M20 transformed itself into a spicy pillow:

    SJCAM M20 - spicy pillow lithium battery
    SJCAM M20 – spicy pillow lithium battery

    SJCAM no longer sells those batteries and nobody else does, either, surely because the +4.35V marking shows they’re a special-formula high-voltage lithium mix that doesn’t work with ordinary chargers. Worse, you can’t substitute an ordinary (i.e. cheap) battery, because applying a high-voltage charger to a 4.2 V cell makes Bad Things™ happen.

    Putting the M20 camera in Car Mode makes it begin recording when it sees 5 V on its USB input and shut down a few seconds after the USB input drops to 0 V. Without the internal battery, the camera’s clock doesn’t survive when the external power vanishes, which seems critical for a camera sitting on a dashboard.

    Mashing all that together, I wondered if I could use one of the many leftover low-voltage NP-BX1 batteries from the Sony AS30V helmet camera without starting a dashboard fire, by preventing the camera from charging the battery, while still using it when the USB input is inactive (which, for our car, is pretty nearly all the time).

    The circuitry, such as it is, uses a cheap 1S USB charge controller and a Schottky diode:

    SJCAM M20 Car-Mode Battery Hack - circuit doodle
    SJCAM M20 Car-Mode Battery Hack – circuit doodle

    Power comes in on the left from a USB converter plugged into the Accessory Power Outlet in the center console and goes out to the camera’s USB jack, using a butchered cable soldered to the charge controller’s pads in the middle. The controller manages the NP-BX1 battery as usual, but a diode prevents the camera from trying to send charge current into the controller.

    This should just barely work, as the diode reduces the battery voltage by a few hundred millivolts, so the camera will see the fully charged low-voltage battery as a mostly discharged high-voltage battery.

    Suiting action to words:

    SJCAM M20 Battery Replacement - circuitry
    SJCAM M20 Battery Replacement – circuitry

    It’s built inside the gutted remains of an M20 battery case. The 100µF tantalum cap provides local buffering to prevent the camera from browning out during bursts of file activity while recording. The wire emerges through holes gnawed in the battery case and the camera housing:

    SJCAM M20 Battery Replacement - camera cable exit
    SJCAM M20 Battery Replacement – camera cable exit

    The charge controller on the other end of the wire lives in a layered laser-cut acrylic case attached to a modified version of the venerable 3D printed NP-BX1 battery holder:

    SJCAM M20 Battery Replacement - charger wiring
    SJCAM M20 Battery Replacement – charger wiring

    More on the cases tomorrow.

    Putting it all together, the lashup goes a little something like this:

    SJCAM M20 Battery Replacement - trial install
    SJCAM M20 Battery Replacement – trial install

    The battery pack will eventually get stuck to the dashboard underneath the overhang, out of direct sunlight. Things get hot in there, but with a bit of luck the battery will survive.

    The rakish tilt puts the hood along the bottom of the image, although raising the camera would reduce tilt and cut down on the skyline view:

    SJCAM M20 Car-Mode Battery Hack - test ride
    SJCAM M20 Car-Mode Battery Hack – test ride

    The battery icon instantly switches from “charging” to “desperately low” when the USB power drops, which is about what I expected, but the camera continues to record for about ten seconds before shutting down normally.

    The NP-BX1 battery in the holder comes from the batch of craptastic BatMax batteries with a depressed starting voltage. An actual new cell with a slightly higher voltage would keep the camera slightly happier during those last ten seconds, but … so far, so good.

    Another possibility would be a trio of 1.5 V bucked lithium AA cells, with the diode to prevent charging and minus the charger.

  • Gooseneck LED: First Failure

    Gooseneck LED: First Failure

    Twelve years ago I rebuilt a gooseneck lamp to carry a surplus LED head:

    Finished LED Floodlight
    Finished LED Floodlight

    One of its three LEDs just failed:

    LED Gooseneck lamp - first failure
    LED Gooseneck lamp – first failure

    Given that I very deliberately glued the whole thing together in the sure knowledge “the lamp should outlast me” and much later built the other LED head into a desk lamp, well, it’s like that and that’s the way it is.

    The Sherline will be just a little bit dimmer in all those photos …

  • Schwalbe Marathon Plus vs. Glass Chip

    Schwalbe Marathon Plus vs. Glass Chip

    My pre-ride thumb check showed a flat rear tire on Mary’s Tour Easy:

    Glass chip - end view in tread
    Glass chip – end view in tread

    So we fetched groceries with the car.

    As usual, no tire armor can withstand a glass blade:

    Glass Chip - side view
    Glass Chip – side view

    It’s a bit over 5 mm from the knife edge to the ground-flat end, just long enough to punch through a rather well-worn Schwalbe Marathon Plus tire and poke a slow leak in the tube.

    The tire has covered enough miles to wear the tread down to maybe half a millimeter over the blue armor layer:

    Glass chip - tire damage
    Glass chip – tire damage

    Time for a new tire!

    For the record, the odometer is just shy of 35 k miles and she rides about 1500 miles a year; somewhat less over the last year for reasons not relevant here. As best I can tell, the tire has been on there for about five years and 7000 miles.

  • LightBurn: Nesting Shapes

    LightBurn: Nesting Shapes

    A question on the LightBurn forum about packing shapes onto an irregular piece of leather let me work out the details of a LightBurn feature I thought I understood but had trouble explaining.

    Start with an irregular shape:

    Random fabric - overview
    Random fabric – overview

    That’s made of rags from the box o’ wipes out of view on the right, laid out in no particular order, on a contrasting background to simplify the next step.

    The camera tucked into the lid shows the view from above:

    Random fabric - LB camera overlay
    Random fabric – LB camera overlay

    Tap the Trace button and fiddle with the sliders to get a nice solid outline, along with other junk off the edge of the cardboard:

    Random fabric - LB trace
    Random fabric – LB trace

    All of the traced vectors will be in a group:

    Random fabric - LB shapes
    Random fabric – LB shapes

    Ungroup them, select the outline in the middle, invert the selection, and mass-delete the junk around the edges.

    If you don’t move anything, the outline will be exactly over the shape on the platform. This will come in handy later.

    Import all the shapes you want nested inside the outline, group them with the outline, and hand them to the Arrange → Nest Selected tool:

    Random fabric - LB nesting setup
    Random fabric – LB nesting setup

    LightBurn saves the selected objects as an SVG file with the file name in the clipboard and fires up a browser tab at https://svgnest.com/. Upload the SVG and let the nesting algorithm chew away for a while:

    Random fabric - LB nested
    Random fabric – LB nested

    The weird triangles come from the Dot Mode perforations that ought not be there; inner shapes get subtracted from outer ones, which makes perfect sense. Your shapes will differ.

    Download the nested shape SVG, load it back into LightBurn at the prompt generated after exporting the shapes, and LightBurn will apply the transforms to the original shapes. Put the outer shape on a tool layer and the inner shapes on whatever cutting layer you like, snap the outer shape (with the nested shapes inside) to the previously undisturbed outline of the stuff on the platform, and Fire The Laser!

    Now there’s a pretty good chance I can do that again …

  • Thanks for the Notification

    This year’s MVP health plan has a different “OTC Benefit” than last year, even though MVP is contracting with the same company to provide what seems to be essentially the same benefit.

    This arrived half a year after the new OTC benefit card showed up:

    MVP OTC Card Expiry
    MVP OTC Card Expiry

    I suppose somebody noticed MVP hadn’t gotten around to telling us they were cancelling the old card, despite its Valid Thru 12/26 notation. Well, the card isn’t exactly cancelled, it just stopped working when all the money evaporated.

    This not being my first ride in this particular rodeo, I spent all those sweet OTC benny bucks days after they become valid on the first day of every quarter-year, buying up my stock of overpriced OTC stuff.

    In theory, you could buy the stuff elsewhere, but you had to scan each item in the retail store using the worst app imaginable to determine its eligibility and coverage. If the store was in a no-wireless-data phone zone: too bad, so sad.

    This year’s program is simpler: you must buy everything from the sole-source supplier, even though it costs four times more than the comparable item at, say, Walmart or even Amazon.

  • Manjaro XFCE Slow File Loading

    A month or so ago a Manjaro update caused all file loading to take minutes, rather than seconds. This sort of breakage seems endemic to rolling update distros, although most glitches vanish within a few days as more knowledgeable users track down the problems and apply the fixes.

    File loads and program startups continued to be achingly slow, so I trawled the Interwebs in search of a resolution, tried various suggestions, and had no success until:

    sudo pacman --remove xdg-desktop-portal-gnome
    

    Some background information:

    A description of what a desktop-portal is all about:

    When using Free Software, when it breaks you get to keep all the pieces. In this case, I do not profess to understand how the pieces fit together.

  • Onion Maggot Fly vs. Sticky Traps: Season 3 Round 1

    Onion Maggot Fly vs. Sticky Traps: Season 3 Round 1

    Six sticky traps have been out in Mary’s Vassar Farm onion bed from mid-April through mid-July, collecting onion maggot flies, other flying insects, and a bunch of shredded leaf mulch. Having just replaced all the sticky sheets, these are the results so far:

    • PXL_20230711_215255180 - VCCG Onion Maggot Trap F
    • PXL_20230711_215229538 - VCCG Onion Maggot Trap E
    • PXL_20230711_215159950 - VCCG Onion Maggot Trap D
    • PXL_20230711_215129817 - VCCG Onion Maggot Trap C
    • PXL_20230711_215041012 - VCCG Onion Maggot Trap B
    • PXL_20230711_215002214 - VCCG Onion Maggot Trap A

    Each image is the front and back of a single sticky sheet flipped over left-to-right; I did not keep track of the original trap locations.

    If you need the original camera images to get enough pixels for itemizing the smaller dots, let me know.