Pixel 6a Camera Protector vs. Leaf Shredder Chaff

Much of my exercise of late has come from blowing leaves into piles and shredding them:

Leaf Shredding - GPS track
Leaf Shredding – GPS track

My GPS drawing hand is weak.

I wear 30 dB over-the-ear protectors with a pair of Bluetooth earbuds tucked inside for a rhythm track. I had been carrying my Pixel 6a in a side pocket, until I noticed a remarkable amount of crud inside the glass protector over the camera lens:

Pixel 6a camera protector dirt
Pixel 6a camera protector dirt

How crud could get inside (what I thought should be) a sealed compartment inside the phone’s armor case became obvious after peeling the protector off:

Pixel 6a camera protector dirt - overview
Pixel 6a camera protector dirt – overview

Come to find out the protector’s adhesive layer has an opening near the edge of the camera, leaving a slot allowing the howling chaff storm onto the camera glass. Random pocket fuzz certainly contributed some particles, but the entire phone case had a surprising amount of yellow-brown dust tucked inside.

So I left the protector off, dumped the music files into my old Pixel 3a (which never had a camera protector), and will henceforth leave the 6a indoors during similar adventures.

The bagged leaves will become next year’s garden veggies, so the whole project isn’t a total waste of time.

Car Fire

From the living room window, I wasn’t quite sure what was going on out there, but halfway down the driveway it became obvious:

Car Fire - arrival
Car Fire – arrival

The bright spot underneath the car came from liquid fire dripping on the asphalt. For one terrifying moment I thought we were about to take delivery of a lithium fire, but later developments showed it was a just an ordinary fire in an old-school gasoline car.

A few minutes later, fire equipment blocked the road in both directions, with more vehicles out of sight:

Car Fire - overview
Car Fire – overview

From what I overheard, multiple 911 calls resulted in firefighters chasing the car from one of the fire stations along either Vassar Rd or Spackenkill, the driver finally noticed the lights, and pulled over as the sirens spooled down in front of our house. It had a Georgia plate, so maybe this was near the end of a really long day.

The first operation got a water lance under the car to knock back the undercarriage fire:

Car Fire - first water lance
Car Fire – first water lance

Then they punched through the tail lights to lance the trunk:

Car Fire - trunk water lance
Car Fire – trunk water lance

Smash the windows and chop the trunk lid open to flood all the interior spaces:

Car Fire - trunk flooding
Car Fire – trunk flooding

From the beginning, everybody knew that ain’t gonna buff right out:

Car Fire - flatbed
Car Fire – flatbed

There’s never a dull moment around here …

They did a great job cleaning up the debris, so I couldn’t score any attractive glass or small parts.

Laser Cutter: Scanning Offset Adjustment

Start with the constant-power test pattern:

Pulse Timing Pattern - 1 mm blocks
Pulse Timing Pattern – 1 mm blocks

Set it up on six LightBurn layers:

LightBurn test pattern layers - layout
LightBurn test pattern layers – layout

With useful scanning speeds and powers:

LightBurn test pattern layers
LightBurn test pattern layers

Unleash the laser on a scrap of fluorescent green acrylic:

Scan Offset uncorrected - 100 to 500 mm-s
Scan Offset uncorrected – 100 to 500 mm-s

Measure the distance between successive line ends at each speed, divide by two, then fill in the offset adjustment table:

LightBurn Scanning Offset table
LightBurn Scanning Offset table

Burn another scrap:

Scan Offset - 100 to 500 mm-s
Scan Offset – 100 to 500 mm-s

That looks better …

Not incidentally, it also provides illustrations for an upcoming Digital Machinist column about small-scale engraving-as-machining and why good scanning compensation matters.

Sabin Polio Vaccine Event

A clipping from the Harrisburg Evening News, probably in 1962, shows more enthusiasm for vaccines than we have today:

Sabin Vaccine Doses - 1962
Sabin Vaccine Doses – 1962

It emerged from a fat folder of space exploration articles / maps / booklets / clippings with dates from 1959 through 1962, when I would have been around nine years old. Most likely somebody older collected everything and gave the box to me a few years later. The other side had a hagiographic article about John Glenn, explaining why this side is minus a few paragraphs.

From everything I read about Long Covid, I don’t want to give Short Covid even a little bite at my apple. In particular, fast-forwarding through a decade of neural degeneration isn’t going to put me closer to my Happy Place.

The bonus “Volunteer Fireman Convicted of Arson” article could come from any decade.

Armistice Day

A letter from my father to the mother of a comrade:

Letter to Mrs Harry Shope - 25 May 1945 - Envelope
Letter to Mrs Harry Shope – 25 May 1945 – Envelope
Letter to Mrs Harry Shope - 25 May 1945 - pg 1
Letter to Mrs Harry Shope – 25 May 1945 – pg 1
Letter to Mrs Harry Shope - 25 May 1945 - pg 2
Letter to Mrs Harry Shope – 25 May 1945 – pg 2
Letter to Mrs Harry Shope - 25 May 1945 - pg 3
Letter to Mrs Harry Shope – 25 May 1945 – pg 3
Letter to Mrs Harry Shope - 25 May 1945 - pg 4
Letter to Mrs Harry Shope – 25 May 1945 – pg 4
Letter to Mrs Harry Shope - 25 May 1945 - pg 5
Letter to Mrs Harry Shope – 25 May 1945 – pg 5
Letter to Mrs Harry Shope - 25 May 1945 - pg 6
Letter to Mrs Harry Shope – 25 May 1945 – pg 6

May they rest in peace …

Downgrading Yubikey-Manager

It seems that Manjaro’s 5.0.0-1 version of the yubikey-manager crashes due to inscrutable errors, with the effect of not letting me use it to sign in at all the sites I’d set up to use TOTP authentication.

If the previous version (4.0.9-1) were still in the pacman cache, then downgrading would be straightforward:

sudo pacman -U /var/cache/pacman/pkg/firefox-64.0.2-1-x86_64.pkg.tar.xz

Regrettably, I had recently cleaned things up and flushed the cache, so I had to fetch the package (and its signature) from the “y” directory of the Arch archive, then install it:

sudo pacman -U /tmp/yubikey-manager-4.0.9-1-any.pkg.tar.zst

loading packages...
warning: downgrading package yubikey-manager (5.0.0-1 => 4.0.9-1)
resolving dependencies...
looking for conflicting packages...

Packages (1) yubikey-manager-4.0.9-1

Total Installed Size:   1.11 MiB
Net Upgrade Size:      -0.13 MiB

:: Proceed with installation? [Y/n] Y
<<< snippage >>>

Whereupon It Just Worked™ again.

I expect someone more experienced than I will have long since filed a bug report / sent a pull request / whatever, because I have little idea how to do any of that. The next upgrade should work just fine.

CO₂ Laser Tube Current: Analog vs. PWM Bandwidth

With bandwidth measurements in hand, a semilog plot with eyeballometric line fitting makes the conclusion obvious:

OMTech CO2 laser power supply - bandwidth tests - semilog graph
OMTech CO2 laser power supply – bandwidth tests – semilog graph

The top line shows the controller’s L-AN analog output voltage dropping at 10 dB/decade.

The middle line is the laser tube current with the power supply driven by the controller’s PWM output, also dropping at 10 dB/decade.

The bottom line is the laser tube current with the power supply driven by the L-AN analog voltage. It drops at 20 dB/decade.

The usual measurements of voltages and currents assume a constant load impedance, where the power varies with the square of the measured value. In this case, the laser tube is most definitely not a constant resistance, because it operates at an essentially constant voltage around 12 kV after lighting up at maybe twice that voltage. As a result, the power varies linearly with the measured voltages and currents, so the usual Bode plot “20 dB per decade” single-pole filter slope does not apply.

Because the laser tube power varies roughly with the current, I’ve been using the current as a proxy for the power, so the half-power points are where the current is half its value at low frequencies.

The controller’s analog voltage output is linearly related to the tube current and power, so the same reasoning applies.

That reasoning is obviously debatable …

Anyhow, it seems the PWM digital output is the primary signal source, with the L-AN analog output filtered from it. If you had a use for the analog voltage that didn’t involve sending it through a second low-pass filter, it might come in handy, but that’s not the case with the laser’s HV power supply.

Looking across the graph at the tube current’s half-power level of 12-ish mA shows 150 Hz for the L-AN output and 250 Hz for the PWM output. That’s roughly what I had guesstimated from the raw measurements, but it’s nice to see those lines in those spots.

In practical terms, grayscale engraving will operate inside an upper frequency limit around 200 Hz. Engraving a square wave pattern similar to the risetime target requires a bandwidth perhaps three times the base frequency for reasonably crisp edges, which means no faster than 100 Hz = 100 mm/s for a 1 mm bar.

It may be easier to think in terms of the equivalent risetime, with 200 Hz implying a 1.5 ms risetime. The rise and fall times of the laser tube current are not equal and only vaguely related to the usual rules of thumb, but 1.5 ms will get you in the ballpark.

The usual tradeoff between scanning speed and laser power for a given material now also includes a maximum speed limit set by the feature size and edge sharpness. Scanning at 500 mm/s with a 1.5 ms risetime means the minimum sharp-edged feature should be maybe three times that wide: 5 ms / 500 mm/s = 2.5 mm.

The sine bars at 400 mm/s come out very shallow, both rectangular bars have sloped edges, and the 1 mm bar on the left resembles a V:

Sine bars - acrylic - 400 mm-s 100pct
Sine bars – acrylic – 400 mm-s 100pct

At 100 mm/s, all the features are nicely shaped, although the sidewalls still have some slope:

Sine bars - acrylic - 100 mm-s 25pct
Sine bars – acrylic – 100 mm-s 25pct

In all fairness, grayscale engraving with a CO₂ laser may not be particularly useful, unless you’re making very shallow and rather grainy 3D relief maps.

Intensity-modulating a “photographic” engraving on, say, white tile depends on the dye / metal / whatever having a linear-ish intensity variation with exposure, which is an unreasonable assumption.

The L-ON digital enable also has a millisecond or two of ramp time, so each discrete dot within a halftoned / dithered image has a minimum width.

Tradeoffs! Tradeoffs everywhere!