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 BBS02 Programming Adapter: CP2102 Version

    Bafang BBS02 Programming Adapter: CP2102 Version

    The last view before sticking the lid in place with hot melt glue:

    Bafang BBS02 - CP2102 Programming Adapter
    Bafang BBS02 – CP2102 Programming Adapter

    The cable on the right goes to the motor controller through the display pigtail cable, sporting colors from a parallel universe.

    A (possibly not counterfeit) CP2102 USB-to-serial adapter allows a slightly smaller case than one with the known-fake FTDI adapter and added some identification:

    Bafang BBS02 - CP2102 Programming Adapter - case solid model
    Bafang BBS02 – CP2102 Programming Adapter – case solid model

    It splits along the midline for printing, of course.

    The OpenSCAD source code replaces the previous version:

    // Programming cable case
    
    ProgCavity = [60.0,18.0,7.0];
    ProgBlock = [70.0,24.0,13.0];
    ProgCableOD = 4.0;
    
    module ProgrammerCase() {
    
        difference() {
            hull() {
                for (i=[-1,1], j=[-1,1])
                    translate([i*(ProgBlock.x/2 - CornerRadius),j*i*(ProgBlock.y/2 - CornerRadius),-ProgBlock.z/2])
                        cylinder(r=CornerRadius,h=ProgBlock.z,$fn=12);
                }
            translate([-ProgBlock.x,0,0])
                rotate([0,90,0])
                    PolyCyl(ProgCableOD,3*ProgBlock.x,6);
            cube(ProgCavity,center=true);
    
            translate([0,0,ProgBlock.z/2 + ProgCavity.z/2 - EmbossDepth])
                cube(ProgCavity,center=true);
            translate([0,0,-(ProgBlock.z/2 + ProgCavity.z/2 - EmbossDepth)])
                cube(ProgCavity,center=true);
    
        }
    
        translate([0,4,ProgBlock.z/2 - EmbossDepth])
            linear_extrude(height=EmbossDepth)
                text(text="Bafang BBS02",
                     size=5,spacing=1.00,font="Bitstream Vera Sans:style=Bold",
                     halign="center",valign="center");
    
        translate([0,-4,ProgBlock.z/2 - EmbossDepth])
            linear_extrude(height=EmbossDepth)
                text(text="Programmer",
                     size=5,spacing=1.00,font="Bitstream Vera Sans:style=Bold",
                     halign="center",valign="center");
    
        translate([0,4,-ProgBlock.z/2])
            linear_extrude(height=EmbossDepth)
                mirror([1,0])
                    text(text="Ed Nisley",
                        size=5,spacing=1.00,font="Bitstream Vera Sans:style=Bold",
                        halign="center",valign="center");
        translate([0,-4,-ProgBlock.z/2])
            linear_extrude(height=EmbossDepth)
                mirror([1,0])
                    text(text="softsolder.com",
                        size=5,spacing=1.00,font="Bitstream Vera Sans:style=Bold",
                        halign="center",valign="center");
    
    }
    
    // Half case sections for printing
    
    module HalfCase(Section = "Upper") {
    
        intersection() {
           translate([0,0,ProgBlock.z/4])
                cube([2*ProgBlock.x,2*ProgBlock.y,ProgBlock.z/2],center=true);
            if (Section == "Upper")
                ProgrammerCase();
            else
                translate([0,0,ProgBlock.z/2])
                    ProgrammerCase();
        }
    }
    
    // .. snippage ..
    
            translate([0,2*Block.x/2 * gap,0]) {
    
                translate([gap*ProgBlock.x/2,0,ProgBlock.z/2])
                    rotate([180,0,0])
                        HalfCase("Upper");
                translate([-gap*ProgBlock.x/2,0,0])
                    HalfCase("Lower");
            }
    

    My friend rides about the same way we do, except from a much higher perch, so I’ll start her off with a configuration similar to the one we settled on for Mary’s Tour Easy.

  • Microscope Stage Positioner: Rigid MakerBeam Edition

    Microscope Stage Positioner: Rigid MakerBeam Edition

    Rebuilding the XYZ stage positioner with MakerBeam aluminum struts, but without the steel brackets, produce a much more rigid result:

    Microscope Stage Positioner - rigid Makerbeam
    Microscope Stage Positioner – rigid Makerbeam

    This requires drilling holes through the extrusions:

    Microscope Stage Positioner - Makerbeam drilling
    Microscope Stage Positioner – Makerbeam drilling

    Running the center drill down until it just nicks the sides produces enough of a pilot hole through the center section to capture the 3 mm drill. If I had to drill enough holes to make a fixture worthwhile, I could probably eliminate the divots.

    Two more holes + epoxied M3 brass inserts attached the 60 mm beam directly to the Z Axis stage, thereby eliminating the vertical beam and a steel bracket:

    Microscope Stage Positioner - Makerbeam joints
    Microscope Stage Positioner – Makerbeam joints

    The M3 SHCS attaching the 100 mm beam goes through both beams. I think you could get the same result with a Tee Nut or a 12 mm Square Head bolt, should you have those lying around and don’t want to drill another hole. The Corner Cube screwed into both beams prevents rotation and helps ensure perpendicularity.

    The Y stage now attaches directly to the beam, rather than through a pair of Corner Cubes, because I realized I wasn’t ever going to adjust its position.

    The Z Axis stage stands on the plastic plate through a hellish mixture of metric and USA-ian screws. Basically, the 6-40 screws into the stage were long enough, the 6-32 screws through the plate fit the existing holes, and M3 screws are for MakerBeam:

    Microscope Stage Positioner - Z Axis base
    Microscope Stage Positioner – Z Axis base

    To my utter astonishment, the threads in the end of the vertical beam had the proper alignment to let a Square Head bolt snug the beam against the 40 mm beam on the plate. As a result, the L Bracket just prevents the vertical beam from turning on the screw and the combination is as rigid as you (well, I) could want.

    The 40 mm beam has two spurious holes, because I thought I could avoid drilling another hole in the baseplate. Nobody will ever notice.

    After squaring and tightening everything, the 100 mm beam along the Y Axis is now horizontal within 0.2 mm and the X Axis is horizontal to better than I can measure.

    It’s definitely Good Enough™ for me:

    Microscope Stage Positioner - in use
    Microscope Stage Positioner – in use

    Remember, nothing exceeds like excess …

  • Microscope Stage Positioner: MakerBeam Rebuild MVP

    Microscope Stage Positioner: MakerBeam Rebuild MVP

    Over the course of half a decade (!), the 3D printed arm on the XYZ positioner I use with the stereo zoom microscope sagged:

    Microscope Stage Positioner - PETG creep angle
    Microscope Stage Positioner – PETG creep angle

    It’s about what you’d expect from a plastic beam carrying a big lump of brass and steel:

    Microscope Stage Positioner
    Microscope Stage Positioner

    The near side of that arm (the -Y end) drooped about 5 mm below than the side nearest the Z axis slide, so it was time for an update.

    Having some MakerBeam ready to hand, this didn’t take long:

    Microscope Stage Positioner - Makerbeam overview
    Microscope Stage Positioner – Makerbeam overview

    Protip: before dismantling a fitted slide, mark one end so you know how to put it back together. Bonus points for taking a picture:

    Microscope Stage Positioner - slide marking
    Microscope Stage Positioner – slide marking

    Double bonus points for writing a blog post.

    Rather than fight with the existing fine-pitch USA-ian screws, I drilled out their threaded holes:

    Microscope Stage Positioner - Y slide drilling
    Microscope Stage Positioner – Y slide drilling

    And epoxied 3 mm brass inserts in their place:

    Microscope Stage Positioner - Y slide M3 inserts
    Microscope Stage Positioner – Y slide M3 inserts

    Those holes match up with a pair of corner cubes normally appearing on the end of the beams:

    Microscope Stage Positioner - BHCS mods for Makerbeam
    Microscope Stage Positioner – BHCS mods for Makerbeam

    It turns out M3 button head cap screws will slide into the beams if you file the slightest angle on opposite sides of the button, although a small bag of tiny tee nuts should arrive in a while.

    Then a variety of brackets spliced everything together:

    Microscope Stage Positioner - Makerbeam detail
    Microscope Stage Positioner – Makerbeam detail

    Although it looks strictly from industrial, it actually wasn’t much better than the plastic edition and, in fact, the beam supporting the XY slides sagged about the same 5 mm. The plastic upright post also contributed a bit of wobble.

    It turns out that the extruded aluminum beams have plenty of longitudinal and torsional stiffness, but all those flat steel fittings don’t.

    There’s a way to work with the beam strengths, rather than against them, but that’s a story for another day …

  • Aceco FC1002 Battery Re-replacement

    Aceco FC1002 Battery Re-replacement

    My old Aceco FC1002 frequency meter stopped working without being plugged into the charger. It runs from a quartet of NiMH cells taped into a tray I made seven years ago:

    Aceco FC1002 - hacked battery
    Aceco FC1002 – hacked battery

    One of the cells was completely dead and the other three will blink LEDs for the rest of their lives.

    The Eneloops have trickled down from the DSC-H5 and still seem perfectly fine for ordinary use.

    The faceplate bears the scars of its cracked acrylic (?) coating, so I pushed it out, traced the outline on a flat piece of polypropylene clamshell packaging, cut it out, and stuck it in place with tapeless sticky:

    Aceco FC1002 - polypropylene faceplate
    Aceco FC1002 – polypropylene faceplate

    That removes the branding, but IMO improves the appearance.

    It should continue working for another half decade or so!

  • MakerBeam Swarf Cleanout

    MakerBeam Swarf Cleanout

    Playing with Evaluating a recently arrived MakerBeam Starter Kit revealed swarf snarls in the tapped end holes. After giving up on a needle-nose tweezer, a compressed air blow gun expelled the mess from a handful of short beams:

    Makerbeam - internal swarf A
    Makerbeam – internal swarf A

    A scrap of acoustic foam backstopped the rest of the assortment:

    Makerbeam - internal swarf B
    Makerbeam – internal swarf B

    Which doesn’t account for the scattering of swarf and oil blown elsewhere in the Basement Shop.

    Perhaps a bad day in the MakerBeam factory?

    Protip: wear eye protection when using compressed air!

  • Tour Easy: Rear Fender Bracket Installed

    Tour Easy: Rear Fender Bracket Installed

    A rainy day finally produced an opportunity to install the rear fender bracket on my bike:

    Tour Easy Rear Fender Bracket - improved
    Tour Easy Rear Fender Bracket – improved

    It’s actually another iteration, tweaked to hold the fender snugly against the bracket, because it’s tucked in a location where I can’t measure anything.

    The brake noodle isn’t connected yet, but it has plenty of room in front of the fender block.

  • Bafang Programming Adapter: More Cable Colors

    Bafang Programming Adapter: More Cable Colors

    In the process of installing a Bafang BBS02 mid-drive motor on a friend’s diamond-frame bike, I discovered, once again, how little anybody cares about the colors inside cables:

    Bafang Display Extension Cable - internal colors
    Bafang Display Extension Cable – internal colors

    The cheerful rainbow on the right is the stub end of the Bafang display extension cable I built into the previous adapter.

    The new cable on the left seemed like it might match the canonical colors:

    Bafang BBS02 display cable pinout
    Bafang BBS02 display cable pinout

    It comes heartbreakingly close:

    Bafang Display Cable - extension colors
    Bafang Display Cable – extension colors

    Brown and Orange connect as the naive user might expect, which does reduce the likelihood of incinerating the motor controller / USB adapter / laptop by connecting the 48 V battery directly to the logic-level electronics.

    However, White wasn’t on the original menu, Green is now TXD, and Black has become, comfortingly, GND.

    Verily, it is written: Hell hath no fury like that of an unjustified assumption.

    This socket connector has a watertight shell making it extremely difficult to mate and unmate with the pin connector on the bike. Watertightness being unnecessary, a little razor-knife action seems in order:

    Bafang Display Extension Cable - shroud trimming
    Bafang Display Extension Cable – shroud trimming

    Visually, they’re both green-ish, but sometimes the Pixel camera accentuates any differences.