- vxi_proxy: Proxies SCPI, MODBUS, and USBTMC (and more) into VXI-11 compatible devices.
- vxi_dash: A monitoring and state-machine-based control system for VXI-11 devices (or any devices supported by
vxi_proxy).
- umdt: Universal Modbus Diagnostic Tool — a Python toolkit for diagnosing, simulating, and bridging Modbus RTU/TCP devices. Includes an interactive CLI/GUI for reading/writing registers and probing networks, a configurable mock server with fault injection, and a soft-gateway bridge with PCAP logging. Ships with Wireshark Lua dissectors for easy packet analysis. (AGPL-3.0)
- fy3200s: A small Python
PySide6 GUI and protocol wrapper to control the FY3200S two-channel function generator over a serial ASCII protocol. Features channel configuration, triggers, sweeps, measurement polling, and an arbitrary waveform editor. Includes a description of the FY3200S protocol.
Hardware interface
- tf-luna: Arduino sketches and example code for interfacing the TF-Luna LiDAR sensor (I2C and UART). Includes
TFLuna_I2C.ino and instructions for wiring and testing distance measurements with an Arduino. (MIT License)
Protocol references
- device_protocols: Curated notes on command sets, pinouts, and interface quirks for various electronic test instruments (oscilloscopes, multimeters, signal generators, supplies, etc.). Browse the rendered reference at kbralten.github.io/device_protocols. (MIT License)
- gerber_to_svg: Convert Gerber PCB files into clean SVG vector paths (and optional PNG exports). Supports drill file inclusion, polarity-aware rendering, and contour tracing (uses
pygerber + OpenCV). Useful for vector output for CNC or laser engraving or previewing PCB copper/outlines for documentation. (AGPL-3.0)
- gerber_to_gcode: Excellon (drill) → G-code converter for CNC. Parses Excellon drill files, supports metric/imperial and zero suppression modes, and chooses drilling vs spiral milling strategies depending on hole size. Optional arc/helical interpolation (
--use-arcs) produces much smaller G-code and the script is configurable for bit size, depth, feed rates, and safe heights. Ideal for turning PCB drill files into safe, ready-to-run CNC G-code. (AGPL-3.0)
- gerber_cnc_gui: GUI for automating calls to
gerber_to_svg and gerber_to_gcode. Given a top, bottom, outline, and drill file it creates two SVGs for top and bottom and a gcode file for routing and drilling.
- gerber_tool: A modern, browser-based Gerber file viewer and converter. Features a drag-and-drop interface for
.gbr, .drl, and .zip archives, smart layer management with automatic color assignment, and an interactive canvas. Supports exporting boards to clean, consolidated SVGs with merged polygons. Try the interactive web tool. (AGPL-3.0)
KiCad
- kicad_excel: The KiCad Excel Bridge is a .NET 9 WPF application designed to facilitate the integration of KiCad with Excel/CSV files. It provides a tray application with an HTTP API for managing and mapping fields between KiCad and Excel/CSV data. The application includes a user-friendly field-mapping UI and supports per-sheet settings for flexible configuration.
- KiPIDA: Ki-PIDA (KiCad Power Integrity & Delivery Analyzer) is a native KiCad 9.0+ plugin for DC Power Integrity (PI) analysis. It enables PCB designers to simulate voltage drops (IR drop), current densities, and thermal rise directly within the KiCad environment. Key features include power tree management, a hybrid 2.5D solver, and visual heatmaps. (Currently in Alpha status).
FPGA
- The Pynq Learning Journey and Loopback Project: This project documents the complete path from using the PYNQ-Z2 board within the friendly, Python-based PYNQ ecosystem, to mastering it as a generic Zynq-7000 development board. It features the Loopback Project, a multi-step tutorial where to build a single, cohesive system that touches every layer of the embedded stack.
- The PynqPi Project: A “RaspberryPi like” Debian-based GUI Linux image for the Pynq Z2. Both a set of end-to-end steps to follow for “no magic” as well as a completed artifact.