Stephan Bökelmann

Engineer, physicist & freelancer. Researcher at RUB. Writing about DAQ, embedded systems, and manufacturing — usually one post per week. Available for freelance FPGA, PCB and DAQ projects.

Full bio →

Stephan Bökelmann

aka MaxClerkwell · 施泓杰

Embedded Systems Architect (DAQ, FPGA, PCB). From tape-out to TypeScript. Bochum.


Why a LUT Is Programmable: Twenty Transistors, Sixteen Functions

A LUT does not compute a logic function, it looks one up. Building a two-input LUT from 20 MOS transistors shows why that distinction is the whole reason an FPGA can be reprogrammed.

A Naive Comparator: Two NPNs, One PNP, and a SPICE Simulation to Prove It

A follow-up to my flash-ADC Instagram video: how NPN and PNP transistors work, how a differential pair built from two 2N3904 and a 2N3906 output stage turns into a comparator, and what the ngspice simulation in the accompanying repo shows plot by plot.

open.cob.json: One File Between the Chip Designer and the PCB Designer

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.

ALINX AX7020, Stage 5 Complete: Cold Power-On to a Bitstream API, Nobody Logged In

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.

ALINX AX7020, Stages 4 & 5: An Open Bitstream Over REST, and the One Missing Line That Hangs Both Cores

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.

KiCon Europe 2026: Trip Report without the Trip

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.

Counting Raindrops with a Capacitor: The 25square Sensor, Its STM32, and the Patent Behind It

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.

skAInet Edge-Compute: The Box We Kept Rebuilding Now Has a Product Page

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.

ALINX AX7020, Stages 2 & 3: A Yocto Linux in QSPI Flash That Fetches Its Own Updates

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.

ALINX AX7020 Bring-up: Mainline U-Boot Over JTAG, No FSBL, No Serial Cable

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.

Deploying Hardware Like Software: A Bitstream Pipeline for the Zynq

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.

Why Does Copper Conduct? A Tour for Non-Physicists

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.

Digital Communication: Getting a Thought Out of One Head and Into Another

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.

Dual Uplink, Part Two: From Failover to Load Balancing (and the Two Bugs That Broke It)

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.

From Bitstream to Idea: An Inverse Guide to FPGAs

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.

Correlation, Causation, and the Overton Window That Only Shrinks

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.

What AI Actually Is

Running a chat model is not AI. The training process is. Everything else follows from that distinction, including where the human niche survives.

From the UAT to the Modern Neural Network

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.

From Aristotle to the Bit

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.

How Monolatry Shapes My Worldview

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.

Post the Wrong Answer. You'll Learn More.

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.

Zero to One: Python Libraries, Environments, and Working Like You Mean It

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.

WTF are FPGAs: A Beginner's Overview of Field-Programmable Gate Arrays

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.

A Hill I Am Willing to Die On: HDL for PCB Netlists

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.

Physics Doesn't Explain Anything. And That's the Point.

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.

You are leaving maxclerkwell.tech

Continuing to

The link opens in this tab. Your browser's back button brings you back here.

Continue →