Code
My open-source work, libraries, and older noteworthy projects
Looking for my apps? The current catalogue — each with its own product page — lives on the Apps page. This page is about the code underneath: the libraries I maintain and the open-source projects I’ve been part of over the years.
Current open source
A range of small, sharp, single-purpose tools and libraries I maintain on GitHub — most grown straight out of my own day-to-day work, and useful within seconds of cloning.
Automotive & CAN
Most of these came out of building CANcorder and ECUmulator Studio.
- LTSupportAutomotive — The OBD2 / VIN-decoding library at the core of OBD2 Expert, released under the MIT license so other developers building for iOS, macOS, or watchOS can reuse the low-level groundwork. (Objective-C)
- mcanbus — High-performance SocketCAN bindings for Linux, plus an MCP server that exposes the CAN bus to AI agents. (Rust)
- mcangen — A high-performance CAN bus frame generator for testing and benchmarking. (Rust)
- mcandump — A CAN bus logger proxy that forwards SocketCAN traffic to CANcorder over the ECUconnect Logger protocol. (Rust)
- canconf —
canconf / canmon / cantalk: three zero-dependency Python tools for reconfiguring, health-monitoring, and talking to SocketCAN / CAN-FD interfaces from one terse command. (Python)
- j2534-bridge — An out-of-process J2534 PassThru bridge for cross-bitness DLL loading and fault isolation. (Rust)
- Jester — A J2534 DLL tester for Windows, for exercising PassThru drivers without a full diagnostics stack. (Rust)
- core-bluetooth-tool — A Bluetooth Low Energy command-line tool for macOS: scan, connect to, and inspect peripherals straight from the terminal. (Swift)
- lsaudio — Who’s making noise? List — and kill — the processes currently playing audio on macOS. (Swift)
- lsusd — List USB serial devices together with their associated USB metadata. (Python)
- swift-repl — Launch a Swift REPL preloaded with the modules from your local Swift packages. (Shell)
- ImpossiBLE — A BLE proxy that finally makes CoreBluetooth work inside the iOS Simulator. (Swift)
- Cornucopia — My Swift toolbox of building blocks — streams, networking, persistence, SwiftUI components and more — that quietly powers apps like CANcorder, CarLab and SunDog. (Swift)
- SwiftYapDatabase — The venerable YapDatabase, packaged up as a modern Swift Package. (Objective-C)
- FoundationBandAid — Patches for some of the biggest gaps in swift-corelibs-foundation. (Swift)
Embedded (ESP-IDF)
- esp-microsleep — A drop-in replacement for FreeRTOS
vTaskDelay with sub-tick granularity. (C)
- esp-hpl — High-performance logging for ESP-IDF. (C++)
Older Projects
- Between 2007 and 2011, my main project was the special interest middleware freesmartphone.org. Here is the code.
- Between 2002 and 2006, I worked on software for mobile and embedded devices, in particular
- Opie, a C++-based smartphone and PDA environment using Qt/Embedded – Code,
- OpenSIMpad (free software for the SIEMENS SIMPad device family),
- OpenEZX (free software for the MOTOROLA EZX Linux smartphone family),
- OpenZaurus (free software for the SHARP ZAURUS Linux PDA family), and – last but not least –
- OpenEmbedded – the award-winning build system for embedded devices, which later was used to build Yocto – Code.
- Between 1985 and 1990, most of my programming activities happened on the Commodore AMIGA. This phase was so important that it deserves a dedicated AMIGA page.