schilk happens



Projects

Fets & Crosses


A game of Knots-and-Crosses (Tic-Tac-Toe) built from 2458 individual mosfets, featuring both player-vs-player and player-vs-computer modes.

PmodADC


A fully discrete 14bit, 41kHz, FPGA-controlled successive-approximation audio ADC and R2R audio DAC.

psMCU


An 8-bit, 1MHz processor built from individual logic and memory ICs, featuring a custom ISA, peripheral interface, USB programmer and macro assembler.

ETH Zürich Embedded Systems


A full practical university-level embedded systems course based on a custom hardware platform and tooling running annually at ETH Zürich with 250+ participants.

VitalCore


A self-contained, miniaturized, BLE-enabled embedded platform for low-power, wearable, and hearable applications.

RadarBud


A low-power in-ear hand-gesture recognition system based on 50GHz mm-wave radars, efficient spatial and temporal Convolutional neural networks, and an energy-optimized hardware design.

VitalPod


An in-ear multi-vital sign monitor that measures heart rate, blood oxygenation (SpO2), and skin temperature.

Tonbandgerät


A small embedded systems tracer with support for bare-metal and FreeRTOS-based targets. Targets the Perfetto trace viewer.

PATCH-IT


A modular chest-patch with integrated PPG, ECG, bio impedance, body temperature, and seismocardiographical sensors.

74-Series SAR-ADC


A fully discrete 8bit, 300Hz, successive-approximation ADC controlled by a 74-series logic gate state machine.

SYS Step Attenuator


A 127 Step Audio Relay Step-Attenuator and 4-way input switcher designed to fit into a Schiit SYS enclosure.

VacTool


A simple manual SMD pick-and-place pen.

Fume Extractor Mod


A small mod board to control a Knokoo fume extractor with a pedal.

BLELog

A simple python BLE data logger which receives, decodes, stores, and plots characteristic data in real time.

WS2812B SPI Driver

A simple but flexible, unit-tested, cross-platform library to communicate with WS2812B-style LEDs using an SPI peripheral.

Recent Blog Posts

Working with external warnings and diagnostics in NVIM.

Tuesday, 20 January 2026    Tags: nvim, rtl

Compilers and tools in the VLSI and RTL world often produce a very large number of warnings and errors when run. I was interested in being able to quickly see all and navigate these diagnostics directly in (Neo)Vim.

This is easily achievable using the :make command and compiler plugins, or by manually generating diagnostics with a lua script.

Read More...

Managing project-specific NVIM configuration.

Monday, 19 January 2026    Tags: nvim

While my neovim configuration works out of the box for most of my projects, I have increasingly encountered situations where I need to adjust certain aspects on a per-project basis.

As with anything related to neovim configuration there are about 50 different ways this can be achieved, and because neovim is usually configured with executable code instead of declarative config files, a few gotchas that might not be immediately obvious.

Read More...
More Posts ...