So about a month ago I found a 200mm*200mm 100W fiber laser on Aliexpress for $3100, half off of (presumably) $6200. My googling suggested that $6000 was a normal price, so $3100 was a steal, if true. After some waffling, I went for it. I took some pictures of the components, did some testing. Overall, … Continue reading Vevor 100W Galvo Fiber Laser Analysis
Diode laser score clear glass for cutting
This is primarily a youtube video, but I've copied the description here in case youtube catches fire, or for easier reference, or something. https://youtu.be/XgNtlAwLSBs After watching this video on cutting sheet metal with a diode laser ( https://www.youtube.com/watch?v=GHFWKfaUeuU ), I ended up buying one. (An Ikier K1 Pro Max 70W, I mean.) I did get … Continue reading Diode laser score clear glass for cutting
Flutter UI disappoints me
<rant> I've been programming in Flutter for years, now. And for the most part it's fine...except for the sizing problems. I feel a deep weariness from the sizing problems. Specifically, I'm referring to how certain UI elements need to know how much space they have before they'll render - and if you put them in, … Continue reading Flutter UI disappoints me
3d print corners lifting: apply fire, mush down
I've been having a problem where the corners of my 3d print curl up, the first few layers, and the nozzle can run into them and pull the part off the bed. Rather than figure out what the problem actually is, I've taken to blasting it for maybe half a second with one of those … Continue reading 3d print corners lifting: apply fire, mush down
Compiling other people’s code, for dummies
Here's some stuff I didn't know, when first I wanted to compile other people's code. If there's a CMakeLists.txt: mkdir build, cd build, cmake .., make If there's only a Makefile, make Subsequent "sudo make install" usually installs it somewhere accessible via path If you're missing a library or header file FOO, probably: apt-get install … Continue reading Compiling other people’s code, for dummies
Raspberry Pico fail to boot from flash
So. If you should find that the code runs from the debugger, but does not start on its own when you plug in the usb, add to your rootmost CMakeLists.txt set(PICO_BOARD pico_pair) referencing pico-sdk/src/boards/include/boards/pico_pair.h and if you don't have that file, just copy pico-sdk/src/boards/include/boards/pico.h but add these three lines near the top, after the name … Continue reading Raspberry Pico fail to boot from flash
General PCBA notes
Often specifically about JLCPCB and KiCAD. If a crystal says 20pF, it probably actually wants caps of 35pF each. C = 2L-5pF, or so. Then pick an available capacitor near that value. JLCPCB's understanding of 45* rotated components is 90* off of KiCAD's, in some way. ...But only on the pcb bottom? Expect also disagreements … Continue reading General PCBA notes
Crystal oscillator capacitors
Apparently a crystal oscillator marked "20pF" DOESN'T get 20pF caps, it gets ~35pF caps. (In the usual microcontroller's oscillator configuration, anyway.) My rule of thumb, now, is C=2L-5pF. See https://electronics.stackexchange.com/a/677202/166296 .
Raspberry Pico GPIO latency
Fyi. Writing Pico PIO code. A read from a GPIO takes...3.5 clock cycles. I think. (Plz no sue.) I tested several wildly different clock speeds. You can do INPUT_SYNC_BYPASS with `hw_set_bits(&PIO->input_sync_bypass, 1u << PIN);` and it goes down to like 1.1 cycles, but the docs warn the PIO could summon nasal demons if it reads … Continue reading Raspberry Pico GPIO latency
Thermostat wiring and voltages
TL;DR: heating systems signal with current, not with voltage, AFAICT. Story up top, hard details at the bottom. So, my fuel oil furnace started acting weird, the other day. Or rather, it had been acting weird for a while, but just to the point where you're like, "is it maybe supposed to do that?" It … Continue reading Thermostat wiring and voltages