SCPI for Embedded Systems
Guide to integrating the SCPI-Parser library into embedded projects
Guide to integrating the SCPI-Parser library into embedded projects
A Python library for analyzing step and pulse responses, inspired by Matlab’s pulse and transition metrics.
Libraries and Custom Strong Types
A KiCad build tool with some surprising features
Integrate comments into a static site using Giscus and Github Discussions
Building an Appimage for Qt Application
List of primarily FDTD simulators with some resources and notes.
How to structure OpenSCAD projects for reuse and scalability, using OPENSCADPATH, Makefiles, and modular design to manage complexity.
Automate FreeCAD project exports with Makefiles using the freecad-make tool—ideal for multi-version mechanical assemblies and clean project organization.
Guide to installing and using OpenEMS FDTD simulator on Ubuntu with Docker
Comparison of tools for generating descriptive timing diagrams
How to wrap a Python CLI in a basic GUI and package it as a standalone Windows executable for firmware updating and field diagnostics.
Understanding KiCad’s origin and axis settings for scripting, plugins, and file exports
Improvements to the PCBA build environment
A quick note on contributing to KiCad 8, the improvements in the new release, and the contributor shirt that arrived to mark the occasion.
How to write a custom KiCad DRC rule to enforce JLCPCB’s minimum trace spacing requirement for boards with low copper coverage.
spreadsheet-wrangler is a command-line Python tool for merging, filtering, and transforming spreadsheet data — useful for BOM management and flat data processing.
Using vectors as pseudo-objects in OpenSCAD to write polymorphic, generic algorithms — a practical pattern for more maintainable parametric designs.
A practical approach to preparing SVG files exported from OpenSCAD for laser cutting, including direct XML manipulation to fix common export issues.
pyetest is a Python library for pass/fail electronics test scripting, using spreadsheets as test definitions to reduce custom code and simplify automated test setups.
Hard-won lessons for writing reliable MCU device drivers — the setup process, debugging methodology, and habits that prevent time-wasting bring-up mistakes.
How to reliably identify multiple identical FTDI USB-to-serial adapters in a test jig using udev rules and device serial numbers.
Evaluating the best library for fixed point algorithm development & testing
kicad-parts-placer automates exact batch placement of components in KiCad layouts using centroid files — ideal for test fixture pogo pins and mounting holes.
An Exploration of Timing Diagram Tools
object-symbols-parser is a CLI tool for analysing ELF symbol tables, helping identify what’s causing section size overruns in embedded firmware builds.
How to use the KiCad PCBNew scripting API outside the built-in terminal, loading boards with LoadBoard and enabling proper unit tests for PCB plugins.
When to move reference designators off the silkscreen onto the fabrication layer in tight KiCad designs, with a Python script to automate the cleanup.
An introduction to the Rich Python library for terminal output — tables, live displays, and clean formatting that makes scripts easier to use.
Generating Beautiful Jupyter Notebook Reports
A curated list of technical blogs, news sites, and RSS feeds covering analog design, embedded systems, optics, PCB, and software engineering.
Overview of device control approaches for embedded systems, covering Python-based hardware interfaces and design patterns.
A device control dashboard for embedded systems, bringing together Python UI tools for hardware monitoring and control.
Recommended directory structure and setup for embedded firmware projects, with an example layout for clean organization.
In-System Programming Library for NXP M0s