Engineer, physicist & freelancer. PhD candidate in experimental particle physics at RUB. Writing about DAQ, embedded systems, and manufacturing — usually one post per week.
aka MaxClerkwell
From tape-out to TypeScript.
Latest Posts RSS
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.
Everyone knows the first half of the aphorism. The second half is where the actual thinking happens, and I think the reflex to stop at the first half is doing something worse than being lazy.
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.
From polytheism as a map of the inner life, through the slow emergence of the individual voice, to the moment one god is raised above the rest, and what that means for how I actually live.
Cunningham's Law says the fastest way to get the right answer online is to post the wrong one. I've been doing this accidentally for years, and I think there's something serious underneath the joke.
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.
My high school teacher told me physics explains the world. Years later I think that's completely wrong, and understanding why changes everything about how you approach the subject.
Kant draws a sharp line between acting from your own reason and acting from external pressure. But where does your reason actually come from? An exploration of autonomy, heteronomy, archetypes, and the slow work of building a self you can stand behind.
What is the real difference between physics, mathematics, and engineering — and how do you choose the right degree? A personal account from someone who studied all three.
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.
What does consciousness mean — and where on that spectrum do beetles, dogs, humans, and language models sit? No final answers, but an honest attempt to think the question through.
A colleague called it 'useless math but super fun.' I objected. Conway's Game of Life connects self-replicating machines, Wolfram's computational irreducibility, and the unsettling possibility that entropy is not just disorder — it is the universe refusing to be calculated.
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.
Why we build monitoring systems — the case for industrial automation as human liberation, retrofit over greenfield, and why the sensor is the critical missing link between AI and the physical world.
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.