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

British Columbia, Canada
Joined August 2013
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
403
16,543
"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,724
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
Here's an edge at the SW node when it transitions from the low side turning off to high side turning on. Blue trace is the PWM HI input of the GaNFET. Green trace is the SW node at the inductor. The STM32 HRTIM hardware is configured to about 5ns of deadtime on the complementary outputs, which has some propagation delay. The roughly 10 ns negative interval occurs while both GaNs are off. The inductor current must continue flowing, so it pulls the SW node negative through third quadrant conduction until the high-side FET turns on. GaNs do not have a body diode like a MOSFET, and reverse voltage is higher.. in this case nearly -5V. On the spectrum analyzer with a near field probe sitting over top of the hot loop, you can see the energy of the ringing at around 180MHz.
Going to see if I can pull off a CNC machined digital SMPS using an STM32G474 and LMG5200 GaN half bridge as a power distribution board for my hobby robot. The GaN stage will be driven by the G474's HRTIM, with ~184 ps (~5.44 GHz equivalent) timing resolution. Inductor current is measured with a 4 terminal kelvin shunt (much more reliable on CNC boards, as kelvin is internal to the resistor) and high side INA sense amp, feeding both an ADC and an on chip comparator. Planning to run peak current-mode control.. an internal DAC set by the outer voltage loop defines the cycle by cycle current threshold on the comparator, which asynchronously terminates the PWM pulse through HRTIM hardware. The outer voltage loop will use the G474's FMAC accelerator for 3P3Z IIR compensation from a voltage divider buffered using an internal opamp follower routed to another ADC channel. Also connected to a comparator for HRTIM fault events for fast hardware based over voltage lockout. Includes a INA254 bidirectional sense amp with integrated 400uOhm shunt for monitoring battery current. Added CAN bus to broadcast voltage, current and status telemetry across the platform.
1
27
1,119