-
LED Strip Lights: Window Moulding Mounts
The object of the game being to tilt the LED strip lights at (maybe) 30° to put more light higher on the wall and further out on the ceiling, with the overriding constraint of no visible holes. Given their eventual home atop the window moulding along the front wall of the
LivingSewing Room, these seemed adequate:
LED Bar Lamp Mount – solid model The hole on the angled part fits an M4 brass insert and the recessed holes capture the washer-like head of a sharp-point lath screw.
Two pairs applied to the lights sitting atop the Fabric Cabinets served to verify the fit:

LED strip light – moulding mount – on cabinet They’re held firmly by the aluminum extrusion and don’t need a bigger footprint to remain stable.
So I made another six, stuck on ⅞ inch strips of aluminized Mylar (cut from a bag in much better condition), and drilled holes where they can’t be seen:

LED strip light – moulding mount – installed It’s almost too bright in there with 3 × 40 W of LED lights washing the wall and ceiling:

LED strip light – moulding mount – lit I don’t like the cold 6000 K color temperature, but Mary doesn’t mind it. They fill the Sewing Table with shadowless / glareless light, although that kind of light makes the place look like a store.
I think moving the strip lower and away from the wall could hide the entire mount from view.
Contrary to what I expected, the Mylar reflectors must be at least an inch tall to avoid Baily’s Beads seen from across the room:

LED strip light – short reflector With all that in mind, we’ll run these for a while to shake out any other improvements.
The OpenSCAD source code as a GitHub Gist:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters// LED light bar mounts // Ed Nisley – KE4ZNU // 2025-03-16 include <BOSL2/std.scad> Layout = "Show"; // [Show,Build,ScrewMount,BarMount] BaseAngle = 30; // [0:50] /* [Hidden] */ ID = 0; OD = 1; LENGTH = 2; Protusion = 0.1; NumSides = 3*4; Radius = 1.5; $fn = NumSides; MouldWidth = 18.0; // nominal (3/4) * INCH, but lots of paint slop MouldScrew = [4.7,12.0,2.6]; // clearance, head OD, head thick Insert = [4.0,5.5,6.0 + 3.0]; // heat-set brass without pilot end BarClip = [33.0,15.0,11.0]; // snaps around led base ScrewBlockOA = [MouldWidth,MouldScrew[OD] + 2*Radius + 2.0,10.0]; BarBlockOA = [BarClip.x*cos(BaseAngle),15.0,BarClip.x*sin(BaseAngle) + 2*ScrewBlockOA.z]; Gap = 2.0 + max(ScrewBlockOA.y,BarBlockOA.y); //———- // Define shapes module ScrewMount() { difference(){ cuboid(ScrewBlockOA,anchor=BOTTOM,rounding=Radius,except=[FRONT,BOTTOM,LEFT]); up(ScrewBlockOA.z – MouldScrew[LENGTH]) zrot(180/NumSides) cylinder(d=MouldScrew[OD],h=MouldScrew[LENGTH] + Protusion); down(Protusion) cylinder(d=MouldScrew[ID],h=2*ScrewBlockOA.z); } } module BarMount() { difference() { cuboid(BarBlockOA,anchor=CENTER,rounding=Radius,edges=RIGHT); yrot(BaseAngle) cube([3*BarBlockOA.x,2*BarBlockOA.y,BarBlockOA.z],anchor=BOTTOM); yrot(BaseAngle) cylinder(d=Insert[OD],h=2*Insert[LENGTH],anchor=CENTER); } } module Mount() { union() { right(ScrewBlockOA.x/2) back(ScrewBlockOA.y/2) ScrewMount(); right(BarBlockOA.x/2) fwd(BarBlockOA.y/2) up(BarBlockOA.z/2) BarMount(); } } //———- // Build things if (Layout == "ScrewMount") ScrewMount(); if (Layout == "BarMount") BarMount(); if (Layout == "Show") Mount(); if (Layout == "Build") { yflip_copy(Gap) Mount(); }