Open Source Software

Short summaries of some open source software I've worked on. Most of these are at github.com/aewallin

KiCad

Some contributed symbols and footprints are listed in this blog.

TIASim

Transimpedance Amplifier Simulation, for predicting noise and bandwidth of photodetectors based on op-amp transimpedance amplifiers. https://github.com/aewallin/TIASim

AllanTools

https://github.com/aewallin/allantools
AllanTools is an LGPL-licensed python library for calculating time&frequency related statistics such as Allan deviaton. The core algorithms are around 1200-lines of python. Many tests and comparisons against e.g. Stable32 are included.

OpenVoronoi

https://github.com/aewallin/openvoronoi
OpenVoronoi is an LGPL-licensed C++ library with python bindings for calculating the Voronoi-diagram from point, line, and circular-arc input geometry. It uses the Sugihara-Iri topology-oriented approach for robustness. Around 10 klines of C++ and another 10 klines of python.

OpenCAMLib

https://github.com/aewallin/opencamlib
OpenCAMLib is an LGPL-licensed C++ library with python bindings for generating 3D machining-toolpaths based on STL input geometry. The core algorithms are "cutter projections" i.e. they push a defined cutter-shape into contact with the 3D model (a bunch of triangles). A lot of inspiration take from the freesteel blog. Around 13 klines of C++ and 10 klines of python.

PPP-Tools

https://github.com/aewallin/ppp-tools
Python scripts for Precise Point Positioning calculations from based on RINEX input files from GNSS receivers. In particular for PPP time transfer.

Cutsim

https://github.com/aewallin/libcutsim
A cutting-simulation engine based on an adaptively subdivided octree. C++ with python bindings and VTK visualization.

RandomPolygon

https://github.com/aewallin/randompolygon
A C++ and python wrapper for the CGAL 2-opt random polygon algorithm. For generating random 2D polygon geometry, e.g. for testing OpenVoronoi.

TrueTypeTracer

For generating geometry from fonts. https://github.com/aewallin/truetype-tracer