“The measure of intelligence is the ability to change” -Albert Einstein

British Columbia, Canada
Joined August 2013
ZFS pool went degraded… not one, but all 4 NVMe’s reporting SMART errors with 4% of their 600TB write endurance used. TRIM was enabled on the pool. They were mounted to a heatsink with active cooling on an x16 bifurcated carrier and ran cool. Warranty expired 6 days ago. I sent SanDisk logs and smartctl output and thankfully they made an exception to RMA all 4. I don’t even want to look at what 1TB NVMe’s are going for these days…
56
Missed some holes and didn’t realize until I already reflowed.. back on the CNC with the same registration pins
17
451
At the grand slam, watching Canada vs South Korea women’s finals
2
153
Relief carving some wood on the Shapeoko CNC
1
14
692
This is the second time I've seen codex showing thinking text that is completely unrelated to any conversation I've had with it. Previously it was showing a message about a $5000 estimate being too high, and now that "preparations for years 11 versus 22 could become important". What's going on here @thsottiaux @embirico @ajambrosino
1
240
I'm increasingly convinced high purity quartz (HPQ) may be part of the strategic interest in Greenland and Canada. HPQ is critical to semiconductor manufacturing, particularly the crucibles used to grow silicon crystals. Global supply is overwhelmingly concentrated in Spruce Pine, North Carolina, where detailed reserve figures are closely guarded. How much is left? Good luck finding out. What do Greenland and Canada have in common? Quartz. Semiconductor crucibles require exceptional purity, typically 4N–5N (99.99–99.999% SiO2), with strict impurity limits. Greenland has ~6 million tonnes of estimated quartz at Ivittuut, with samples reaching ~3N purity. But with 80% of the island buried under ice and much of its geology underexplored, that may be just the tip of the iceberg. Its true HPQ potential remains largely unknown. In Canada it gets interesting. BC: Deposits at Mt. Rose and Armstrong have reportedly been successfully refined to 4N8 purity. Manitoba: An estimated 15 BILLION tonnes of silica in situ. Sio Silica reports approximately 540 million tonnes potentially recoverable, describes it as the world's largest deposit, and claims laboratory processing has achieved 5N purity. If even a small fraction of Canada's enormous silica resources can economically produce crucible grade HPQ, it's of extreme strategic value, especially given the unknown remaining reserves at Spruce Pine.
🇺🇸 “Trump says ‘MASSIVE’ oil, gas, mineral exploration to begin in Greenland.”
2
7
474
Reflowing some Infineon AS5047U magnetic position sensors to try out. I’ve used the D variant before which work very well, but high res needed SPI readout. These have SPI for config and angle readout plus PWM, UVW, and ABI outputs but this U variant has full 14 bit, 16384 count resolution on ABI. ABI is much more deterministic, lower latency with less overhead on an MCU with timers that support quadrature encoders in hardware, since you just need a single cycle read or a DMA trigger to get the angle. They also have angular velocity estimators, averaging filters, and dynamic angle correction DSPs that compensate for internal delays vs angular velocity
3
2
2
58
1,533
Locked the rotor on the motor, loaded R/L auto tuner graph to the firmware and it measures the windings at 39mΩ and 12uH
Next going to try this RC Novak 540 10.5T motor. It has hall sensors which I’ll hookup to the JST hall input of the board later, trying senseless BEMF first
2
1
1
13
770
4W on the DMM measures 20mΩ across to terminals, or 10mΩ per phase.. so the RL tuner didn’t do as well on this low turn motor.. I think because of FET resistance not being accounted. On the gimbal motor it was very close, but that came in at 8.6Ω
2
189
Next going to try this RC Novak 540 10.5T motor. It has hall sensors which I’ll hookup to the JST hall input of the board later, trying senseless BEMF first
Finished bringup of the STM32 G474 LMG5200 half bridge GaN 3 phase BLDC controller board. Testing using a small gimbal motor in FOC with sensorless BEMF observer feedback
1
2
1
65
1,993
The firmware is built around deterministic runtime graphs. Can switch between sensor feedback, sensorless control and different observers over CAN. Shared STM32 drivers support HRTIM and advanced timers; BSPs provide board mappings. Reconfigure, tune and save without reflashing.
Finished bringup of the STM32 G474 LMG5200 half bridge GaN 3 phase BLDC controller board. Testing using a small gimbal motor in FOC with sensorless BEMF observer feedback
6
6
134
3,310
Finished bringup of the STM32 G474 LMG5200 half bridge GaN 3 phase BLDC controller board. Testing using a small gimbal motor in FOC with sensorless BEMF observer feedback
Surface mount populated
14
20
2
404
16,546
"Compiling rust is slow"
Running cargo clean, then a release build and linking of a workspace with 14 member crates that depend on the heavy Bevy game engine with custom shaders using kache and dynamic linking. 17.8 seconds on a M3 MacBook Pro. This builds the CNC CAM software I've been working on for milling PCBs from Gerber/Excellon or KiCad board design files. Building without cleaning the workspace is even faster when iterating on the design.
1
267
Matt Thompson retweeted
Programmers were never necessarily engineers. I judge software by its outcomes, not how its syntax was produced. I care about architecture, performance, efficiency, stability, and usability. In my experience, those qualities are surprisingly rare. Developers often prioritize syntactic elegance while introducing unnecessary complexity. Codebases have also grown beyond what any individual can reasonably hold in their head, leading to duplication, fragmentation, and endless layers of abstraction. The paradox is that we keep introducing abstractions to reduce cognitive load, while collectively making the system more complex. I don’t particularly care whether a human or AI writes the code. I care whether the resulting system is well engineered. Engineering is about designing systems to meet a defined set of constraints, not pecking at keys on a keyboard.
1
7
165
My custom PCB CAM is running its first live job on the CNC.. Workflow is directly load a kicad PCB, panelize N boards, click generate, and run. It automatically selects the best tools from persistent ATC magazine loadout and generates toolpaths using available tools. It picks tools appropriate for isolation and will do rest machining only using the smallest tool where necessary. Picks endmills for routing, does inside contours for holes, outside contours for edge cuts. Ensures climb milling direction on material engagement. It is net aware and verifies the nets are isolated, generates an NC, uploads it to the machine, runs Z zero and 9x9 mesh compensation over the NC bounds, and runs the program. This brings 5-10 minutes of manual CAM setup and visual inspection of manufacturability (ensuring tools actually fit to isolate copper) down to seconds.
4
1
1
21
909
Surface mount populated
Finished up on the CNC.. time for paste and reflow on the @voltera_io
13
13
1
328
22,727
Finished up on the CNC.. time for paste and reflow on the @voltera_io
I still have a handful of the TI LMG5200 GaN half bridges on hand. They’ve been working great on my other boards so I decided to layout a 3 phase BLDC controller for my custom rust FOC stack. This will use a STM32 G474CET, with complementary HRTIM channels to three LMG5200s, a small buck for 5V, two bidirectional INA254’s inline with two of the motor phases for current feedback, and some JST connectors for either hall sensors or SPI/ABI magnetic encoders. Molex microfit 3.0 for power, and surface mount M4 screw terminals for the motor. And of course a CAN FD transceiver for C2 I just got some updated AS5047U magnetic sensors that have 4096 pulse/rev quadrature output that I’ll be trying out.. I’m excited for this since you used to have to get 12 bit angle over SPI, and ABI output was decimated to 10 bit on the previous revisions. ABI is connected to a hardware timer in encoder mode, so getting shaft angle is just a register read rather than having to schedule SPI transactions aligned with PWM.
1
2
62
12,441
I still have a handful of the TI LMG5200 GaN half bridges on hand. They’ve been working great on my other boards so I decided to layout a 3 phase BLDC controller for my custom rust FOC stack. This will use a STM32 G474CET, with complementary HRTIM channels to three LMG5200s, a small buck for 5V, two bidirectional INA254’s inline with two of the motor phases for current feedback, and some JST connectors for either hall sensors or SPI/ABI magnetic encoders. Molex microfit 3.0 for power, and surface mount M4 screw terminals for the motor. And of course a CAN FD transceiver for C2 I just got some updated AS5047U magnetic sensors that have 4096 pulse/rev quadrature output that I’ll be trying out.. I’m excited for this since you used to have to get 12 bit angle over SPI, and ABI output was decimated to 10 bit on the previous revisions. ABI is connected to a hardware timer in encoder mode, so getting shaft angle is just a register read rather than having to schedule SPI transactions aligned with PWM.
1
1
25
1,875
Added multiple PCB support in the CNC CAM app I've been working on. Loads native kicad_brd or gerber job manifests, auto arranges them onto defined stock and can export excellon and paste gerber for the whole panel so I can run multiple small boards at once on the Voltera
15
623