42 articles on things that get built and measured: FPGA and embedded bring-up, PCB and chip-on-board, data acquisition, Linux and networking. Newest first. The essays live under Thoughts; all posts together are also one list. Feed: feed-tech.xml.
For years I kept my chip-on-board bonding notes in private JSON files. A conversation with wafer.space made me publish them as a format. This is the story of the decisions that were hardest to make: none versus unspecified, why pad shapes are their own files, and what a real padframe taught the parser.
The open bitstream pipeline for the ALINX AX7020 is finished: power on, the maintenance Linux in QSPI fetches the full image from a company-internal URL, kexecs into it, systemd starts the FastAPI service, and a curl loads a Yosys/nextpnr bitstream into the FPGA. No SD card, no vendor tool, no hand on the board; plus the detours, including a JTAG adapter that quietly powered the flash chip through a power cycle.
Stages 4 and 5 of the open bitstream pipeline: a Yosys/nextpnr bitstream loaded into the ALINX AX7020 through the kernel's FPGA manager, a kexec updater that finally runs, and a FastAPI service that accepts bitstreams over HTTP, all without a single vendor tool; then the detours, including a PL design that silently drowned both Cortex-A9 cores in FIQs.
Three days of KiCon Europe 2026 at Gleis 9 in Bochum from the organiser's chair: KiCad 11 previews from Wayne Stambaugh, ngspice 47, open source test rigs, rigid-flex in space, a browser KiCad I am not sold on, and Seth Hillbrand's eight-hour training. Plus what changes for 2027.
How Auto-Intern built the street-level rain sensors for the 25square heavy-rain nowcasting project: a capacitive impact plate instead of a piezo, an STM32 with lwIP over PoE, a LoRa variant for the lampposts, and the jointly held patent DE 10 2020 119 488 B4 with Okeanos.
Auto-Intern's skAInet Edge-Compute is now a product with its own site: a sealed M12-PoE switch, router and 8-core Linux compute module for industrial edge data acquisition. What it is, where it came from, and where I fit in.
Stages 2 and 3 of the open bitstream pipeline: a self-built Yocto Linux for the ALINX AX7020, resident in QSPI flash, discoverable on the company network, key-only SSH: the walkthrough that works, followed by the nine detours it took to get there.
Stage 1 of the open bitstream pipeline: putting mainline U-Boot on an ALINX AX7020 over JTAG and Ethernet only: a clean walkthrough of what works, followed by the nine detours it took to find out.
Alinx sent me an AX7020 board. Here is the plan: an open-source path from JTAG bring-up to a REST API that accepts a bitstream and loads it onto the FPGA, no vendor tools in the loop.
Copper conducts, diamond doesn't, yet both are packed with electrons. A walk from single atoms to energy bands that explains why, ending with a back-of-the-envelope number that lands within ten percent of the measured conductivity of copper.
Communication has one job: move the internal state of one system into another. This is a walk from a thought in your head to a wave on a wire, through the four sides of a message, a water canal, a push-pull driver, Shannon's channel, and the eye diagram that measures it all.
The follow-up to our dual-uplink failover setup: weighted multipath load balancing, source-based policy routing, pinning a host to one link, and the two persistence bugs that silently killed it on every reboot.
The ghdl-yosys-nextpnr toolchain for an iCE40, walked backward: starting from a blinking LED and tracing every transformation back to the idea that caused it.
Running a chat model is not AI. The training process is. Everything else follows from that distinction, including where the human niche survives.
We have the bit. Now the question is what we can compute with it, and whether a machine can learn to compute things nobody explicitly programmed. The answer runs from Hilbert through Turing to a theorem most engineers have never heard of.
The bit did not fall from the sky in 1948. It is the last step in a chain that starts with a Greek philosopher arguing about sea battles and ends with Claude Shannon measuring surprise.
You do not have to write everything from scratch. Python has thousands of libraries. But the way you pull them in matters, and most introductions get that part wrong.
FPGAs are not microcontrollers with more pins. They are a fundamentally different category of IC, and understanding what lives inside one changes how you think about digital hardware entirely.
Schematics are not where PCB design should start. Netlists should be generated from a structured hardware description language, and that changes everything about how AI fits into the picture.
Chicago, April 2019: the first KiCon ever, organised by Chris Gammell at mHub. A week of hackerspaces, breakfast burritos, KiCad workshops and the moment the idea of a KiCon in Germany was born. Republished unchanged from my old Blogspot.
The Practical Data Science Congress (PDSC4K) in Bochum proved that small, deliberately compact events can deliver more signal than most large conferences — especially when the real topic is the messy reality of getting data from the physical world into models that don't lie to you.
You do not need to write a single line of C to talk to a microcontroller. With OpenOCD and a telnet connection you can toggle GPIO pins directly from your terminal — and that is exactly how we build a blinky on an STM32F303K8 Nucleo-32.
A first-principles walkthrough of using Geant4 to simulate how much energy an antiproton deposits in a thin HV-MAPS silicon sensor — including a hand-worked Bethe-Bloch example, the Landau distribution, and why this matters for detector design before you ever see a beam.
A complete walkthrough of writing VHDL, simulating it with GHDL, and flashing a blinking LED onto a Lattice iCEstick — from zero assumptions to a physical result.
How to forward X11 through a bastion server to display images and plots from a home machine on a university workstation, without copying files.
Auto-Intern GmbH turns 25. This is the story of how it started: two kids in a bedroom, a GTI, an RS-232 adapter, and the accidental invention of a market.
I spent a day building a Dockerized Telegram bot that turns voice messages and scattered thoughts into a structured journal, Obsidian topic notes, and a compiled LaTeX memoir — and what I learned about LLM APIs along the way.
Enclosureless Cases: a patented approach to PCB housing where three stacked PCBs form a sealed, EMC-shielded enclosure using a perimeter solder joint — no injection moulding, no tooling, no separate supply chain.
Why we never expose a database directly — how to layer FastAPI, Keycloak, and PostgreSQL for clean access control, testable endpoints, and a stable client interface.
Relational algebra cannot express recursive queries — here is why transitive closure is outside the algebra's scope, and what SQL's WITH RECURSIVE actually means.
Why relational databases exist — a teaching practicum that makes students feel the pain of querying 120 CSV files with shell tools before showing them SQL. Imperative vs. declarative, made concrete.
Practical guide for engineers flying to China with professional electronics — ATA Carnet process, Frankfurt customs, Guangzhou departure, apps to install, and a full pre-trip checklist.
CE, FCC, and CCC certification in Dongguan — four days at NTC test lab with a PoE-based reflow oven monitoring system after 2.5 years of development. What we tested, what we found, and what the anodized housing almost cost us.
Ten years of attending and organising technical conferences — what they're actually for, why the hallway track beats the programme, and how emBO++ grew from four people to 250. Lessons from Meeting C++, KiCon, GSI, and ISO C++.
How to set up dual uplink failover for an office network using Linux routing, Starlink, and metric-based default routes — with a Python dashboard to monitor both links in real time.
How we built a non-contact PoE power monitor for DB Netz railway switching stations — ten years of E-field sensing, embedded ferrite cores, EMC certification, and the hardware lessons that shaped everything since.
Before opening KiCad, create a README and let an LLM generate a PlantUML block diagram. Why writing design intent first prevents costly PCB mistakes — with a worked STM32F7 example.
How a governor's reception in Montana led to a year of instrument development with Montana State University — building a portable EIS datalogger for biofilm detection and deploying it in the Clark Fork River.
Talk at KiCon Asia 2025 in Shenzhen on wire bonding CLICpix and MuPix detector chips — two years of hands-on bonding with a Delvotec, condensed into 25 minutes. Slides and video included.
OmnAIScope is an open-access USB oscilloscope for automotive diagnostics, built on RP2040 with multi-channel USB synchronisation — no hardware trigger needed. How it works, the server architecture, and where to get it.
Stephan Bökelmann writes about monitoring systems, embedded engineering, ASIC development, and university-level programming — from silicon to frontend. First post: what this blog covers and why.
KiCon Europe 2024 in Bochum — 150 engineers and designers, KiCad lead developers Wayne Stambaugh and Seth Hilbrand on stage, talks on open hardware, PCB design, and KiCad development. Full recap and YouTube playlist.
You are leaving maxclerkwell.tech
The link opens in this tab. Your browser's back button brings you back here.