Bare-metal MCUBoot Port on Renode
Setting up a bare-metal port of MCUBoot on an nrf52 and simulating in Renode
Setting up a bare-metal port of MCUBoot on an nrf52 and simulating in Renode
A Python library for analyzing step and pulse responses, inspired by Matlab’s pulse and transition metrics.
A KiCad build tool with some surprising features
Quick guide to using KiCad, kicad-xyrs, and kicad-make with MacroFab for PCB assembly.
Electronics Design Automation (EDA) Build Tools
List of primarily FDTD simulators with some resources and notes.
Parametric Electro-Magnetic Optimization Workflow with OpenEMS, Docker, and Python
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.
How to wrap a Python CLI in a basic GUI and package it as a standalone Windows executable for firmware updating and field diagnostics.
Improvements to the PCBA build environment
The KiCad Testpoints PCM plugin generates test point reports directly from KiCad — filling a gap that most EDA tools handle poorly or not at all.
spreadsheet-wrangler is a command-line Python tool for merging, filtering, and transforming spreadsheet data — useful for BOM management and flat data processing.
Solving the 2D rectangle packing problem in Python using the rectpack library, with OpenSCAD for visualizing layouts and generating CNC tool paths.
Using vectors as pseudo-objects in OpenSCAD to write polymorphic, generic algorithms — a practical pattern for more maintainable parametric designs.
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.
How to use FreeCAD’s Python scripting interface from an AppImage installation, including setting up the environment to call FreeCAD functions from outside the GUI.
Improved mechanical workflow
Writing a KiCad Makefile
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.
Getting useful I2C and SPI debug capability from a $10 FX2 logic analyzer using Sigrok — a portable option when away from the lab.
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.
Why Jupyter notebooks are the right tool for photon budgets and optical feasibility analyses, with a practical silicon thermopile measurement example.
Generating Beautiful Jupyter Notebook Reports
In-System Programming Library for NXP M0s